BLAKE

此條目翻譯品質不佳。 (2023年8月2日)
翻譯者可能不熟悉中文或原文語言，也可能使用了機器翻譯。請協助翻譯本條目或重新編寫，并注意避免翻译腔的问题。明顯拙劣的翻譯請改掛`{{d|G13}}`提交刪除。

|

BLAKE概述

设计者| Jean-Philippe Aumasson, Luca Henzen, Willi Meier, Raphael C.-W. Phan
继承算法| BLAKE2
认证| SHA-3决赛算法（英语：NIST hash function competition）

摘要长度| 224、256、384、512位
结构| HAIFA construction（英语：HAIFA construction）
重复回数| 14 或 16
速度| 8.4 cpb（英语：cycles per byte） on Core 2 for BLAKE-256; 7.8 cpb for BLAKE-512

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]

## BLAKE2

[编辑]

BLAKE2概述

设计者| Jean-Philippe Aumasson, Samuel Neves, Zooko Wilcox-O'Hearn（英语：Zooko Wilcox-O'Hearn）, Christian Winnerlein
衍生自| BLAKE

摘要长度| 最多64个字节（BLAKE2b）；最多32个字节（BLAKE2s）；任意长度（BLAKE2X）
重复回数| 10 or 12
速度| 3.5 cpb（英语：cycles per byte） 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 的实现：

* Botan
* Bouncy Castle
* Crypto++
* Libgcrypt
* libsodium
* OpenSSL
* wolfSSL

## BLAKE3

[编辑]

BLAKE3概述

设计者| Jack O'Connor, Samuel Neves, Jean-Philippe Aumasson, Zooko Wilcox-O'Hearn
首次发布| 2020年1月9日，​5年前​（2020-01-09）
衍生自| 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]

## 参考文献

[编辑]

1. ^ Saarinen, M-J; Aumasson, J-P. The BLAKE2 Cryptographic Hash and Message Authentication Code (MAC). IETF. November 2015 [4 December 2015]. RFC 7693.
2. ^ 2.0 2.1 BLAKE2. blake2.net.  [2018-10-27]. （原始内容存档于2018-11-01）.
3. ^ 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）.
4. ^ BLAKE2 – an alternative to MD5/SHA-1.  [2018-10-27]. （原始内容存档于2015-04-30）.
5. ^ O'Whielacronx, Zooko. introducing BLAKE2 – an alternative to SHA-3, SHA-2 and MD5. 21 December 2012  [2018-10-27]. （原始内容存档于2016-10-05）.
6. ^ About Chef Habitat. docs.chef.io.  [2022-08-30]. （原始内容存档于2022-08-10）.
7. ^ coreutils/src/blake2/. github.com.  [2022-08-30]. （原始内容存档于2022-07-21）.
8. ^ librsync/src/blake2/. github.com.  [2022-08-30]. （原始内容存档于2022-08-30）.
9. ^ WhatsApp Security Whitepaper (PDF).  [2022-08-30]. （原始内容存档 (PDF)于2016-04-05）.
10. ^ WinRAR archiver, a powerful tool to process RAR and ZIP files. rarsoft.com.  [2022-08-30]. （原始内容存档于2017-06-06）.
11. ^ rmlint — rmlint (2.8.0 Maidenly Moose) documentation. rmlint.readthedocs.io.  [2022-08-30]. （原始内容存档于2022-08-30）.
12. ^ WireGuard: Next Generation Kernel Network Tunnel (PDF).  [2022-08-30]. （原始内容存档 (PDF)于2018-03-04）.
13. ^ work. docs.nano.org.  [2022-08-30]. （原始内容存档于2022-08-30）.
14. ^ signatures. docs.nano.org.  [2022-08-30]. （原始内容存档于2022-08-30）.
15. ^ key derivation. docs.nano.org.  [2022-08-30]. （原始内容存档于2022-08-30）.
16. ^ Autolykos: The Ergo Platform PoW Puzzle (PDF). ergoplatform.org.  [2022-08-30]. （原始内容存档 (PDF)于2021-12-13）.
17. ^ Linux 5.17 Random Number Generator Seeing Speed-Ups, Switching From SHA1 To BLAKE2s. www.phoronix.com.  [2022-08-30]. （原始内容存档于2022-02-05）.
18. ^ 引用错误：没有为名为`reference-implementation-repo`的参考文献提供内容
19. ^ BLAKE3 – one function, fast everywhere (PDF). GitHub.
20. ^ JPA and I announced BLAKE3 at the RWC lightning talks..... Hacker News.  [2022-08-30]. （原始内容存档于2022-01-10）.
21. ^ 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) 钱包 （页面存档备份，存于互联网档案馆）

