BLAKE
密码哈希函数提交给NIST哈希函数竞争
此條目翻譯品質不佳。 (2023年8月2日) |
BLAKE和BLAKE2是基於丹尼爾·J·伯恩斯坦ChaCha流密碼的密碼散列函數。與SHA-2一樣,有兩種不同字大小的變體。BLAKE-256和BLAKE-224使用32位字,分別產生256位和224位的摘要大小,而BLAKE-512和BLAKE-384分別使用64位字,產生512位和384位的摘要大小。[1]在64位的x64和ARM體系結構上運行時,BLAKE2b比SHA-3,SHA-2,SHA-1和MD5更快。[2]BLAKE2的安全性提供類似於SHA-3,優於SHA-2:免疫長度擴展攻擊,來自隨機預言機的無差異性等。[3]
概述 | |
---|---|
設計者 | Jean-Philippe Aumasson, Luca Henzen, Willi Meier, Raphael C.-W. Phan |
繼承算法 | BLAKE2 |
認證 | SHA-3決賽算法 |
細節 | |
摘要長度 | 224、256、384、512位 |
結構 | HAIFA construction |
重複回數 | 14 或 16 |
速度 | 8.4 cpb on Core 2 for BLAKE-256; 7.8 cpb for BLAKE-512 |
BLAKE2
概述 | |
---|---|
設計者 | Jean-Philippe Aumasson, Samuel Neves, Zooko Wilcox-O'Hearn, Christian Winnerlein |
衍生自 | BLAKE |
細節 | |
摘要長度 | 最多64個字節(BLAKE2b);最多32個字節(BLAKE2s);任意長度(BLAKE2X) |
重複回數 | 10 or 12 |
速度 | 3.5 cpb on Core i5 (Ivy Bridge) for BLAKE2b[4] |
BLAKE的改進版本BLAKE2於2012年12月21日宣布推出。它由Jean-Philippe Aumasson、Samuel Neves、Zooko Wilcox-O'Hearn和Christian Winnerlein設計。[5]參考實施代碼在CC0下發布。[2]
概述
BLAKE2 是在 RFC 7693 中定義的加密哈希函數,它有兩種形式:
- BLAKE2b
- BLAKE2s
應用
- Password Hashing Competition 的獲勝者 Argon2 使用 BLAKE2b
- Chef 的 Habitat 部署系統使用 BLAKE2b 進行包簽名[6]
- FreeBSD Ports 包管理工具使用 BLAKE2b
- GNU Core Utilities 在其 b2sum 命令中實現了 BLAKE2b[7]
- IPFS allows use of BLAKE2b for tree hashing
- librsync 使用 BLAKE2b[8]
- Noise (cryptographic protocol), which is used in WhatsApp includes BLAKE2 as an option.[9][來源請求]
- RAR file archive format version 5 supports an optional 256-bit BLAKE2sp file checksum instead of the default 32-bit CRC32; it was implemented in WinRAR v5+[10]
- 7-Zip can generate the BLAKE2sp signature for each file in the Explorer shell via "CRC SHA" context menu, and choosing '*'
- rmlint 使用 BLAKE2b 進行重複文件檢測[11]
- WireGuard uses BLAKE2s for hashing[12]
- Zcash, a cryptocurrency, uses BLAKE2b in the Equihash proof of work, 並作為密鑰派生函數
- NANO, a cryptocurrency, uses BLAKE2b in the proof of work, for hashing digital signatures and as a 密鑰派生函數[13][14][15]
- Polkadot 區塊鏈使用 BLAKE2b 作為其哈希算法。
- PCI Vault, uses BLAKE2b as its hashing algorithm for the purpose of PCI compliant PCD tokenization.
- Ergo, a cryptocurrency, uses BLAKE2b256 as a subroutine of its hashing algorithm called Autolykos.[16]
- Linux kernel, version 5.17 replaced SHA-1 with BLAKE2s for hashing the entropy pool in the 隨機數生成器.[17]
實現
除了參考實現以外,[18] 以下密碼庫提供了 BLAKE2 的實現:
BLAKE3
概述 | |
---|---|
設計者 | Jack O'Connor, Samuel Neves, Jean-Philippe Aumasson, Zooko Wilcox-O'Hearn |
首次發布 | 2020年1月9日 |
衍生自 | Bao, BLAKE2 |
細節 | |
摘要長度 | 256 bits, arbitrarily extensible |
結構 | Merkle tree |
重複回數 | 7 |
速度 | 0.49 cpb on Cascade Lake-SP with AVX-512[19] |
BLAKE3於2020年1月9日在 Real World Crypto 上宣布推出[20]。BLAKE3 是基於 Bao 和 BLAKE2 的加密哈希函數,作者為 Jack O'Connor, Jean-Philippe Aumasson, Samuel Neves 和 Zooko Wilcox-O'Hearn.[21]
參考文獻
- ^ Saarinen, M-J; Aumasson, J-P. The BLAKE2 Cryptographic Hash and Message Authentication Code (MAC). IETF. November 2015 [4 December 2015]. RFC 7693.
- ^ 2.0 2.1 BLAKE2. blake2.net. [2018-10-27]. (原始內容存檔於2018-11-01).
- ^ Aumasson, Neves, Wilcox-O』Hearn, and Winnerlein. BLAKE2: simpler, smaller, fast as MD5 (PDF). Cryptology ePrint Archive. IACR. [2018-10-27]. (原始內容存檔 (PDF)於2017-08-09).
- ^ BLAKE2 – an alternative to MD5/SHA-1. [2018-10-27]. (原始內容存檔於2015-04-30).
- ^ O'Whielacronx, Zooko. introducing BLAKE2 – an alternative to SHA-3, SHA-2 and MD5. 21 December 2012 [2018-10-27]. (原始內容存檔於2016-10-05).
- ^ About Chef Habitat. docs.chef.io. [2022-08-30]. (原始內容存檔於2022-08-10).
- ^ coreutils/src/blake2/. github.com. [2022-08-30]. (原始內容存檔於2022-07-21).
- ^ librsync/src/blake2/. github.com. [2022-08-30]. (原始內容存檔於2022-08-30).
- ^ WhatsApp Security Whitepaper (PDF). [2022-08-30]. (原始內容存檔 (PDF)於2016-04-05).
- ^ WinRAR archiver, a powerful tool to process RAR and ZIP files. rarsoft.com. [2022-08-30]. (原始內容存檔於2017-06-06).
- ^ rmlint — rmlint (2.8.0 Maidenly Moose) documentation. rmlint.readthedocs.io. [2022-08-30]. (原始內容存檔於2022-08-30).
- ^ WireGuard: Next Generation Kernel Network Tunnel (PDF). [2022-08-30]. (原始內容存檔 (PDF)於2018-03-04).
- ^ work. docs.nano.org. [2022-08-30]. (原始內容存檔於2022-08-30).
- ^ signatures. docs.nano.org. [2022-08-30]. (原始內容存檔於2022-08-30).
- ^ key derivation. docs.nano.org. [2022-08-30]. (原始內容存檔於2022-08-30).
- ^ Autolykos: The Ergo Platform PoW Puzzle (PDF). ergoplatform.org. [2022-08-30]. (原始內容存檔 (PDF)於2021-12-13).
- ^ Linux 5.17 Random Number Generator Seeing Speed-Ups, Switching From SHA1 To BLAKE2s. www.phoronix.com. [2022-08-30]. (原始內容存檔於2022-02-05).
- ^ 引用錯誤:沒有為名為
reference-implementation-repo
的參考文獻提供內容 - ^ BLAKE3 – one function, fast everywhere (PDF). GitHub.
- ^ JPA and I announced BLAKE3 at the RWC lightning talks..... Hacker News. [2022-08-30]. (原始內容存檔於2022-01-10).
- ^ An earlier version of Bao specified its own custom tree mode, which eventually grew into BLAKE3.. GitHub. [2022-08-30]. (原始內容存檔於2022-08-30).
外部連結
- The BLAKE web site(頁面存檔備份,存於網際網路檔案館)
- The BLAKE2 web site(頁面存檔備份,存於網際網路檔案館)
- VHDL source code(頁面存檔備份,存於網際網路檔案館) developed by the Cryptographic Engineering Research Group (CERG) at George Mason University
- Polkadot (DOT) 錢包 (頁面存檔備份,存於網際網路檔案館)