概述
一 什么是Keccak
Keccak是一种被选定为SHA-3标准的单向散列函数算法。
Keccak可以生成任意长度的散列值,但为了配合SHA-2的散列值长度,SHA-3标准中规定了SHA3-224、SHA3-256、SHA3-384、SHA3-512这4种版本。在输入数据的长度上限方面,SHA-1为2的64次方-1比特,SHA-2为2的128次方-1比特,而SHA-3则没有长度限制。
此为,FIPS 202还规定了两个可输出任意长度散列值的函数,分别为SHAKE128和SHAKE256。据说SHAKE这个名字取自Secure Hash Algorithm与Keccak这几个单词。
顺便一提,Keccak的设计者之一Billes Van Assche在Github上发布了一款名为KeccakTools的软件。地址如下:https://github.com/KeccakTeam/KeccakTools
二 海绵结构
Keccak采用了与SHA-1、SHA-2完全不同的海绵结构,如下图:
Keccak的海绵结构中,输入的数据在进行填充之后,要经过吸收阶段和挤出阶段,最终生成输出的散列值。
“海绵结构”这个名字听上去有点奇怪,可以想象以下将一块海绵泡在水里吸水,然后再将里面的水挤出来的情形。同样地,Keccak的海绵结构是先将输入的消息吸收到内部状态,然后再根据内部状态挤出相应的散列值。
最后
以上就是高高眼神为你收集整理的keccak算法java实现_keccak算法的全部内容,希望文章能够帮你解决keccak算法java实现_keccak算法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复