0

使用 Java 的 spongycastle,我能够生成curve25519私钥(32 字节)和公钥(33 字节)。

同样对于 Python,我正在使用Nacl库,curve25519但这里生成的公钥只有 32 个字节。公钥中缺少 y 坐标的一个字节。

from nacl.public import PrivateKey
import binascii

privKey = PrivateKey.generate()
pubKey = privKey.public_key

print("privKey:", binascii.hexlify(bytes(privKey)))
print("pubKey: ", binascii.hexlify(bytes(pubKey)))

有什么建议为什么Nacl图书馆不压缩公钥?

4

1 回答 1

0

spongycastle(Java) 和 PyNacl(Python) 完全是两个不同的库。

PyNacl(Python) 和 LazySodiumJava(Java) 派生自 C 库 libsodium,它们只能生成 32 位密钥。

我想也许你可以寻找其他与 spongycastle(Java) 一致的 Python 包。

于 2020-08-13T15:39:37.460 回答