跳到主要内容
ecdsa.com

OpenPGP v6 密钥

RFC 9580 引入的密钥格式,采用 32 字节的 SHA-256 指纹、原生 Ed25519/X25519/Ed448/X448 算法和加盐的 v6 签名,取代 RFC 4880 中基于 SHA-1 的 v4 密钥。
其他写法v6 keyRFC 9580 keyv6 fingerprintOpenPGP crypto refresh

v6 指纹是对带 v6 前缀的密钥数据包计算的 SHA-256(64 个十六进制数字),密钥 ID 取其前 64 位;v4 指纹是 SHA-1(40 个十六进制数字),密钥 ID 取自后 64 位(RFC 9580 §5.5.4)。v6 签名包含一个随机盐,它先于数据参与哈希计算,使针对所签哈希的选择前缀碰撞攻击变得不可行。公钥算法 ID 25~28 分别为 X25519、X448、Ed25519 和 Ed448;RFC 9980 为后量子算法新增了 ID 30~36,其中大多数要求使用 v6 密钥。

支持 v6 的实现包括 Sequoia PGP 和 OpenPGP.js;GnuPG 则为其最新格式写出 LibrePGP v5 密钥,而密钥服务器和较旧的工具遇到不认识的密钥版本时可能会拒绝该密钥。在生态系统跟上之前,稳妥的做法是同时发布 v6 密钥和 v4 密钥。

标准与参考资料

全部术语