SHAシリーズの比較
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/08/14 07:21 UTC 版)
詳細は「Merkle-Damgård construction」を参照 表・話・編・歴 暗号学的ハッシュ関数の比較 [編集]アルゴリズムとバリエーション出力長(bits)内部状態長(bits)ブロック長(bits)最大メッセージ長(bits)ラウンド数ビット演算セキュリティ強度(bits)パフォーマンスの例(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 (衝突発見) 192 SHA-2 SHA-224 SHA-256 224 256 256(8 × 32) 512 264 − 1 64 And, Xor, Rot,Add (mod 232),Or, Shr 112128 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 192256112128 154 SHA-3 SHA3-224 SHA3-256 SHA3-384 SHA3-512 224 256 384 512 1600(5 × 5 × 64) 1152 1088 832 576 制限なし 24 And, Xor, Rot,Not 112128192256 - SHAKE128 SHAKE256 d(可変長) d(可変長) 1344 1088 d/2と128のいずれか小さい方 d/2と256のいずれか小さい方 - CPUアーキテクチャクロック周波数アルゴリズムワード長 (bits)Cycles/Byte x86MiB/s x86Cycles/Byte x86-64MiB/s x86-64Intel Ivy Bridge 3.5 GHz SHA-256 32-bit 16.80 199 13.05 256 SHA-512 64-bit 43.66 76 8.48 394 AMD Piledriver 3.8 GHz SHA-256 32-bit 22.87 158 18.47 196 SHA-512 64-bit 88.36 41 12.43 292 'x86' と表記されたパフォーマンス値は64ビットのプロセッサで32ビットのコードを実行したもの、'x86-64' と表記されたパフォーマンス値は64ビットのプロセッサで64ビットのコードを実行したものである。SHA-256は32ビット計算向けに設計されているが、64ビットプロセッサ向けの最適化の恩恵を受けている。SHA-512の32ビット環境での実装は、64ビット環境でのものと比較すると有意に遅くなっている。これら2つのアルゴリズムの変種(SHA-256ではSHA-224、SHA-512ではSHA-384、SHA-512/224、SHA-512/256)のパフォーマンスは、これらと同等である。MD5およびSHA-1の最適な実装の実効速度は4.5 - 6 Cycles/Byteである。このテストはイリノイ大学シカゴ校のhydra8システム(クロック周波数3.5 GHzのIntel Xeon E3-1275 V2)およびhydra9システム(クロック周波数3.8 GHzのAMD A10-5800K)によるものである。
※この「SHAシリーズの比較」の解説は、「SHA-2」の解説の一部です。
「SHAシリーズの比較」を含む「SHA-2」の記事については、「SHA-2」の概要を参照ください。
- SHAシリーズの比較のページへのリンク