pgpdump
山本和彦
pgpdumpは、OpenPGP (RFC 4880)や PGP version 2 (RFC 1991)のデータ構造を可視化するツールです。
pgpdump の動作
PGP は、バイナリ・ファイルか(MIME の Base64 と等価な) ASCII armor ファイルを生成します。以下が、ASCII armor ファイルの例です(sig.pgp と呼びましょう)。
% cat sig.pgp -----BEGIN PGP MESSAGE----- Version: GnuPG v1.2.6 (NetBSD) Comment: For info see http://www.gnupg.org owGbwMvMwCSYq3dE6sEMJU7GNYZJLGmZOanWn4xaQzIyixWAKFEhN7W4ODE9VaEk XyEpVaE4Mz0vNUUhqVIhwD1Aj6vDnpmVAaQeZogg060chvkFjPMr2CZNmPnwyebF fJP+td+b6biAYb779N1eL3gcHUyNsjliW1ekbZk6wRwA =+jUx -----END PGP MESSAGE-----
このままでは、この内部のデータ構造を理解するのは困難です。pgpdump は、これを以下のように可視化します。
% pgpdump sig.pgp Old: Signature Packet(tag 2)(63 bytes) Ver 3 - old Hash material(5 bytes): Sig type - Signature of a binary document(0x00). Creation time - Fri Nov 27 18:35:42 JST 1998 Key ID - 0xA79778E247B63037 Pub alg - DSA Digital Signature Algorithm(pub 17) Hash alg - SHA1(hash 2) Hash left 2 bytes - 27 ae DSA r(159 bits) - ... DSA s(159 bits) - ... -> hash(DSA q bits) Old: Literal Data Packet(tag 11)(45 bytes) Format - binary Filename - hoge File modified time - Sun Apr 27 04:41:04 JST 1975 Literal - ...
pgpdump の入手方法
- pgpdump の初リリースは 1998年12月です。
- 2024年1月29日現在の最新バージョンは 0.36 です。ソースのダウンロード。
- Git リポジトリ を github で公開しています。
- Stefan H. Holek 氏がWeb インターフェイスを作成し管理しています。
- 鈴木ひろのぶさんが、pgpdump に対応した公開鍵配布サーバを作成し管理しています。
PGP のデータ構造の歴史
- Simson Garfinkel が PGP を詳細に解説した O'Reilly の本には次のように書かれています。
- Zimmermann はまず、暗号鍵、暗号文、および署名のデータ構造について論文を書いた。この論文は「IEEE Computer」に掲載された。
- これは、おそらく次の論文のことでしょう:
- Philip Zimmermann, "A Proposed Standard Format for RSA Cryptosystems", IEEE Computer 19(9), pp 21-34 (1986).
- 当初、PGP 2 のデータ構造は、"doc/pgformat.doc" に書かれていました。
- PGP 2 の正式な書式(RFC 1991) は1996年8月に公開されました。
- OpenPGP の正式な書式(RFC 2440)は、1998年11月に公開されました。
- RFC 2440 は改訂されて、2007年11月にRFC 4880になりました。