/>我对此有一些疑问:
这个数字是否在任何地方指定?我尝试用十进制和十六进制对它进行谷歌搜索,希望能在NIST文档中的某个地方找到它,但是却找不到它。
为什么选择这个特定数字?我知道Diffie-Hellman需要素数模数,并且它应该足够大以防止某些分解因数攻击,并且它也应该是安全的素数,也可以防止某些因数分解攻击,但是具有这些性质的数字很多。这个数字是任意选择的,还是有其他选择标准?
这个数字是否用于Diffie-Hellman之外的其他事物,例如RSA或椭圆曲线算法?
#1 楼
这个数字是否在任何地方指定?
在此RFC中已正式将其指定为1536位MODP组(尽管其使用早于RFC)。但是,从我看到的结果来看,同一文档中的2048位MODP组实际上更受欢迎。
这是一个安全的条件;另外,前64位和后64位均为1。
(大多数)中间位来自$ \ pi $的二进制扩展;这样做是为了证明这个数字并不是出于暗中考虑而选择的;
Richard Schroeppel创建了用于选择此号码的过程;我对此的最早参考文献是RFC,附录E
这个数字是否用于Diffie-Hellman以外的其他东西?
否据我所知;作为众所周知的素数,它不适用于RSA,并且太大而无法真正用于椭圆曲线。而且,由于它没有中等大小的子组,因此对于DSA来说效果不佳(因为签名会远远超出要求)。它适用于El Gamal和IES,但实际上是Diffie-Hellman在公共密钥加密上下文中重复使用。
评论
$ \ begingroup $
这与NIST有什么关系?我在该文档中看到的NIST唯一提及的是无关的内容(有关AES的内容)。
$ \ endgroup $
– Elias Zamaria
16年5月9日在20:40
$ \ begingroup $
@EliasZamaria:并非如此-该组最初是由IETF创建的,用于IKE(Internet密钥交换)。 NIST没有参与。此外,NIST非常希望使用大小为2048或3072位的MODP组,因此NIST“喜欢”此特定的1536位组的说法有些过于热情...
$ \ endgroup $
–雨披
16年5月9日在20:50
评论
我不知道#1和#2(->没有完整答案),但是我可以说您不能将这个素数用于ECC,因为它对于那种用例来说太大了(除非您变得超级疯狂)而且您偶然在RSA中使用它的机会微不足道,并且由于它是众所周知的,所以您不会故意使用它。如今,没有您无法检测到的对(有限域)组参数的已知攻击(只需检查它是否是安全的素数即可)。