• 猫头鹰波波
    2020-02-08
    老师,为什么ECDHE更难破解么,是因为离散的点选取更具备随机性吗

    作者回复: 这是由椭圆曲线的特性决定的,具体的数学理论我也不是很了解,无法解释的更细。

    
    
  • 方忻生
    2020-02-08
    刚才看了下RSA验证签名的过程(https://crypto.stackexchange.com/questions/12768/why-hash-the-message-before-signing-it-with-rsa),我觉得DH算法本身是可以用来验证数字签名。比如双方已经完成了DH秘钥交换过程,
    签名方发送 text + DH-enc(sha256(text)),其中DH-enc(sha256(text))是对text进行hash算法然后DH加密
    验证方 用DH-dec解密签名,然后和sha256(text)比较,相等就说明验证通过
    只是DH一般用在双方确定身份以前,验证没有身份的签名并没有什么意义。
    展开

    作者回复: 嗯,如果用变通的方法也是可以做到的,但意义不大,属于“曲线救国”。

    
    
  • mark
    2019-10-21
    DH算法是选择一个数字作为私钥,hash好像不可逆,如果类似hash这样的算法,生成一个整数,是不是就可以用DH算法加密文本了。

    作者回复: DH算法只能用于密钥交换,这种思路有点接近DSA算法。

    
    
  • 许童童
    2019-10-13
    回答一下思考题:我觉得原因是,根据DH算法的原理,只能算出一个新的值出来用于交换密钥,而数字签名是需要解密数字证书得到数字签名,从而判断数字证书是否真实有效。DH是基于现有数据算出一个新值,公钥私钥算出的结果并不相同,RSA是对数据进行加解密。

    作者回复: 有部分不太准确。

    数字签名与证书没有直接关系。数字签名是对原文摘要的私钥加密,用对应的公钥解密后可以比对摘要,验证确实是私钥持有者做的加密,也就是签名。

    证书是为了保证公钥不被伪造和有效性。

    DH算法里没有原文、摘要这些参与者,所以无法生成签名。也就是说,给出一份文件或者摘要,dh算法无法对它进行任何操作。

     1
    
  • 饭团
    2019-10-11
    老师问题是不是是因为DH算法是动态的!即2个参数是相辅相成的,而数字签名中,公钥是不变的!

    作者回复: 不是,可以再看一下dh算法的过程,它不能对一段文本的摘要做加密,无法生成签名,只能双方交换得到共享秘密。

     2
    
  • 饭团
    2019-10-11
    真棒老师,估计好多同学都不知道您更新了!谢谢您了!

    作者回复: 是啊,好像缺少这个更新通知的功能。

     1
    
我们在线,来聊聊吧