Java の spongycastle を使用して、curve25519
秘密鍵 (32 バイト) と公開鍵 (33 バイト) を生成できます。
同様にPythonの場合、Nacl
ライブラリを使用してcurve25519
いますが、ここで生成される公開鍵は32バイトのみです。公開鍵の y 座標が 1 バイト欠落しています。
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
ライブラリが公開鍵を圧縮していない理由はありますか?