OpenPGP で利用可能なアルゴリズム一覧(RFC4880 対応版)

no extension

Camellia が OpenPGP に加えられた記念として, 以前作成した「OpenPGP で利用可能なアルゴリズム一覧」をリニューアルします。 今回は RFC4880 を基準に一覧を作成しました。 最後に参考となる文献等も紹介していますので, あわせてご利用ください。

なお, 表中に ID とありますが, これは各アルゴリズム毎に割り当てられた番号です。 例えば DSA は公開鍵暗号アルゴリズムの17番目なので「pub 17」と表記したりします。

公開鍵暗号アルゴリズム(Public-Key Algorithms)

IDアルゴリズム参考文献
1RSA (Encrypt or Sign)"PKCS #1: RSA Cryptography Standard", RFC3447
2RSA Encrypt-Only"PKCS #1: RSA Cryptography Standard", RFC3447
3RSA Sign-Only"PKCS #1: RSA Cryptography Standard", RFC3447
16Elgamal (Encrypt-Only)Taher El Gamal "A public key cryptosystem and a signature scheme based on discrete logarithms"
17DSA (Digital Signature Algorithm)FIPS PUB 186-4
18Reserved for Elliptic Curve"Certicom Proposal to Revise SEC 1: Elliptic Curve Cryptography, Version 1.0"
19Reserved for ECDSA"Certicom Proposal to Revise SEC 1: Elliptic Curve Cryptography, Version 1.0", ANSI X9.62-2005 draft
20Reserved(formerly Elgamal Encrypt or Sign)
21Reserved for Diffie-HellmanANSI X9.42, as defined for IETF-S/MIME

RFC4880 では, FIPS PUB 186-3 draft に従って, DSA アルゴリズムが拡張(“13.6. DSA”)されます。

(2014年9月18日追記: FIPS PUB 186-4 が登場しています。パラメータの修正が行われています)

また RSA についてアルゴリズムの解説が追加(“13.1. PKCS#1 Encoding in OpenPGP”)されています。 なお pub 20 (Elgamal Encrypt or Sign) はアルゴリズム上の欠陥が発見され廃止になりました。

共通鍵暗号アルゴリズム(Symmetric-Key Algorithms)

IDアルゴリズム鍵長ブロック長参考文献
1IDEA12864"IDEA International Data Encryption Algorithm"
2TripleDES (3TDEA)168 (112 bits of strength)64SP800-67
3CAST512864RFC2144
4Blowfish12864"Description of a New Variable-Length Key, 64-Bit Block Cipher (Blowfish)"
5Reserved----
6Reserved----
7AES with 128-bit key128128FIPS PUB 197
8AES with 192-bit key192128FIPS PUB 197
9AES with 256-bit key256128FIPS PUB 197
10Twofish with 256-bit key256128"The Twofish Encryption Algorithm"
11Camellia with 128-bit key128128RFC3713
12Camellia with 192-bit key192128RFC3713
13Camellia with 256-bit key256128RFC3713

sym 5 (SAFER-SK128), sym 6 (DES/SK) は RFC4880 で廃止になりました。 sym 11-13 (Camellia)は RFC5581 で追加されました。 なお OpenPGP では CFB mode (の変型; “13.9. OpenPGP CFB Mode”)で暗号化を行います。

ハッシュ・アルゴリズム(Hash Algorithms)

IDアルゴリズム参考文献
1MD5RFC1321
2SHA-1FIPS PUB 186-2
3RIPE-MD/160"The hash function RIPEMD-160"
4Reserved
5Reserved
6Reserved
7Reserved
8SHA256FIPS PUB 186-2
9SHA384FIPS PUB 186-2
10SHA512FIPS PUB 186-2
11SHA224FIPS PUB 186-2

RFC4880 において hash 4 (double-width SHA), hash 5 (MD2), hash 6 (TIGER/192), hash 7 (HAVAL-5-160) が廃止になり, hash 8-11 (SHA224/256/384/512) が追加されました。

圧縮アルゴリズム(Compression Algorithms)

IDアルゴリズム参考文献
1ZIPRFC1951
2ZLIBRFC1950
3BZip2"bzip2"

comp 3 (BZip2) は RFC4880 で追加されました。

S2K (String-to-key)

IDS2K タイプ
0Simple S2K
1Salted S2K
2Reserved value
3Iterated and Salted S2K

S2K は共通鍵暗号用の鍵を生成する際に使われるアルゴリズムです。

参考文献

photo
新版暗号技術入門 秘密の国のアリス
結城 浩
ソフトバンククリエイティブ 2008-11-22
評価

情報処理教科書 情報セキュリティスペシャリスト 2014年版 (EXAMPRESS) Javaで作って学ぶ暗号技術 - RSA,AES,SHAの基礎からSSLまで 改訂新版 暗号の数理―作り方と解読の原理 (ブルーバックス) セスぺの春26 情報セキュリティスペシャリスト試験の最も詳しい過去問解説 ポケットスタディ 情報セキュリティスペシャリスト 第2版 (情報処理技術者試験)

まさに入門書。暗号がどのような要素技術で成り立っているのか体系的に理解できる良書。

reviewed by Spiegel on 2014/09/17 (powered by G-Tools)