SHA-3(Keccak)雜湊計算工具(免費)

免費工具:在瀏覽器中即時計算輸入字串的 SHA-3(Keccak)雜湊值。SHA-3 是 NIST 於 2012 年標準化的下一代雜湊函式,採用了與 SHA-2 根本不同的"海綿結構"。

已複製!

SHA-3 雜湊計算是什麼

SHA-3 雜湊計算是指將輸入的字串轉換為256位元(32位元組)的固定長度資料。SHA-3 是 NIST 於2012年標準化的最新世代雜湊函數,相同輸入永遠得到相同雜湊值,另一方面由雜湊值反推原始字串在計算上不可能,具有所謂的「單向性」。本工具只需在輸入欄輸入字串,即會在瀏覽器上即時計算 SHA-3 雜湊值。

SHA-3 最大的特點,在於採用了與 SHA-2(SHA-256、SHA-512 等)根本不同的「海綿結構」設計。即使將來 SHA-2 被發現某種脆弱性,由於設計原理不同,一般認為影響也難以波及 SHA-3,因此它被定位為密碼學上的「保險」。計算全部在瀏覽器內完成,輸入的字串不會送往伺服器。

SHA-3 雜湊計算的使用方法

  1. 輸入想雜湊化的字串 在輸入欄輸入密碼或檔案內容等,想求取雜湊值的字串。
  2. 確認 SHA-3 雜湊值的顯示 輸入的同時,256位元的 SHA-3 雜湊值會以十六進位字串即時顯示。
  3. 視需要複製 按下「複製」按鈕即可將顯示中的雜湊值複製到剪貼簿。可直接貼入程式的測試碼或對照用途。

用好本工具的小技巧

  • SHA-3 由 Keccak 演算法演變而來,通過 NIST 2007—2012 年競賽選出,輸出 256 位
  • SHA-2 採用 Merkle-Damgård 構造,SHA-3 則採用全新的海綿構造(Sponge Construction)
  • 目前無已知安全漏洞;若與現有系統相容,優先推薦 SHA-256,新設計可考慮 SHA-3。
  • Ethereum 內部使用的是 Keccak-256,與標準化後的 SHA-3 存在微妙差異(填充方式不同)。
  • 海綿構造非常適合硬體實現,同時也是任意長度輸出函式 SHAKE128/SHAKE256 的基礎。

SHA-3 雜湊計算派上用場的場合

新系統中雜湊函數的驗證

在考慮於即將設計的系統採用 SHA-3 時,可在瀏覽器上立即確認實際輸出值,並與實作程式碼的輸出相互核對。

理解使用 Keccak 系雜湊的規格

在調查如 Ethereum 這類採用自有 Keccak-256 的規格時,實際動手比較其與 NIST 標準 SHA-3-256 的輸出差異,會很有幫助。

作為密碼學學習與演算法比較的教材

若想比對同一輸入下 SHA-3 與 SHA-2 系的雜湊值差異有多大,可在多重雜湊一次計算工具中並列確認,理解會更深入。

作為與 SHA-256 分別使用的判斷依據

在猶豫是否該以與既有系統的相容性為優先而採用 SHA-256 時,可先實際產生兩者的雜湊值,確認要記載於規格書的格式。SHA-256 的計算請使用SHA-256 雜湊計算工具

SHA-3 的相關術語

SHA-3
NIST 於2012年標準化的雜湊函數名稱,內部採用 Keccak 演算法。定義有224、256、384、512位元四種輸出長度,本工具使用256位元輸出。
Keccak
由比利時的研究者團隊所設計、在 NIST 的 SHA-3 競賽中獲選的演算法。SHA-3 這個名稱是 NIST 標準化之後的稱呼,Keccak 本身則指涉在此之前即已存在的更廣泛概念。
海綿結構
將輸入資料「吸收」進內部狀態,再依需要的長度「擠出」輸出的 SHA-3 設計方式。與 SHA-2 採用的 Merkle–Damgård 結構不同,形成了針對 SHA-2 的攻擊手法難以直接套用的結構性差異。
抗碰撞性
指兩個不同輸入不易產生相同雜湊值的性質。SHA-3 現階段尚未發現可實用地找出碰撞的攻擊方法,可安全用於數位簽章與資料竄改偵測。
與 SHA-2 的差異
SHA-2(SHA-256、SHA-512 等)與 SHA-3 名稱相似,但內部結構截然不同,屬於不同系統的演算法。NIST 並非以取代 SHA-2 為目的,而是要求設計出 SHA-2 將來若被攻破時的替代方案。
單向雜湊函數
指由某個輸入計算輸出(雜湊值)很容易,但由輸出反推輸入在計算上不可能的函數。SHA-3 亦具備此性質,因此可安全用於密碼的對照等用途。

常見問題

兩者目前均安全可靠。與現有系統相容時推薦 SHA-256;新設計若希望採用獨立設計的演算法,可選擇 SHA-3。

不同。Ethereum 在 NIST 標準化之前就採用了 Keccak,填充方式不同,因此相同輸入會產生不同的雜湊值。計算 Ethereum 地址需使用專用的 Keccak 實現。

不能。SHA-3 是單向雜湊函式,在計算上無法從雜湊值逆推出原始資料,因此可安全用於密碼驗證和資料完整性校驗。
工具君

閒話 ― Keccak 的誕生與 NIST 競賽

2006 年前後,SHA-1 碰撞攻擊的可行性逐漸顯現,NIST 決定面向全球徵集下一代雜湊標準,並於 2007 年正式啟動競賽。共有 64 個演算法參賽,歷經多輪評審,2012 年最終選出由 Joan Daemen(AES 聯合設計者)領銜的 Keccak 演算法。

需要特別指出的是,SHA-3 的設計初衷並非取代 SHA-2,而是作為"萬一 SHA-2 被破解時的備選方案"。兩者基於截然不同的設計理念,從而降低了同時被攻破的風險。

海綿構造的一大優勢是可擴充套件性——在此基礎上衍生出了支援任意輸出長度的 SHAKE128 和 SHAKE256(可擴充套件輸出函式,XOF),極大地拓展了雜湊函式的應用場景。