fbpx
维基百科

SHA家族

安全散列演算法(英語:Secure Hash Algorithm,縮寫為SHA)是一個密碼雜湊函數家族,是FIPS所認證的安全雜湊演算法。能計算出一個數位訊息所對應到的,長度固定的字串(又稱訊息摘要)的算法。且若輸入的訊息不同,它們對應到不同字串的機率很高。

SHA家族的演算法,由美國國家安全局(NSA)所設計,並由美國國家標準與技術研究院(NIST)發佈,是美國的政府標準,其分別是:

  • SHA-0:1993年发布,当时称做安全散列标准(Secure Hash Standard),发布之后很快就被NSA撤回,是SHA-1的前身。
  • SHA-1:1995年发布,SHA-1在許多安全協定中廣為使用,包括TLSGnuPGSSHS/MIMEIPsec,是MD5的後繼者。但SHA-1的安全性在2010年以后已经不被大多数的加密场景所接受。2017年荷兰密码学研究小组CWI和Google正式宣布攻破了SHA-1[1]
  • SHA-2:2001年发布,包括SHA-224、SHA-256、SHA-384、SHA-512、SHA-512/224、SHA-512/256。SHA-2目前沒有出現明顯的弱點。雖然至今尚未出現對SHA-2有效的攻擊,但它的演算法跟SHA-1基本上仍然相似。
  • SHA-3:2015年正式发布,由於對MD5出現成功的破解,以及對SHA-0和SHA-1出現理論上破解的方法,NIST感覺需要一個與之前演算法不同的,可替換的加密雜湊演算法,也就是現在的SHA-3。

SHA函数对比

下表中的中繼雜湊值(internal state)表示對每個資料區塊壓縮雜湊過後的中繼值(internal hash sum)。

