1. 引言
BLAKE和BLAKE2为基于Dan Bernstein的ChaCha流密码的哈希函数。
BLAKE作为SHA-3算法的竞争者之一,在最后一轮输给了Keccak。
ChaCha基于4x4 array of words操作。而BLAKE重复将8-word哈希值与16个message words结合,将其ChaCha结果裁剪获得下一个哈希值。
与SHA-2算法类似,BLAKE也主要分为BLAKE-256和BLAKE-512。
BLAKE系列哈希算法有:
- BLAKE-256:使用32-bit words,输出的digest size为256 bit。
- BLAKE-224:使用32-bit words,输出的digest size为224 bit。
- BLAKE-512:使用64-bit words,输出的digest size为512 bit。
- BLAKE-384:使用64-bit words,输出的digest size为384 bit。
BLAKE2为对BLAKE的改进版本,于2012年12月提出。BLAKE2与BLAKE的具体差异在于:
- BLAKE2移除了BLAKE round函数中的message words与常量的加法运算。
- BLAKE2改了2个rotation常量
- BLAKE2简化了padding
- BLAKE2增加了parameter block,该parameter block会与初始向量进行XOR运算
- BLAKE2b(BLAKE-512的继任者):将round数由16减为12。
- BLAKE2s(BLAKE-256的继任者):将round数由14减为10。
ChaCha流密码由Dan Bernstein于2008年发明,在Salsa基础上进行了改进。由于其具有20轮的加密运算,因此也称为ChaCha20。每一轮包含如下4次“quarter-round”函数运算:
a += b; d ^= a; d
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?