SHA家族

安全散列演算法 （ 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 。 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 。