OpenPGP で利用可能なアルゴリズム一覧(RFC4880 対応版)
Camellia が OpenPGP に加えられた記念として, 以前作成した「OpenPGP で利用可能なアルゴリズム一覧」をリニューアルします。 今回は RFC4880 を基準に一覧を作成しました。 最後に参考となる文献等も紹介していますので, あわせてご利用ください。
なお, 表中に ID とありますが, これは各アルゴリズム毎に割り当てられた番号です。 例えば DSA は公開鍵暗号アルゴリズムの17番目なので「pub 17」と表記したりします。
公開鍵暗号アルゴリズム(Public-Key Algorithms)
ID | アルゴリズム | 参考文献 |
---|---|---|
1 | RSA (Encrypt or Sign) | "PKCS #1: RSA Cryptography Standard", RFC3447 |
2 | RSA Encrypt-Only | "PKCS #1: RSA Cryptography Standard", RFC3447 |
3 | RSA Sign-Only | "PKCS #1: RSA Cryptography Standard", RFC3447 |
16 | Elgamal (Encrypt-Only) | Taher El Gamal "A public key cryptosystem and a signature scheme based on discrete logarithms" |
17 | DSA (Digital Signature Algorithm) | FIPS PUB 186-4 |
18 | Reserved for Elliptic Curve | "Certicom Proposal to Revise SEC 1: Elliptic Curve Cryptography, Version 1.0" |
19 | Reserved for ECDSA | "Certicom Proposal to Revise SEC 1: Elliptic Curve Cryptography, Version 1.0", ANSI X9.62-2005 draft |
20 | Reserved | (formerly Elgamal Encrypt or Sign) |
21 | Reserved for Diffie-Hellman | ANSI 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 | アルゴリズム | 鍵長 | ブロック長 | 参考文献 |
---|---|---|---|---|
1 | IDEA | 128 | 64 | "IDEA International Data Encryption Algorithm" |
2 | TripleDES (3TDEA) | 168 (112 bits of strength) | 64 | SP800-67 |
3 | CAST5 | 128 | 64 | RFC2144 |
4 | Blowfish | 128 | 64 | "Description of a New Variable-Length Key, 64-Bit Block Cipher (Blowfish)" |
5 | Reserved | -- | -- | |
6 | Reserved | -- | -- | |
7 | AES with 128-bit key | 128 | 128 | FIPS PUB 197 |
8 | AES with 192-bit key | 192 | 128 | FIPS PUB 197 |
9 | AES with 256-bit key | 256 | 128 | FIPS PUB 197 |
10 | Twofish with 256-bit key | 256 | 128 | "The Twofish Encryption Algorithm" |
11 | Camellia with 128-bit key | 128 | 128 | RFC3713 |
12 | Camellia with 192-bit key | 192 | 128 | RFC3713 |
13 | Camellia with 256-bit key | 256 | 128 | RFC3713 |
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 | アルゴリズム | 参考文献 |
---|---|---|
1 | MD5 | RFC1321 |
2 | SHA-1 | FIPS PUB 186-2 |
3 | RIPE-MD/160 | "The hash function RIPEMD-160" |
4 | Reserved | |
5 | Reserved | |
6 | Reserved | |
7 | Reserved | |
8 | SHA256 | FIPS PUB 186-2 |
9 | SHA384 | FIPS PUB 186-2 |
10 | SHA512 | FIPS PUB 186-2 |
11 | SHA224 | FIPS 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)
comp 3 (BZip2) は RFC4880 で追加されました。
S2K (String-to-key)
ID | S2K タイプ |
---|---|
0 | Simple S2K |
1 | Salted S2K |
2 | Reserved value |
3 | Iterated and Salted S2K |
S2K は共通鍵暗号用の鍵を生成する際に使われるアルゴリズムです。