在实现和测试我自己的EdDSA程序时,我发现旧的RFC7748为old 448/Edwards448 448提供了错误的参数。
如果这一点得到澄清,目前有一项新的草案:
https://datatracker.ietf.org/doc/draft-ietf-lwig-curve-representations/ (第109页)
重要注意: Ed448在RFC7748中指定的假定基点是不正确的,因为它有2*n阶,而且-在下面的表示法中,这一点是点(Gx,-Gy)=-(Gx,Gy)+(0,-1)。该文件中的生育地图也是不正确的。
这是否意味着需要对RFC8032 ( EdDSA )进行重新工作,并尽快更新所有Ed448实现,还是仍然需要为EdDSA使用错误的参数并等待EdDSAv2?
你会给我什么建议?
发布于 2022-08-25 04:29:21
该说明讨论了Ed448基准点的顺序。在这一点上,有两件事需要澄清:
Ed448应该是edwards448 -它指的是448位曲线(不是Ed448签名方案),这是RFC-7748中使用的术语。它相当于https://eprint.iacr.org/2015/625中描述的Ed448-金发曲线。现在,令人不安的是顺序是错误的。但事实证明,这并不影响这些算法的当前现实实现。
为什么?对于在X448密钥交换和Ed448数字签名中使用的448位曲线,我们正在清除比必要多一个低阶位--这并不会降低它们的安全性,因为Pollard解隐对数保持224位的难度,而残酷的力量仍然远远超过这个级别。
也就是说,我们做的是一个基点的\times 4,它的顺序是辅因子\times 2。这是意外的好。
至于不正确的双理性映射,如果实现不使用它,它不会影响实现。
发布于 2022-09-08 20:18:26
在RFC 7748中,实际上定义了三条448位椭圆曲线:
在RFC 7748之外,我看到了名为"E448“的未命名曲线(这是SP 800-186的NIST草案中所称的)。
在Rene的草案RFC中,他指出了未命名曲线所列参数的问题。RS称该曲线为"Ed448",但不幸的是,该名称与RFC 8032中用来表示EdDSA变体的标签发生了冲突。
RFC 8032不使用未命名曲线。RS指出的问题并不直接影响RFC 8032中描述的EdDSA的变体。
在RFC 7748中,edwards448列出的参数( RFC 8032中与EdDSA一起使用的曲线)是正确的。特别是,提供的生成器(或基点)确实具有质数顺序( RFC 8032中有python代码来验证这一点)。
https://crypto.stackexchange.com/questions/101563
复制相似问题