SHA函数对比
算法和变体 輸出雜湊值長度
(bits)
中繼雜湊值長度
(bits)
資料區塊長度
(bits)
最大輸入訊息長度
(bits)
迴圈次數 使用到的運算子 碰撞攻击
(bits)
性能示例[3]
(MiB/s)
MD5(作为参考) 128 128
(4 × 32)
512 无限[4] 64 And, Xor, Rot, Add (mod 232), Or ≤18
(发现碰撞)
335
SHA-0 160 160
(5 × 32)
512 264 − 1 80 And, Xor, Rot, Add (mod 232), Or <34
(发现碰撞)
-
SHA-1 160 160
(5 × 32)
512 264 − 1 80 <63[5]
(发现碰撞[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 (arbitrary)
d (arbitrary)
1344
1088
min(d/2, 128)
min(d/2, 256)
-

SHAd

SHAd函數是一個簡單的相同SHA函數的重述:

SHAd-256(m)=SHA-256(SHA-256(m))。它會克服有關延伸長度攻擊的問題。

参考文献

引用

  1. ^ SHAttered. shattered.it. [2017-02-24]. (原始内容于2017-02-23) (英语). 
  2. ^ Crypto++ 5.6.0 Benchmarks. [2013-06-13]. (原始内容于2016-10-14). 
  3. ^ Found on an AMD Opteron 8354 2.2 GHz processor running 64-bit Linux[2]
  4. ^ The MD5 Message-Digest Algorithm. [2016-04-18]. (原始内容于2017-04-26). 
  5. ^ The SHAppening: freestart collisions for SHA-1. [2015-11-05]. (原始内容于2017-04-19). 
  6. ^ Announcing the first SHA1 collision. 2017-02-23 [2017-02-23]. (原始内容于2017-04-24). 
  7. ^ The Sponge Functions Corner. [2016-01-27]. (原始内容存档于2012-09-04). 
  8. ^ The Keccak sponge function family. [2016-01-27]. (原始内容于2016-08-06). 

来源

  • Eli Biham, Rafi Chen, Near-Collisions of SHA-0, Cryptology ePrint Archive, Report 2004/146, 2004 (to appear CRYPTO 2004) [1](页面存档备份,存于互联网档案馆
  • Florent Chabaud, Antoine Joux: Differential Collisions in SHA-0. CRYPTO 1998. pp. 56–71.
  • Henri Gilbert, Helena Handschuh: Security Analysis of SHA-256 and Sisters. Selected Areas in Cryptography 2003: pp. 175–193.

外部链接

  • 安全雜湊標準
  • RFC 3174(页面存档备份,存于互联网档案馆),美國安全雜湊演算法1(SHA1)
  • 這個Javascript SHA-1計算機會展示計算過程中的中繼值(页面存档备份,存于互联网档案馆

參見

sha家族, 安全散列演算法, 英語, secure, hash, algorithm, 縮寫為sha, 是一個密碼雜湊函數家族, 是fips所認證的安全雜湊演算法, 能計算出一個數位訊息所對應到的, 長度固定的字串, 又稱訊息摘要, 的算法, 且若輸入的訊息不同, 它們對應到不同字串的機率很高, 的演算法, 由美國國家安全局, 所設計, 並由美國國家標準與技術研究院, nist, 發佈, 是美國的政府標準, 其分別是, 1993年发布, 当时称做安全散列标准, secure, hash, standard, 发布. 安全散列演算法 英語 Secure Hash Algorithm 縮寫為SHA 是一個密碼雜湊函數家族 是FIPS所認證的安全雜湊演算法 能計算出一個數位訊息所對應到的 長度固定的字串 又稱訊息摘要 的算法 且若輸入的訊息不同 它們對應到不同字串的機率很高 SHA家族的演算法 由美國國家安全局 NSA 所設計 並由美國國家標準與技術研究院 NIST 發佈 是美國的政府標準 其分別是 SHA 0 1993年发布 当时称做安全散列标准 Secure Hash Standard 发布之后很快就被NSA撤回 是SHA 1的前身 SHA 1 1995年发布 SHA 1在許多安全協定中廣為使用 包括TLS GnuPG SSH S MIME和IPsec 是MD5的後繼者 但SHA 1的安全性在2010年以后已经不被大多数的加密场景所接受 2017年荷兰密码学研究小组CWI和Google正式宣布攻破了SHA 1 1 SHA 2 2001年发布 包括SHA 224 SHA 256 SHA 384 SHA 512 SHA 512 224 SHA 512 256 SHA 2目前沒有出現明顯的弱點 雖然至今尚未出現對SHA 2有效的攻擊 但它的演算法跟SHA 1基本上仍然相似 SHA 3 2015年正式发布 由於對MD5出現成功的破解 以及對SHA 0和SHA 1出現理論上破解的方法 NIST感覺需要一個與之前演算法不同的 可替換的加密雜湊演算法 也就是現在的SHA 3 目录 1 SHA函数对比 2 SHAd 3 参考文献 3 1 引用 3 2 来源 4 外部链接 5 參見SHA函数对比 编辑下表中的中繼雜湊值 internal state 表示對每個資料區塊壓縮雜湊過後的中繼值 internal hash sum 更多信息 Merkle Damgard construction SHA函数对比 算法和变体 輸出雜湊值長度 bits 中繼雜湊值長度 bits 資料區塊長度 bits 最大輸入訊息長度 bits 迴圈次數 使用到的運算子 碰撞攻击 bits 性能示例 3 MiB s MD5 作为参考 128 128 4 32 512 无限 4 64 And Xor Rot Add mod 232 Or 18 发现碰撞 335SHA 0 160 160 5 32 512 264 1 80 And Xor Rot Add mod 232 Or lt 34 发现碰撞 SHA 1 160 160 5 32 512 264 1 80 lt 63 5 发现碰撞 6 192SHA 2 SHA 224SHA 256 224256 256 8 32 512 264 1 64 And Xor Rot Add mod 232 Or Shr 112 128 139SHA 384SHA 512SHA 512 224SHA 512 256 384512224 256 512 8 64 1024 2128 1 80 And Xor Rot Add mod 264 Or Shr 192256112128 154SHA 3 SHA3 224SHA3 256SHA3 384SHA3 512 224256384512 1600 5 5 64 11521088832576 无限 7 24 8 And Xor Rot Not 112128192256 SHAKE128SHAKE256 d arbitrary d arbitrary 13441088 min d 2 128 min d 2 256 SHAd 编辑此章節沒有提供參考來源 內容可能無法查證 2016年12月15日 SHAd函數是一個簡單的相同SHA函數的重述 SHAd 256 m SHA 256 SHA 256 m 它會克服有關延伸長度攻擊的問題 参考文献 编辑引用 编辑 SHAttered shattered it 2017 02 24 原始内容存档于2017 02 23 英语 Crypto 5 6 0 Benchmarks 2013 06 13 原始内容存档于2016 10 14 Found on an AMD Opteron 8354 2 2 GHz processor running 64 bit Linux 2 The MD5 Message Digest Algorithm 2016 04 18 原始内容存档于2017 04 26 The SHAppening freestart collisions for SHA 1 2015 11 05 原始内容存档于2017 04 19 Announcing the first SHA1 collision 2017 02 23 2017 02 23 原始内容存档于2017 04 24 The Sponge Functions Corner 2016 01 27 原始内容存档于2012 09 04 The Keccak sponge function family 2016 01 27 原始内容存档于2016 08 06 来源 编辑 Eli Biham Rafi Chen Near Collisions of SHA 0 Cryptology ePrint Archive Report 2004 146 2004 to appear CRYPTO 2004 1 页面存档备份 存于互联网档案馆 Florent Chabaud Antoine Joux Differential Collisions in SHA 0 CRYPTO 1998 pp 56 71 Henri Gilbert Helena Handschuh Security Analysis of SHA 256 and Sisters Selected Areas in Cryptography 2003 pp 175 193 外部链接 编辑FIPS PUB 180 2 安全雜湊標準 RFC 3174 页面存档备份 存于互联网档案馆 美國安全雜湊演算法1 SHA1 這個Javascript SHA 1計算機會展示計算過程中的中繼值 页面存档备份 存于互联网档案馆 SHA 256在线格计算工具參見 编辑 信息技术主题 计算机科学主题 编码 密码学 加密技术 演算法 图灵机 图灵归约 交互式证明系统 隨機預言機 MD5 取自 https zh wikipedia org w index php title SHA家族 amp oldid 64192918, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。