* 查
* 论
* 编

雜湊函數 & 訊息鑑別碼

* 列表
* 比较
* 已知攻击

常用函数|

* MD5
* SHA-1
* SHA-2
* SHA-3/Keccak
* BLAKE2

SHA-3入围（英语：NIST hash function competition）|

* BLAKE
* Grøstl
* JH（英语：JH (hash function)）
* Skein（英语：Skein (hash function)）
* Keccak（胜出）

其他函数|

* CubeHash（英语：CubeHash）
* ECOH（英语：Elliptic curve only hash）
* FSB（英语：Fast Syndrome Based Hash）
* GOST（英语：GOST (hash function)）
* HAS-160（英语：HAS-160）
* HAVAL（英语：HAVAL）
* Kupyna（英语：Kupyna）
* LM hash（英语：LM hash）
* MD2
* MD4
* MD6
* MDC-2（英语：MDC-2）
* N-Hash（英语：N-Hash）
* RIPEMD
* RadioGatún（英语：RadioGatún）
* SWIFFT（英语：SWIFFT）
* SipHash（英语：SipHash）
* Snefru（英语：Snefru）
* Streebog（英语：Streebog）
* Tiger（英语：Tiger (cryptography)）
* VSH（英语：Very smooth hash）
* WHIRLPOOL（英语：Whirlpool (cryptography)）
* SM3
* X11

密码散列/
密钥延伸函数|

* Argon2
* Balloon
* bcrypt
* Catena（英语：Catena (cryptography)）
* crypt(3)（英语：Crypt (C)） (DES)
* LM散列（英语：LAN Manager#LM hash details）
* Lyra2
* Makwa（英语：Makwa (cryptography)）
* PBKDF2
* scrypt
* yescrypt

密钥派生函数|

* HKDF
* KDF1/KDF2

MAC算法|

* DAA（英语：Data Authentication Algorithm）
* CBC-MAC（英语：CBC-MAC）
* HMAC
* OMAC（英语：One-key MAC）/CMAC（英语：CMAC）
* PMAC（英语：PMAC (cryptography)）
* VMAC（英语：VMAC）
* UMAC（英语：UMAC）
* Poly1305

认证加密模式|

* CCM
* CWC
* EAX
* GCM
* IAPM
* OCB（英语：OCB mode）

攻击|

* 碰撞攻击（英语：Collision attack）
* 原像攻击
* 生日攻击
* 穷举攻击/蛮力攻击
* 彩虹表
* 旁路攻击
* 长度扩展攻击

设计|

* 雪崩效应
* 碰撞
* 默克尔-达姆加德结构（英语：Merkle–Damgård construction）

标准化|

* CRYPTREC（英语：CRYPTREC）
* NESSIE（英语：NESSIE）
* NIST散列函数竞赛（英语：NIST hash function competition）

实际应用|

* 盐
* 密钥延伸
* 信息鉴定

* 查
* 论
* 编

密码学

* 密码学历史
* 密码分析
* 密碼學主題列表

* 對稱密鑰加密
* 分组密码
* 流密码
* 公开密钥加密
* 密碼雜湊函數
* 訊息鑑別碼
* 随机数
* 隐写术

* 分类
* 主题
* 专题

*[查]: 查看该模板
*[论]: 讨论该模板
*[编]: 编辑该模板