SHA-3 が正式リリース: あれから10年も...
結城浩さんの tweet 経由で
おおっ! ついに SHA-3 が正式リリースですか。
- SHA-3 Standardization
- Federal Register | Announcing Approval of Federal Information Processing Standard (FIPS) 202, SHA-3 Standard: Permutation-Based Hash and Extendable-Output Functions, and Revision of the Applicability Clause of FIPS 180-4, Secure Hash Standard
- FIPS PUB 202: SHA-3 Standard: Permutation-Based Hash and Extendable-Output Functions
- FIPS PUB 180-4: Secure Hash Standard (SHS)
そもそもの始まりは,2004年に SHA-1 の脆弱性が見つかったことである。
もともと SHA-1 は2010年までに運用を終了する予定(いわゆる2010年問題)だったが,この問題は SHA-2 (SHA-2 は SHA-1 の改良版。両方共 NSA が関わっていることで知られている)まで波及しそうな勢いだったため,早急に SHA-2 に代わる新しい hash 関数が求められるようになった。
- "NIST's Plan for New Cryptographic Hash Functions" -- Baldanders.info
- SHA-3 が決まった -- Baldanders.info
- FIPS PUB 202 (SHA-3 Standard) Draft -- Baldanders.info
ところがこの competition のあいだに SHA-3 の位置づけが変わってきた。
というわけで,イマイチ不遇な感じの SHA-3 だが,決まったからには緩々と実装が始まると思われる。 OpenPGP にもそのうち組み込まれるだろう(現在,次期仕様について議論中)。
SP800-57 によると暗号強度と hash 関数の組み合わせは以下のようになっている。
Security Strength |
Digital Signatures and hash-only applications |
HMAC | Key Derivation Functions |
Random Number Generation |
---|---|---|---|---|
80 | SHA-1, SHA-224, SHA-512/224, SHA-256, SHA-512/256, SHA-384, SHA-512 | SHA-1, SHA-224, SHA-512/224, SHA-256, SHA-512/256, SHA-384, SHA-512 | SHA-1, SHA-224, SHA-512/224, SHA-256, SHA-512/256, SHA-384, SHA-512 | SHA-1, SHA-224, SHA-512/224, SHA-256, SHA-512/256, SHA-384, SHA-512 |
112 | SHA-224, SHA-512/224, SHA-256, SHA-512/256, SHA-384, SHA-512 | SHA-1, SHA-224, SHA-512/224, SHA-256, SHA-512/256, SHA-384, SHA-512 | SHA-1, SHA-224, SHA-512/224, SHA-256, SHA-512/256, SHA-384, SHA-512 | SHA-1, SHA-224, SHA-512/224, SHA-256, SHA-512/256, SHA-384, SHA-512 |
128 | SHA-256, SHA-512/256, SHA-384, SHA-512 | SHA-1, SHA-224, SHA-512/224, SHA-256, SHA-512/256, SHA-384, SHA-512 | SHA-1, SHA-224, SHA-512/224, SHA-256, SHA-512/256, SHA-384, SHA-512 | SHA-1, SHA-224, SHA-512/224, SHA-256, SHA-512/256, SHA-384, SHA-512 |
192 | SHA-384, SHA-512 | SHA-224, SHA-512/224, SHA-256, SHA-512/256, SHA-384, SHA-512 | SHA-224, SHA-512/224, SHA-256, SHA-512/256, SHA-384, SHA-512 | SHA-224, SHA-512/224, SHA-256, SHA-512/256, SHA-384, SHA-512 |
256 | SHA-512 | SHA-256, SHA-512/256, SHA-384, SHA-512 | SHA-256, SHA-512/256, SHA-384, SHA-512 | SHA-256, SHA-512/256, SHA-384, SHA-512 |
SP800-57 Part 1 (Revision 3))
ちなみに2030年を超えて Acceptable なのは 128bits 以上の暗号強度である。
Security Strength | 2011 through 2013 | 2014 through 2030 | 2031 and Beyond | |
---|---|---|---|---|
80 | Applying | Deprecated | Disallowed | |
Processing | Legacy use | |||
112 | Applying | Acceptable | Acceptable | Disallowed |
Processing | Legacy use | |||
128 | Applying/Processing | Acceptable | Acceptable | Acceptable |
192 | Acceptable | Acceptable | Acceptable | |
256 | Acceptable | Acceptable | Acceptable |
SP800-57 Part 1 (Revision 3))
他の暗号アルゴリズムで言うと 128bits 以上の暗号強度は
- DSA, ElGamal, RSA なら 3072bits 以上
- ECDSA なら 256bits 以上
- 共通鍵暗号なら AES-128 以上
に相当する。