【技术实现步骤摘要】
用于处理SHA-2安全散列算法的方法和设备本申请是针对分案申请201710073658.9再次提出的分案申请。分案申请201710073658.9是PCT国际申请号为PCT/US2012/031632、国际申请日为2012年3月30日、进入中国国家阶段的申请号为201280072066.0,题为“用于处理SHA-2安全散列算法的方法和设备”的申请的分案申请。
本专利技术的各实施例一般涉及指令处理设备。更具体而言,本专利技术的各实施例涉及处理SHA-2安全散列算法的指令处理设备。
技术介绍
SHA代表安全散列算法。它包括由国家安全局(NSA)设计且由国家标准和技术局(NIST)公布的五个散列函数。其中之一是SHA-2。SHA-2是一组安全散列函数,包括由NSA开发的SHA224、SHA256、SHA384和SHA512,旨在提供比SHA-1更高级别的安全性。SHA224和SHA256是基于32位字长度的类似算法,产生224和256位的摘要(digest)。SHA384和SHA512基于64位字且产生384和512位的摘要。SHA-2算法在计算上比SHA1更复杂,依赖于进位传播加法(propagateaddition)以及逻辑操作和循环移位(rotate)。用于一轮SHA-2操作的关键路径包括四个连续的传播加法,且加法器输入由复杂逻辑和循环移位函数确定。图1描述SHA-2算法的细节。A,B,C,D,E,F,G和H表示8个状态字(对于SHA224/256为32位,且对于SHA384/512为64位)。对于每 ...
【技术保护点】
1.一种处理器,包括:/n多个128位单指令多数据SIMD寄存器;/n解码单元,用于解码指令,所述指令包括:用于执行消息调度的第一部分的第一安全散列算法SHA 256消息调度指令,用于在所述消息调度的所述第一部分之后执行所述消息调度的第二部分的第二SHA 256消息调度指令,以及用于执行与两个SHA 256轮相关联的操作的SHA 256两轮指令,/n所述第一SHA 256消息调度指令用于将所述多个128位SIMD寄存器中的第一128位SIMD寄存器指示为第一操作数的源,并且用于将所述多个128位SIMD寄存器中的第二128位SIMD寄存器和存储器位置中的任一个指示为第二操作数的源,所述第一操作数用于包括位[31:0]中的第一32位数据元素、位[63:32]中的第二32位数据元素、位[95:64]中的第三32位数据元素和位[127:96]中的第四32位数据元素,所述第二操作数用于包括位[31:0]中的第五32位数据元素、位[63:32]中的第六32位数据元素、位[95:64]中的第七32位数据元素和位[127:96]中的第八32位数据元素;以及/n执行单元,与所述解码单元耦合,并且与所述 ...
【技术特征摘要】
1.一种处理器,包括:
多个128位单指令多数据SIMD寄存器;
解码单元,用于解码指令,所述指令包括:用于执行消息调度的第一部分的第一安全散列算法SHA256消息调度指令,用于在所述消息调度的所述第一部分之后执行所述消息调度的第二部分的第二SHA256消息调度指令,以及用于执行与两个SHA256轮相关联的操作的SHA256两轮指令,
所述第一SHA256消息调度指令用于将所述多个128位SIMD寄存器中的第一128位SIMD寄存器指示为第一操作数的源,并且用于将所述多个128位SIMD寄存器中的第二128位SIMD寄存器和存储器位置中的任一个指示为第二操作数的源,所述第一操作数用于包括位[31:0]中的第一32位数据元素、位[63:32]中的第二32位数据元素、位[95:64]中的第三32位数据元素和位[127:96]中的第四32位数据元素,所述第二操作数用于包括位[31:0]中的第五32位数据元素、位[63:32]中的第六32位数据元素、位[95:64]中的第七32位数据元素和位[127:96]中的第八32位数据元素;以及
执行单元,与所述解码单元耦合,并且与所述多个128位SIMD寄存器耦合,所述执行单元用于执行所述第一SHA256调度指令以:
生成结果,所述结果用于包括:
第一32位结果数据元素,等于以下各项的和:a)所述第一32位数据元素;以及b)等于循环右移七位的所述第二32位数据元素、并且与循环右移十八位的所述第二32位数据元素异或、并且与向右移位三位的所述第二32位数据元素异或的值;
第二32位结果数据元素,等于以下各项的和:a)所述第二32位数据元素;以及b)等于循环右移七位的所述第三32位数据元素、并且与循环右移十八位的所述第三32位数据元素异或、并且与向右移位三位的所述第三32位数据元素异或的值;
第三32位结果数据元素,等于以下各项的和:a)所述第三32位数据元素;以及b)等于循环右移七位的所述第四32位数据元素、并且与循环右移十八位的所述第四32位数据元素异或、并且与向右移位三位的所述第四32位数据元素异或的值;以及
第四32位结果数据元素,等于以下各项的和:a)所述第四32位数据元素;以及b)等于循环右移七位的所述第五32位数据元素、并且与循环右移十八位的所述第五32位数据元素异或、并且与向右移位三位的所述第五32位数据元素异或的值;以及
将所述结果存储在所述第一128位SIMD寄存器中,其中所述第一32位结果数据元素存储在位[31:0]中、所述第二32位结果数据元素存储在位[63:32]中、所述第三32位结果数据元素存储在位[95:64]中、并且所述第四32位结果数据元素存储在位[127:96]中。
2.如权利要求1所述的处理器,其特征在于,所述第一128位SIMD寄存器是源/目的地寄存器。
3.如权利要求1所述的处理器,其特征在于,所述多个128位SIMD寄存器是XMM寄存器。
4.如权利要求1所述的处理器,其特征在于,所述执行单元用于执行微代码以执行所述第一SHA256消息调度指令。
5.如权利要求1所述的处理器,其特征在于,所述处理器是复杂指令集计算CISC处理器。
6.一种处理器,包括:
多个128位单指...
【专利技术属性】
技术研发人员:K·S·雅普,G·M·沃尔里齐,J·D·吉尔福德,V·戈帕尔,E·奥兹图科,S·M·格尔雷,W·K·费格哈利,M·G·迪克森,
申请(专利权)人:英特尔公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。