Blake作为一款优秀的哈希算法,以高速、安全和简单的特点被许多项目所采用。也正因如此,人们在Blake的基础之上研发出了Blake2。下面我们就一起来了解一下Blake2算法。

Blake2简介

Blake2不是一种算法,而是一系列算法,分别为Blake2b、Blake2s、Blake2bp、Blake2sp和Blake2x,它们的区别在于:

  • Blake2b是Blake的64位版本,它可以生成最高512位的任意长度哈希。
  • Blake2s是Blake的32位版本,它可以生成最高256位的任意长度哈希。
  • Blake2bp和Blake2sp是Blake2b和Blake2s算法,可进行多核并行运算大幅度的提升运算效率。
  • Blake2x可以生成任意长度的哈希值,最多可以生成4GiB的哈希值。

Blake2

Blake2与Blake的不同

Blake2不再向blake round函数中对输入字添加常量,修改了两个旋转常量及padding等。并在Blake2b中将rounds的数量由16减少为12,在Blake2s中将rounds数量由14减少为10。

由此变化之后,Blake2比Blake更加安全,并且在运算速度上有了大幅的提升。不但如此,由于Blake2变体算法较多,可使用场景也要比Blake算法更多。

Blake2的安全性

自2012年发布至今,Blake2经历了密码学专家的多年审查,并没有发现不安全因素。后来也被NIST认可,认为它与SHA-3具有同等级别的安全性。

Blake2

Blake2的应用

目前,Blake2被广泛应用于区块链数字货币领域,以取代SHA算法,另外WhatsApp和FreeBSD的管理器都在使用BLAKE2系列哈希算法。

Blake2的不足

虽然Blake2和SHA-3一样安全,甚至Blake2的速度更快,但从整体的应用情况来看,SHA-3还是处于优势的。很多人选择使用SHA-3而不选择BLAKE2的理由可能是Blake2并不是一种规范标准(虽然Blake也有自己的标准化文档RFC),而且Blake2也没有得到FIPS的许可认证。

免责声明:素材源于网络,如有侵权,请联系删稿。