[发明专利]用于SHA256算法的消息调度的指令处理器有效
申请号: | 201380044923.0 | 申请日: | 2013-06-12 |
公开(公告)号: | CN104583958B | 公开(公告)日: | 2019-01-01 |
发明(设计)人: | G·M·沃尔里齐;K·S·雅普;J·D·吉尔福德;V·戈帕尔;S·M·格尔雷 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F9/38 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 毛力 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 sha256 算法 消息 调度 指令 | ||
处理器包括第一执行单元,该第一执行单元用于接收并执行第一指令,该第一指令用于处理安全散列算法256(SHA256)消息调度操作的第一部分,第一指令具有:第一操作数,该第一操作数与用于存储第一组消息输入的第一存储位置相关联;以及第二操作数,该第二操作数与用于存储第二组消息输入的第二存储位置相关联;该处理器进一步包括第二执行单元,该第二执行单元用于接收并执行第二指令,该第二指令用于处理所述SHA256消息调度操作的第二部分,第二指令具有:第三操作数,该第三操作数与用于存储该第一部分的中间结果和第三组消息输入的第三存储位置相关联;以及第四操作数,该第四操作数与用于存储第四组消息输入的第四存储位置相关联。
技术领域
本发明的各实施例总体涉及指令处理装置。更具体地说,本发明的各实施例涉及用于处理SKEIN-256安全散列算法的指令处理装置。
背景技术
SHA代表安全散列算法。它是由经国家安全局(NSA)设计,并经国家标准技术局(NIST)发布的五个散列函数组成的。这五个散列函数之一是SHA-2。SHA-2是由NSA旨在提供比SHA-1算法更高安全等级而开发的安全散列函数的集合,包括SHA 224、SHA 256、SHA 384和SHA 512。 SHA 224和SHA 256是基于生成224位和256位摘要的32位字长的类似算法。SHA384和SHA 512基于64位字,并且生成384位和512位的摘要。
依赖进位传递加法以及逻辑操作和循环的SHA-2算法在计算上比SHA 1更复杂。用于一轮SHA-2操作的关键路径由四个连续的传递加法组成,加法器的输入由复杂的逻辑和循环函数来确定。图1描绘了SHA-2算法的细节。A、B、C、D、E、F、G和H表示8个状态字(对于SHA224/256 是32位的,而对于SHA384/512是64位的)。对于每一个迭代执行下列操作:
对于SHA-512,按位的循环使用不同的常数。在本示例中,给定的数值是针对SHA-256的。可在轮的关键路径之前执行常数K加Wi消息输入加法。依赖于先前的消息输入的经循环的副本来形成以下消息输入的用于SHA-2 算法的消息调度函数也比SHA-1更复杂:
对于i从16到63
s0:=(w[i-15]ROTR 7)XOR(w[i-15]ROTR 18)XOR(w[i-15]SHR 3)
s1:=(w[i-2]ROTR 17)XOR(w[i-2]ROTR 19)XOR(w[i-2]SHR 10)
w[i]:=w[i-16]+s0+w[i-7]+s1
其中,ROTR(也用作“>>>”)表示按位的右循环运算符;SHR表示按位的右移位运算符;而XOR表示按位的异或运算符。
对于SHA-256,每一个迭代执行如下:
∑0:=(a ROTR 2)XOR(a ROTR 13)XOR(a ROTR 22)
maj:=(a AND b)XOR(a AND c)XOR(b AND c)
t2:=∑0+maj
∑1:=(e ROTR 6)XOR(e ROTR 11)XOR(e ROTR 25)
ch:=(e AND f)XOR((NOT e)AND g)
t1:=h+∑1+ch+k[i]+w[i]
h:=g
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201380044923.0/2.html,转载请声明来源钻瓜专利网。