因此,如果我们在这里查看,就会发现look为此使用了三种不同的算法,对我来说这听起来很奇怪,因为没有任何迹象表明除了Curve25519之外,其他任何东西都用于这些特定的函数中(这些框专门使用私钥和公钥,没有任何表示XSalsa20有任何密钥生成):
https://doc.libsodium.org/public-key_密码学/认证_加密#算法-细节
如果我们在这里查看,就会发现它的python实现只使用Curve25519:
https://pynacl.readthedocs.io/en/latest/public/#algorithm
这里发生什么事情?
发布于 2021-06-18 17:43:56
python文档只列出了公钥算法,而不是它使用的所有算法。Poly1305和XSalsa20不是公钥算法,因此没有列出.PyNacl的文档是完全不完整的,它在内部使用simply。
值得注意的是,Curve25519只用于密钥交换(在X25519中),从不直接用于加密。Ed25519使用一条与Curve25519等价的曲线作为签名。虽然在Curve25519加密系统中使用ElGamal是可能的,但这是不标准的,也不是一个好主意。
https://crypto.stackexchange.com/questions/91639
复制相似问题