据我所知,每个人都使用curve25519进行公共/私人加密(ECDH)和ed25519进行签名(ECDSA)。这会产生双倍大小的键或一些可能不安全的特殊转换技巧:
https://github.com/dchest/ed2curve-js
是否不能将曲线ed25519用于ECDH和ECDSA,并且密钥大小只有一半?
是否不能仅将曲线ed25519用于ECDH?
我承认我对ECC的理解非常有限,所以上面的原因可能是出于安全方面的考虑,但要在网上找到任何关于此的暗示并不容易!
注意:我知道curve25519不能用于签名!
尼
答案 0 :(得分:-1)
我认为你找不到比在Using same keypair for Diffie-Hellman and signing链接的论文更好的东西。
我怀疑这个密钥重用是好的,只要你习惯假设SHA-512(用于Ed25519签名)和HSalsa(用作基于NaCl的Curve25519的盒子的KDF)是独立的散列函数(我这样做) 。但是使用具有不同前缀的相同哈希函数可能更清晰。
我听说Bernstein,Lange和Schwabe(NaCl的作者)正在撰写一篇关于这些问题的论文,但谁知道什么时候会发表。