ngtokuの日記

主に雑記帳です。SNSではngtokuのID取れなかったんで、別のIDでやってます。

昔、暗号化アルゴリズムについてちょっと調べた結果

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、SHA512SHA256推奨
SHA512、RIPEMD-160はオプション
メッセージ認証XML電子署名(XML Digital Signature) 
XML正規化オプション 
エンコードBASE-64 
W3C
(XML Digital Signature 2008/06/10)
ダイジェストSHA-1 
エンコードBASE-64 
HMACHMAC-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