本文へスキップ
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(16 進数で 64 桁)で、鍵 ID はその先頭 64 ビットです。v4 のフィンガープリントは SHA-1(16 進数で 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 鍵を書き出します。また、鍵サーバーや古いツールは、知らないバージョンの鍵を拒否することがあります。エコシステムが追いつくまでは、v4 鍵と並べて v6 鍵を公開するのが慎重な方法です。

規格と参考文献

すべての用語