http://www.7klian.com

详解常用哈希函数(Keccak算法)

r:比特率(比特 rate),其值为每个输入块的长度
可以或许直接替代SHA-2,这要求SHA–3必需也可以或许发生224,256,384,512比特的哈希值。
· 整体描写

可选参数设置,可以或许适应哈希函数的各类应用。
其输入数据没有长度限制,输出哈希值的比拿手度分为:224,256,384,512。
安详性
Keccak算法描写
以算法Keccak-256,信息“abc”为例显示补位的进程. a, b, c对应的ASCII码别离是97, 98, 99;于是原始信息的二进制编码为:01100001 01100010 01100011。此时r  = 1088。
2008年10月,有64个算法正式向NIST提交了方案,颠末劈头评价,共有51个算法进入第一轮评估,主要对算法的安详性、耗损、和实现特点等举办阐明。
算法描写
海绵函数答允输入长度和输出长度都可变,具有机动的性,可以或许用于设计哈希函数(牢靠输出长度)、伪随机数产生器,以及其他暗码函数。
SHA-3的布局仍属于Merkle提出的迭代型哈希函数结。最大的创新点是回收了一种被称为海绵布局的新的迭代布局.。海绵布局又称为海绵函数。
01100001 01100010 01100011 10000000 00000000 … 00000000
挤出阶段(Squeezing Phase):发生一个牢靠长度的输出。
2012年10月2日NIST发布了最终的优胜者,它就是由意法半导体公司的Guido Bertoai Bertoai、Jean Daemen Daemen、Gilles Van Assche Assche与恩智半导体公司的Micha Michaëël Peeters 连系设计的Keccak算法。
机动性:可配置可选参数以提供安详性与效率折中的选择,便于并行计较等。
常用的Keccak算法就讲到这里啦,下节课我们将进修常用哈希函数SM3算法,敬请等候!

① 补一个“1” :0110000101100010 01100011 1
SHA-3成为NIST的新哈希函数尺度算法(FIPS PUB 180–5),Keccak算法的阐明与实现详见:https://keccak.team/index.html
美国国度尺度与技能研究院(National Institute of Standards and Technology,NIST)于2007年果真征集SHA-3,要求:

高效性
然后再添加比特“1”添加到末端. 填充后的动静m的比拿手度必然为r的倍数。

· 吸入与挤出阶段

Keccak算法利用以下标记与函数:
保持SHA-2的在线处理惩罚本领,这要求SHA-33必需能处理惩罚小的数据块(如512或1024比特)。
2009年7月24日公布,个中14个算法通过第一轮评审进入第二轮;2010年12月9日公布,个中5个算法(JH、Grstl、Blake、Keccak和Skein)通过第二轮评审进入第三轮。
标记与函数
可以抵制对哈希函数的所有现有进攻。
效率:可在各类硬件平台上的实现,且是高效的和存储节减的。

· 压缩函数

标记
吸入阶段(Absorbing Phase):将块xi传入算法并处理惩罚。
Keccak算法的整体布局如下图:

尚未遍及应用,需要颠末实践检讨。
② 补1062个“0”:
③ 补一个“1” ,获得1088比特的数据:
在海绵函数中,,输入数据被分为牢靠长度的数据分组。每个分组逐次作为迭代的输入,同时上轮迭代的输出也反馈至下轮的迭代中,最终发生输出哈希值。
机动性
Keccak算法回收海绵布局(Sponge Construction),在预处理惩罚(padding并分成巨细沟通的块)后,海绵布局主要分成两部门:
到今朝为止,没有发明它有严重的安详弱点。

Keccak算法对数据举办填充,然后迭代压缩生成哈希值。

· 函数
设计简朴,软硬件实现利便.在效率方面,它是高效的。

安详性与机能

Keccak算法简介
c:容量(capacity),其长度为输出长度的两倍

· 填充
Keccak算法用到了以下5个函数:θ(theta)、ρ(rho)、π(pi)、χ(chi)、ι(iota)
安详性:可以或许抵挡原像和碰撞进攻的本领,可以或许抵挡已有的或潜在的对付SHA-2的进攻。

b:向量的长度,b=r+c,而b的值依赖于指数I,即b=25×2I  

设动静m长度为l比特。首先将比特“1”添加到m的末端,再添加k个“0”,个中,k是满意下式的最小非负整数:l+1+k=r-1modr;
对数据填充的目标是使填充后的数据长度为r的整数倍.因为迭代压缩是对r位数据块举办的,假如数据的长度不是r的整数倍,最后一块数据将是短块,这将无法处理惩罚。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。