昔、暗号化アルゴリズムについてちょっと調べた結果
2009年に暗号の2010年問題関連でちょっと調べた事があって、その一部。
後で見返す事もあるかもしれないので抜粋を掲載。
2009年の1月くらいに調べた結果なので、古いという事は頭においておく事。
そして間違ってても文句は言わない方向で。
あ、でも指摘は歓迎します。
機関 | 項目 | 推奨 | 備考 |
---|---|---|---|
PCI-DSS | 暗号アルゴリズム | AES(128bit以上) TDES(DES-EDGE2またはDES-EDGE3) RSA(1024bit以上) ECC(160bit以上) ElGamal(1024bit以上) | バージョンは1.2別途『NIST Special Publication 800-57』参照との記述あり |
ハッシュ関数 | Strong Algorithmの例としてSHA-1を提示 | 2010年問題により推奨されない | |
アメリカ国立標準技術研究所(NIST) Special Publication 800-57 | 認証キー | 2013/12/31以降、以下を推奨 RSA(2048bits) ECDSA(Curve P-256) | |
公開鍵暗号(電子署名) | 2008/12/31以降、以下を推奨 RSA(2048bits) Diffie-Hellman(2048bits) ECDSA ECDH(Curve P-256) | ||
電子署名 | 2010/12/31以降、以下を推奨 RSA(2048bits以上, SHA256, PKCSv1.5/PSS) ECDSA(Curve P-256, SHA-256) ECDSA(Curve P-384, SHA-384) | ||
ハッシュ関数 | 2010/12/31以降以下を推奨 RSA(SHA-256) | SHA-1は非推奨いわゆる2010年問題 | |
推奨するアルゴリズムとキーのペア | 認証キー:署名キー:鍵配布キー RSA1024:RSA2048:RSA2048 RSA1024:RSA2048:Diffie-Hellman2048 RSA2048:RSA2048:RSA2048 RSA2048:RSA2048:Diffie-Hellman2048 ECDSA P-256:ECDSA P-256:ECDSA P-256 ECDSA P-256:ECDSA P-384:ECDSA P-384 ECDSA P-384:ECDSA P-384:ECDSA P-384 | ||
アメリカ国立標準技術研究所(NIST) Special Publication 800-78 | 個人認証キー | 2013/12/31以降以下を推奨 RSA (2048 bits) ECDSA (Curve P-256) | |
カード認証キー | 2013/12/31以降以下を推奨 3TDEAAES-128, AES-192, or AES-256RSA (2048 bits) ECDSA (Curve P-256) | ||
電子署名キー | RSA (2048 bits) ECDSA (Curves P-256 or P-384) | ||
キー管理 | RSA key transport (2048 bits) ECDH or ECC MQV (Curves P-256 or P-384) | ||
W3C (XML Encryption 2002/12/10) | 暗号アルゴリズム | 3DES-CBC、AES128-CBC、AES256-CBC | |
鍵配布アルゴリズム(公開鍵) | RSA PKCS#1 v1.5 RSA-OAEP | 理論的にはRSA-OAEPの方が安全性が高い。文献3,4,5参照 | |
鍵ラップ | CMS 3DES Key Wrap(168bits) AES Key Wrap(128bits, 256bits) | AERS(192bits)はオプション扱い | |
ハッシュ関数 | SHA-1、SHA256、SHA512 | SHA256推奨 SHA512、RIPEMD-160はオプション | |
メッセージ認証 | XML電子署名(XML Digital Signature) | ||
XML正規化 | オプション | ||
エンコード | BASE-64 | ||
W3C (XML Digital Signature 2008/06/10) | ダイジェスト | SHA-1 | |
エンコード | BASE-64 | ||
HMAC | HMAC-SHA1 | ||
電子署名 | DSAwithSHA1 (DSS) RSAwithSHA1 | RSAwithSHA1推奨 | |
XML正規化 | Canonical XML 1.0(omits comments) Canonical XML 1.0with Comments Canonical XML 1.1 (omits comments) Canonical XML 1.1 with Comments | With Comments推奨 | |
CRYPTEC 電子政府推奨暗号リスト (平成15年2月20日) | 署名 | DSA ECDSA RSASSA-PKCS-v1_5 RSA-PSS | |
守秘 | RSA-OAEP RSAES-PKCS1-v1_5(備考参照) | 注釈に” SSL3.0/TLS1.0で使用実績があることから当面の使用を認める。”とあり、推奨ではないと判断すべき。 | |
鍵共有 | DH ECDH PSEC-KEM | ||
64ビットブロック暗号 | CIPHERUNICORN-E Hierocrypt-L1 MISTY1 3-key Triple DES | 新規システムは128bitが好ましい旨の注釈あり。 また3-key Triple DESは”当面の使用を認める。”との注釈があり、推奨ではないと判断すべき。 | |
128ビットブロック暗号 | AES Camellia CIPHERUNICORN-A Hierocrypt-3 SC2000 | ||
256ビットブロック暗号 | 記載なし | ||
ストリーム暗号 | MUGI MULTI-S01 128-bit RC4 | “128-bit RC4は、SSL3.0/TLS1.0以上に限定して利用することを想定している。なお、リストに掲載されている別の暗号が利用できるのであれば、そちらを使用することが望ましい。”との注釈あり。 | |
ハッシュ関数 | RIPEMD-160 SHA-1 SHA-256 SHA-384 SHA-512 | “256ビット以上のハッシュ関数を選択することが望ましい。ただし、公開鍵暗号での仕様上、利用すべきハッシュ関数が指定されている場合には、この限りではない。”との注釈あり。 | |
擬似乱数生成系 | PRNG based on SHA-1 in ANSI X9.42-2001 Annex C.1 PRNG based on SHA-1 for general purpose in FIPS 186-2 (+ change notice 1) Appendix 3.1 PRNG based on SHA-1 for general purpose in FIPS 186-2 (+ change notice 1) revised Appendix 3.1 | “擬似乱数生成系は、その利用特性上、インタオペラビリティを確保する必要性がないため、暗号学的に安全な擬似乱数生成アルゴリズムであれば、どれを利用しても基本的に問題が生じない。したがって、ここに掲載する擬似乱数生成アルゴリズムは「例示」である。”との注釈あり。 |
- 参考文献
- 『Payment Card Industory (PCI) Data Security Standard(DSS) and Payment Application Data Security Standard(PA-DSS) Glossary of Terms, Abbreviations, and Acryonyms』
- 『DRAFT Recommendation for Key Management, Part 3 Application-Specific Key Management Guidance』
- Shoup, "FCD 18033-2 Encryption algorithms - Part 2:Asymmetric ciphers", http://shoup.net/iso/std6.pdf
- Bleichenbacher, "Chosen Ciphertext Attacks Against Protocols Based on the RSA Encryption Standard PKCS#1", Advances in Cryptology - CRYPTO’98, LNCS 1462, Springer
- Bellare and Rogaway, "Optimal asymmetric encryption - how to encrypt with RSA", Advances in Cryptology - EUROCRYPT’94, LNCS 950, Springer
- NIST Special Publication 800-57 Part3 『DRAFT Recommendation for Key Management, Part 3 Application-Specific Key Management Guidance』
- NIST Special Publication 800-78 『Cryptographic Algorithms and Key Sizes for Personal Identity Verification』
- XML Encryption Syntax and Processing W3C Recommendation 10 December 2002 http://www.w3.org/TR/2002/REC-xmlenc-core-20021210/
- XML Signature Syntax and Processing (Second Edition) W3C Recommendation 10 June 2008 http://www.w3.org/TR/2008/REC-xmldsig-core-20080610/
- CRYPTEC 電子政府推奨暗号リスト http://www.cryptrec.go.jp/images/cryptrec_01.pdf