在線工具箱

sha1加密

什麼是sha1加密?

SHA-1(英語:Secure Hash Algorithm 1,中文名:安全散列算法1)是一種密碼散列函數,美國國家安全局設計,並由美國國家標準技術研究所(NIST)發佈為聯盟數據處理標準(FIPS)。SHA-1可以生成一個被稱為消息摘要的160位(20位元組)散列值,散列值通常的呈現形式為40個十六進位數。

sha1、sha256、sha384、sha512之間的區別?

sha1、sha256、sha384、sha512他們之間的區別在於加密算法、加密後密文長度以及破解難度。相對來說sha256的加密安全性已經相當高了。

sha1加密可以破解嗎?

鑑於SHA-0的破密成果,專家們建議那些計劃利用SHA-1實現密碼系統的人們也應重新考慮。在2004年CRYPTO會議結果公佈之後,NIST即宣佈他們將逐漸減少使用SHA-1,改以SHA-2取而代之。2005年,Rijmen和Oswald發表了對SHA-1較弱版本(53次的加密迴圈而非80次)的攻擊:在2的計算複雜度之內找到碰撞。2005年二月,王小雲、殷益群及於紅波發表了對完整版SHA-1的攻擊,只需少於2的計算複雜度,就能找到一組碰撞。(利用生日攻擊法找到碰撞需要2的計算複雜度。) 這篇論文的作者們寫道;“我們的破密分析是以對付SHA-0的差分攻擊、近似碰撞、多區塊碰撞技術、以及從MD5算法中查找碰撞的消息更改技術為基礎。沒有這些強力的分析工具,SHA-1就無法破解。”此外,作者還展示了一次對58次加密迴圈SHA-1的破密,在2個單位操作內就找到一組碰撞。完整攻擊方法的論文發表在2005年八月的CRYPTO會議中。殷益群在一次面談中如此陳述:“大致上來說,我們找到了兩個弱點:其一是前置處理不夠複雜;其二是前20個迴圈中的某些數學運算會造成不可預期的安全性問題。”2005年8月17日的CRYPTO會議尾聲中王小雲、姚期智、姚儲楓再度發表更有效率的SHA-1攻擊法,能在2個計算複雜度內找到碰撞。2006年的CRYPTO會議上,Christian Rechberger和Christophe De Cannière宣佈他們能在容許攻擊者決定部分原消息的條件之下,找到SHA-1的一個碰撞。在密碼學的學術理論中,任何攻擊方式,其計算複雜度若少於暴力蒐索法所需要的計算複雜度,就能被視為針對該密碼系統的一種破密法;但這並不表示該破密法已經可以進入實際應用的階段。就應用層面的考量而言,一種新的破密法出現,暗示著將來可能會出現更有效率、足以實用的改良版本。雖然這些實用的破密法版本根本還沒誕生,但確有必要發展更強的散列算法來取代舊的算法。在“碰撞”攻擊法之外,另有一種反譯攻擊法(Pre-image attack),就是由散列出的字串反推原本的消息;反譯攻擊的嚴重性更在碰撞攻擊之上,但也更困難。在許多會應用到密碼散列的情境(如用戶密碼的存放、檔案的數位簽名等)中,碰撞攻擊的影響並不是很大。舉例來說,一個攻擊者可能不會只想要偽造一份一模一樣的檔案,而會想改造原來的檔案,再附上合法的簽名,來愚弄持有公鑰的驗證者。另一方面,如果可以從密文中反推未加密前的用戶密碼,攻擊者就能利用得到的密碼登錄其他用戶的賬戶,而這種事在密碼系統中是不能被允許的。但若存在反譯攻擊,只要能得到指定用戶密碼散列過後的字串(通常存在影檔中,而且可能不會透露原密碼資訊),就有可能得到該用戶的密碼。2017年2月23日,Google公司公告宣稱他們與CWI Amsterdam合作共同創建了兩個有著相同的SHA-1值但內容不同的PDF檔案,這代表SHA-1算法已被正式攻破。