首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >gnupg与gnupg curve25519的相容性

gnupg与gnupg curve25519的相容性
EN

Cryptography用户
提问于 2019-01-11 16:15:55
回答 1查看 538关注 0票数 1

我正在尝试创建基于加密钢的确定性GPG密钥。我已经实现了一个用于(反)序列化PGP数据包的库,现在我正在尝试使用library中生成的密钥用于GPG中的导入。

给我一个32字节的公钥和一个32字节的密钥。这也是PGP似乎所使用的-除了PGP前缀0x40的公共密钥,以表明它没有使用点压缩(从而变成33个字节)。

当试图导入生成的密钥GPG时,ed25519键工作得很好,但是curve25519键不起作用--尽管没有指定KDF。看来,利伯钠产生的点与GPG不兼容。

一些随机的事情我不明白,这可能与此有关:- GPG点是32个字节,但它们是未压缩的。那么它们不应该是32 + 32字节吗?从我所能读到的来看,X和Y都应该是32字节。- using可能使用压缩点,但它们的点数不以02或03开头--我所读到的是用来表示哪个Y作为密钥。它们也是32个字节,如果考虑额外的字节来表示压缩,那么这个字节也会太小。

有人知道这些曲线之间到底有什么不同吗?我能做些什么来修复它?

EN

回答 1

Cryptography用户

回答已采纳

发布于 2019-01-14 10:01:23

找到了解决办法。所需要的就是反转curve25519秘密点中的字节。显然,PGP在这方面使用的是小端,而ed25519则使用大端。

票数 6
EN
页面原文内容由Cryptography提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://crypto.stackexchange.com/questions/66415

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档