Wikipedia说,参考了NIST在FIPS 186-3中正式推荐的椭圆曲线: 。对于每个素数字段,建议使用一条椭圆曲线。


其他加密算法会立即熟悉前四个位的大小,但是521似乎很奇怪。 Wikipedia甚至包括一个脚注,以确保读者输入的内容不是错字:但是,最后一个值是521,而不是512位。如果是这样,那是什么?或者,如果不是,为什么选择了521?

评论

我猜$ 2 ^ {521} -1 $是素数太好了,无法超越。

我确实知道,虽然使用不在字节边界上的键并不是一件有趣的事情。 Brainpool曲线的设计使其在字节边界上具有所有参数,包括为512位密钥大小定义的最高曲线。

这种形式的素数$ 2 ^ n-1 $被称为梅森素数。

#1 楼

我非常怀疑这与$ 2 ^ {521} -1 $是质数这一事实有关。前一个类似的素数是$ 2 ^ {127} -1 $,下一个类似的素数是$ 2 ^ {607} -1 $,因此它们很少见。与没有类似形式但大小相同的素数场相比,在这种场上执行椭圆曲线运算的速度可能要快一些。如果在椭圆曲线对数查找中没有突破,则521位坐标分量将完全失效。如果有适当的突破,则不能保证521位就足够了。
当尺寸成为系统设计的一个因素时,往往会使用椭圆曲线。很难想象要使521位曲线顺序有意义才必须执行哪种约束。

评论


$ \ begingroup $
在我看来,就像说AES 256位比AES 128算是过分的。例如,521位曲线上的ECIES可以用于公钥加密系统。 IMO,相当合理的约束。
$ \ endgroup $
– Erik Aronesty
18年11月21日在20:51

$ \ begingroup $
与edwards448相反,E-521是过大的,这就是CFRG为什么采用RFC 7748而不是edwards448而不是E-521的原因:edwards448获得的安全级别比edwards25519高得多,比已经获得的更高edwards25519的128位安全级别很高,它将需要进行密码分析突破,以使差异具有任何意义,并且性能要比E-521高得多。但是AES-256实际上达到了标准的128位安全级别,而AES-128则没有。
$ \ endgroup $
–吱吱作响的s骨
19-04-27在13:51