【问题标题】:Generate 33 bytes public key for curve25519 in python在python中为curve25519生成33字节的公钥
【发布时间】:2020-07-20 07:25:02
【问题描述】:

使用 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 库不压缩公钥?

【问题讨论】:

    标签: private-key public-key spongycastle python-cryptography pynacl


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2019-05-06
      • 1970-01-01
      • 2021-06-04
      • 2017-02-28
      • 1970-01-01
      • 2015-05-16
      • 1970-01-01
      • 2016-02-12
      • 1970-01-01
      相关资源
      最近更新 更多