OpenPGP V5 鍵のサンプル
OpenPGP メーリングリストに次期 OpenPGP (RFC 4880bis) の v5 パケットに対応する秘密鍵のサンプルが上がっている。
全文引用ご容赦。
Hi!
I recently implemented v5 key support in gpg. I include a sample secret
key and would be interested to see whether other implementations can
parse it, verify the signatures and that the fingerprints match. The
key is not protected but the dash lines are indented to stop MUAs from
processing the key.
Shalom-Salam,
Werner
--8<---------------cut here---------------start------------->8---
sec ed25519 2019-03-20 [SC]
19347BC9872464025F99DF3EC2E0000ED9884892E1F7B3EA4C94009159569B54
uid emma.goldman@example.net
ssb cv25519 2019-03-20 [E]
E4557C2B02FFBF4B04F87401EC336AF7133D0F85BE7FD09BAEFD9CAEB8C93965
-----BEGIN PGP PRIVATE KEY BLOCK-----
lGEFXJH05BYAAAAtCSsGAQQB2kcPAQEHQFhZlVcVVtwf+21xNQPX+ecMJJBL0MPd
fj75iux+my8QAAAAAAAiAQCHZ1SnSUmWqxEsoI6facIVZQu6mph3cBFzzTvcm5lA
Ng5ctBhlbW1hLmdvbGRtYW5AZXhhbXBsZS5uZXSIlgUTFggASCIhBRk0e8mHJGQC
X5nfPsLgAA7ZiEiS4fez6kyUAJFZVptUBQJckfTkAhsDBQsJCAcCAyICAQYVCgkI
CwIEFgIDAQIeBwIXgAAA9cAA/jiR3yMsZMeEQ40u6uzEoXa6UXeV/S3wwJAXRJy9
M8s0AP9vuL/7AyTfFXwwzSjDnYmzS0qAhbLDQ643N+MXGBJ2BZxmBVyR9OQSAAAA
MgorBgEEAZdVAQUBAQdA+nysrzml2UCweAqtpDuncSPlvrcBWKU0yfU0YvYWWAoD
AQgHAAAAAAAiAP9OdAPppjU1WwpqjIItkxr+VPQRT8Zm/Riw7U3F6v3OiBFHiHoF
GBYIACwiIQUZNHvJhyRkAl+Z3z7C4AAO2YhIkuH3s+pMlACRWVabVAUCXJH05AIb
DAAAOSQBAP4BOOIR/sGLNMOfeb5fPs/02QMieoiSjIBnijhob2U5AQC+RtOHCHx7
TcIYl5/Uyoi+FOvPLcNw4hOv2nwUzSSVAw==
=IiS2
-----END PGP PRIVATE KEY BLOCK-----
--8<---------------cut here---------------end--------------->8---
$ gpgpdump testdata/v5/sample.txt
Secret-Key Packet (tag 5) (97 bytes)
Version: 5 (draft)
Public-Key
Public key creation time: 2019-03-20T17:08:04+09:00
5c 91 f4 e4
Public-key Algorithm: EdDSA (pub 22)
ECC Curve OID: ed25519 (256bits key size)
2b 06 01 04 01 da 47 0f 01
EdDSA EC point (40 || compressd format) (263 bits)
Secret-Key (the secret-key data is not encrypted.)
EdDSA secret key (0 bits)
Checksum
00 00
Unknown data (37 bytes)
User ID Packet (tag 13) (24 bytes)
User ID: emma.goldman@example.net
Signature Packet (tag 2) (150 bytes)
Version: 5 (unknown)
Unknown data (149 bytes)
Secret-Subkey Packet (tag 7) (102 bytes)
Version: 5 (draft)
Public-Key
Public key creation time: 2019-03-20T17:08:04+09:00
5c 91 f4 e4
Public-key Algorithm: ECDH public key algorithm (pub 18)
ECC Curve OID: cv25519 (256bits key size)
2b 06 01 04 01 97 55 01 05 01
ECDH EC point (40 || X) (263 bits)
KDF parameters (3 bytes)
Hash Algorithm: SHA2-256 (hash 8)
Symmetric Algorithm: AES with 128-bit key (sym 7)
Secret-Key (the secret-key data is not encrypted.)
ECDH secret key (0 bits)
Checksum
00 00
Unknown data (37 bytes)
Signature Packet (tag 2) (122 bytes)
Version: 5 (unknown)
Unknown data (121 bytes)
まだ v5 パケットに対応してないので妙な表示になっているが入れ物は出来てるので,あとはコードを書くだけだ。
書くぞ書くぞ書くぞ!
ブックマーク
参考図書
- 暗号技術入門 第3版 秘密の国のアリス
- 結城 浩 (著)
- SBクリエイティブ 2015-08-25 (Release 2015-09-17)
- Kindle版
- B015643CPE (ASIN)
- 評価
SHA-3 や Bitcoin/Blockchain など新しい知見や技術要素を大幅追加。暗号技術を使うだけならこれ1冊でとりあえず無問題。