簡述SHA-2安全散列算法

在前面的文章,我們了解了SHA-1,今天我們就來聊一聊它的后續(xù)版本——SHA-2。SHA-2是“Secure Hash Algorithm 2”的縮寫,中文名稱和SHA-1對應,為“安全散列算法2”。

SHA-2

SHA-2是一種密碼散列函數(shù)算法標準,其中包括SHA-224、SHA-256、SHA-384、SHA-512、SHA-512/224、SHA-512/256,這些變體除了生成摘要的長度、循環(huán)運行的次數(shù)等一些微小差異外,算法的基本結(jié)構(gòu)是一致的。

它們有什么區(qū)別?

  • SHA-224和SHA-256的不同點:

h0到h7的初始值不同,以及SHA-224輸出時截掉h7的函數(shù)值。

  • SHA-512和SHA-256的不同點:

SHA-512所有的數(shù)字都是64位,SHA-512運行80次加密循環(huán)而非64次,SHA-512初始值和常量拉長成64位,以及二者比特的偏移量和循環(huán)位移量不同。

  • SHA-384和SHA-512的不同點:

h0到h7的初始值不同,以及SHA-384輸出時截掉h6和h7的函數(shù)值。

SHA-1和SHA-2的區(qū)別

兩者哈希值位數(shù)長度是其重要的區(qū)別,SHA-1是160位的哈希值,而SHA-2是組合值,有不同的位數(shù),其中最受歡迎的是256位,也就是SHA-256。

SHA-2安全散列

SHA-2的應用場景

  • 數(shù)據(jù)庫中保存用戶密碼

將用戶的密碼通過SHA-2輸出到數(shù)據(jù)庫,每次登錄時對比散列值即可。由于SHA-2的不可逆性,就算數(shù)據(jù)庫被盜取,也沒有辦法得到用戶的信息。有時為了更加安全,則會進行加鹽操作。

SHA-2安全散列

  • 防止文件篡改

目前大部分提供下載服務的網(wǎng)站都有提供文件的SHA值,這是因為單向散列函數(shù)具備防篡改的效果,若是下載的文件的SHA值和網(wǎng)站提供的SHA值不符,則可能此文件已經(jīng)遭到了篡改。

  • 數(shù)字簽名

在進行數(shù)字簽名時也會使用SHA-2,數(shù)字簽名的處理過程非常耗時,因此一般不會對整個消息內(nèi)容直接使用數(shù)字簽名,而是先通過SHA-2計算出消息的散列值,然后再對這個散列值使用私鑰加密,得到的就是數(shù)字簽名。

  • 安全協(xié)議

SHA-2算法在許多安全協(xié)議中廣為使用,包括TSL/SSL、PGP、SSH、S/MIME和IPsec,同時在TSL/SSL安全協(xié)議數(shù)字證書中,也有SHA-2的影子。

SHA-2安全散列

免責聲明:素材源于網(wǎng)絡,如有侵權(quán),請聯(lián)系刪稿。