Template:SHAシリーズの比較
アルゴリズムとバリエーション | 出力長 (bits) |
内部状態長 (bits) |
ブロック長 (bits) |
最大メッセージ長 (bits) |
ラウンド数 | ビット演算 | セキュリティ強度 (bits) |
パフォーマンスの例[2] (MiB/s) | |
---|---|---|---|---|---|---|---|---|---|
MD5 | 128 | 128 (4 × 32) |
512 | 264 − 1 | 64 | And, Xor, Rot, Add (mod 232), Or |
<64(強衝突) | 335 | |
SHA-0 | 160 | 160 (5 × 32) |
512 | 264 − 1 | 80 | And, Xor, Rot, Add (mod 232), Or |
<80(強衝突) | - | |
SHA-1 | 160 | 160 (5 × 32) |
512 | 264 − 1 | 80 | <63 (衝突発見[3]) |
192 | ||
SHA-2 | SHA-224 SHA-256 |
224 256 |
256 (8 × 32) |
512 | 264 − 1 | 64 | And, Xor, Rot, Add (mod 232), Or, Shr |
112 128 |
139 |
SHA-384 SHA-512 SHA-512/224 SHA-512/256 |
384 512 224 256 |
512 (8 × 64) |
1024 | 2128 − 1 | 80 | And, Xor, Rot, Add (mod 264), Or, Shr |
192 256 112 128 |
154 | |
SHA-3 | SHA3-224 SHA3-256 SHA3-384 SHA3-512 |
224 256 384 512 |
1600 (5 × 5 × 64) |
1152 1088 832 576 |
制限なし[4] | 24[5] | And, Xor, Rot, Not |
112 128 192 256 |
- |
SHAKE128 SHAKE256 |
d(可変長) d(可変長) |
1344 1088 |
d/2と128のいずれか小さい方 d/2と256のいずれか小さい方 |
- |
脚注
これらの脚注は記事で表示させることは可能ですが、この一覧はこのページでのみ表示されます。
- ^ “Crypto++ 5.6.0 Benchmarks”. 2014年1月1日閲覧。
- ^ AMD Opteron 8354 2.2 GHzプロセッサと64ビット版Linuxによる計測[1]
- ^ “Announcing the first SHA1 collision”. 2017年2月23日閲覧。
- ^ “The Sponge Functions Corner”. 2016年1月28日閲覧。
- ^ “The Keccak sponge function family”. 2016年1月28日閲覧。