[发明专利]处理KECCAK安全散列算法的方法和设备有效
申请号: | 201180074906.2 | 申请日: | 2011-12-13 |
公开(公告)号: | CN103946796A | 公开(公告)日: | 2014-07-23 |
发明(设计)人: | K·S·雅普;G·M·沃尔里齐;J·D·吉尔福德;V·戈帕尔;E·奥兹图科;S·M·格尔雷;W·K·费格哈利;M·G·迪克森 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F9/305;G06F21/10;H04L9/28 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 张东梅 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 处理 keccak 安全 算法 方法 设备 | ||
技术领域
本发明的各实施例一般涉及指令处理设备。更具体而言,本发明的各实施例涉及处理KECCAK安全散列算法的指令处理设备。
背景
KECCAK是一种新安全散列函数,该散列函数在利用5x5边缘面和2L的深度排列的比特的阵列中维持状态,其中,L=0到6。KECCAK正在由国家标准与技术协会(NIST)考虑作为用于选择作为SHA-3标准的算法。由于所需的简单逻辑函数和可以使用的并行性,KECCAK在硬件实现中的性能超出竞争作为标准的其他安全散列算法的性能。用于当前软件实现的KECCAK的性能受大量的需要单个整数指令的逻辑运算的约束。
AKECCAK状态可以被视为带有被称为“切片”的5x5个元素边和w个比特的深度(z方向)的元素(比特)的三维阵列,其中,深度是2的幂,即,w=2l,l=0到6,如图1A所示。KECCAK使用“海绵”结构,其中,r比特被输入到KECCAK状态,与状态的“开头”r比特进行XOR,后面跟着KECCAK-f状态更新函数。KECCAK-1600(l=64)是提供用于消息认证的最高容量的目标函数。将状态的通道,即,z轴方向的一维子阵列映射到64比特处理器字,导致对于阶跃映射的简单并且有效率的软件实现。对于l=6,KECCAK-1600(5x5x64)是包括nr轮五个步骤/置换的状态更新函数,θ、ρ、π、χ、ι,如图1B所示。
执行θ函数,如图1C所示,ρ函数将通道/寄存器旋转指定的偏移,需要24寄存器旋转(一个偏移是零),如图1D所示。π函数是通道的转置。此转置改变每个64比特部分的使用和分组,如图1E所示。转置在通道返回到它们的原始位置之前,具有24轮的周期。在χ步骤,每一行都由该行的近邻元素变换:
A[x,y]=a[x,y]⊕((非a[x+1,y])与a[x+2,y])
一起计算通道行,利用5个非、5个与、和5个异或,总共需要15x5=75个操作。对单一寄存器/通道应用ι加法轮(add round)常数,需要1个异或指令,如图1F所示。每一轮的操作为,对于θ,55个,对于ρ,24,对于π,零,对于χ,75个,对于ι,1个。每一轮,总共有155个操作。轮的数量nr是对于l=6,12+2l=24,即,64比特寄存器。对于24轮,KECCAK需要155*24=3720个操作。在四个执行单元处理器上,如果每一个操作都需要指令,则需要最少930个周期。
上面的操作不能使用矢量指令(诸如来自位于加利福尼亚州的圣克拉拉的英特尔公司的流式单指令多数据(SIMD)扩展(SSE)或高级矢量扩展(AVX)指令)使用函数的并行执行,有效率地执行,由于π函数,因为通道的位置以及立方体的对应字每一轮都被搅乱。
附图简述
本发明的各实施例是作为示例说明的,而不仅限于各个附图的图形,在附图中,类似的参考编号表示类似的元件。
图1A-1F是示出了典型的KECCAK散列算法的过程的图示。
图2是示出了根据一实施例的处理器的示例的框图。
图3是示出了根据一实施例的KECCAK状态立方体的分区的框图。
图4是示出了根据一实施例的用于KECCAK操作中的寄存器布局的框图。
图5是根据一实施例的执行KECCAK散列算法的伪代码。
图6是示出了根据一实施例的执行KECCAK散列算法的方法的流程图。
图7是示出了根据一实施例的数据处理系统的示例的框图。
图8是示出了根据另一实施例的数据处理系统的示例的框图。
具体实施方式
下面将参考下面所讨论的细节来描述本发明的各实施例并各方面,各个附图将示出各实施例。下面的描述和图形只是本发明的说明,而不作为对本发明的限制。描述了很多具体细节,以便全面地理解本发明的各实施例。然而,在某些实例中,没有描述已知的或常规的细节,以便提供对本发明的各实施例的简洁的讨论。
在本说明书中对“一个实施例”或“实施例”的引用意思指和该实施例一起描述的特定特征、结构或特征可以被包括在本发明的至少一个实施例中。在本说明书中的不同位置出现短语“在一个实施例中”不一定都是指同一个实施例。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201180074906.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:基于复杂断裂模型进行井规划的方法及系统
- 下一篇:移动信息终端