コンテンツにスキップ

Secure Hash Algorithm

出典: フリー百科事典『ウィキペディア(Wikipedia)』

Secure Hash Algorithm(セキュアハッシュアルゴリズム)、略称SHAは、一群の関連した暗号学的ハッシュ関数であり、アメリカ国立標準技術研究所(NIST)によって標準のハッシュ関数Secure Hash Standardに指定されている。

概要

[編集]

2017SHA-0SHA-1SHA-2SHA-34SHA-0SHA-13SHA-2MD5 MerkleDamgård constructionen:MerkleDamgård constructionSHA-3 SHA-2 SHA-2SHA-224SHA-256SHA-384SHA-512SHA-512/224SHA-512/256 SHA-3SHA3-224SHA3-256SHA3-384SHA3-512SHAKE128SHAKE256 

SHA-1SHA-256SHA-384SHA-51220028FIPS Publication 180-2SHA-224Change Notice 120042SHA-512/224SHA-512/2562012FIPS 180-4

SHA-320158NISTSecure Hash Standard (SHS) SHA-3FIPS 202[1]

SHA-0SHA-1MD5TLSSSLPGPSSHS/MIMEIPSec2004CRYPTO2004Xiaoyun Wang201722017使

SHA-2 (NSA) 

1993SHASHA-01995SHA-1

SHA-2MerkleDamgård construction SHA-1 20202001 SHA-224SHA-256SHA-384SHA-51242012 SHA-512/224SHA-512/256 

SHA-3 (NIST) KeccakCRYPTO2004MerkleDamgård constructionSHA-2SHA-3

MD4MD5CRYPTO2004SHA-0SHA-120042017

SHA-0

[編集]

SHA-0SHA160

SHA-1

[編集]

SHA-0の欠点を修正した。SHA-1のハッシュ値の長さは、SHA-0と同じく160ビット。

2017年に、衝突攻撃の成功と実例が報告された[2]

SHA-2

[編集]

SHA-1SHA-2

SHA-256SHA-5123264256512SHA-224SHA-384SHA-256SHA-5123264224384SHA-512/224SHA-512/256SHA-51264224256

SHA-3

[編集]

SHA-3Keccak (NIST) 2012102[3]20158SHA MerkleDamgård constructionen:MerkleDamgård construction

SHA (NSA) 

SHA-3642242563845124SHAKE128SHAKE256 2

比較

[編集]
暗号学的ハッシュ関数の比較 [編集]
アルゴリズムとバリエーション 出力長
(bits)
内部状態長
(bits)
ブロック長
(bits)
最大メッセージ長
(bits)
ラウンド数 ビット演算 セキュリティ強度
(bits)
パフォーマンスの例[5]
(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
(衝突発見[6])
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
制限なし[7] 24[8] And, Xor, Rot,
Not
112
128
192
256
-
SHAKE128
SHAKE256
d(可変長)
d(可変長)
1344
1088
d/2と128のいずれか小さい方
d/2と256のいずれか小さい方
-

関連項目

[編集]

脚注

[編集]


(一)^ SHA-3 Standardization. Computer Security Division - Computer Security Resource Center.  NIST. 201586

(二)^ SHAttered

(三)^ NIST Selects Winner of Secure Hash Algorithm (SHA-3) Competition.  NIST. 2012102

(四)^ Crypto++ 5.6.0 Benchmarks. 201411

(五)^ AMD Opteron 8354 2.2 GHz64Linux[4]

(六)^ Announcing the first SHA1 collision. 2017223

(七)^ The Sponge Functions Corner. 2016128

(八)^ The Keccak sponge function family. 2016128

外部リンク

[編集]