提供 BLAKE3 加密雜湊函數,比 SHA-10 快 2 倍

演算法的最終實作已經發布 布萊克3,它提供了專為文件完整性檢查、訊息身份驗證和生成數位簽章資料等應用程式而設計的加密雜湊函數。 BLAKE3 不適用於散列密碼(對於密碼,您需要使用 yescrypt、bcrypt、scrypt 或 Argon2),因為它的目的是盡快計算散列,並保證不會發生衝突、防止 尋找原型 且對散列資料的大小不敏感。 BLAKE3的參考實現 發表 獲得公共領域 (CC0) 和 Apache 2.0 的雙重授權。

新雜湊函數的主要區別在於雜湊計算的效能非常高,同時保持 SHA-3 等級的可靠性。 預設情況下,BLAKE3 中產生的雜湊大小為 32 位元組(256 位元),但它可以擴展到任意值。 在針對 16 KB 檔案的雜湊產生測試中,BLAKE3 的效能優於 SHA3-256 15 倍、SHA-256 12 倍、SHA-512 8 倍、SHA-1 6 倍、BLAKE2b 4 倍。 當處理大量資料時,仍然存在很大的差距,例如,BLAKE3 被證明是 更快 計算 256GB 隨機資料的雜湊值時,SHA-8 乘以 1 倍。

提供 BLAKE3 加密雜湊函數,比 SHA-10 快 2 倍

該演算法由著名密碼學專家(傑克·奧康納, 讓-菲利普·奧馬松, 塞繆爾·內維斯, 佐科·威爾科克斯-奧赫恩)並繼續開發演算法 布萊克2 並使用一種機制對區塊鏈樹進行編碼 。 與 BLAKE2(BLAKE2b、BLAKE2s)不同,BLAKE3 為所有平台提供單一演算法,不受位元深度和雜湊大小的限制。

透過將輪數從 10 減少到 7 並以 1 KB 的塊單獨散列塊,實現了性能的提高。 根據創作者的說法,他們找到了一個令人信服的 證據,你可以用 7 輪而不是 10 輪來完成,同時保持相同水平的可靠性(為了清楚起見,你可以舉一個在攪拌機中混合水果的例子 - 7 秒後,水果已經完全混合,另外 3 秒將不影響混合物的稠度)。 然而,一些研究人員表示懷疑,認為即使目前 7 輪足以抵禦所有已知的哈希攻擊,但如果將來發現新的攻擊,額外的 3 輪可能會有用。

至於劃分區塊,在 BLAKE3 中,流被劃分為 1 KB 的區塊,並且每個區塊都獨立進行雜湊處理。 基於基礎上碎片的哈希值 二元默克爾樹 形成一個大散列。 這種劃分使我們能夠解決計算哈希時並行資料處理的問題——例如,可以使用4線程SIMD指令同時計算4個區塊的哈希。 傳統的 SHA-* 雜湊函數會依序處理資料。

BLAKE3的特點:

  • 高性能;
  • 安全性,包括抵抗力 訊息延長攻擊,SHA-2 對其敏感;
  • 確保任意數量的線程和SIMD通道上的計算並行化;
  • 增量更新和驗證流處理的可能性;
  • 用於 PRF、MAC、KDF、XOF 模式並作為常規哈希;
  • 適用於所有架構的單一演算法,在 x86-64 系統和 32 位元 ARM 處理器上都快速運作。

來源: opennet.ru

添加評論