BLAKE

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

BLAKEBLAKE2是基于丹尼尔·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 的实现:

BLAKE3

BLAKE3
概述
设计者Jack O'Connor, Samuel Neves, Jean-Philippe Aumasson, Zooko Wilcox-O'Hearn
首次发布2020年1月9日,​4年前​(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). 

外部链接

 
常用函数
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
认证加密模式
攻击
设计
  • 雪崩效应
  • 碰撞
  • 默克尔-达姆加德结构英语Merkle–Damgård construction
标准化
  • CRYPTREC英语CRYPTREC
  • NESSIE英语NESSIE
  • NIST散列函数竞赛英语NIST hash function competition
实际应用
  • 分类 分类
  • 主题 主题
  • 专题 专题