【技术实现步骤摘要】
【国外来华专利技术】用于SHA256算法的消息调度的指令处理器
本专利技术的各实施例总体涉及指令处理装置。更具体地说,本专利技术的各实施例涉及用于处理SKEIN-256安全散列算法的指令处理装置。
技术介绍
SHA代表安全散列算法。它是由经国家安全局(NSA)设计,并经国家标准技术局(NIST)发布的五个散列函数组成的。这五个散列函数之一是SHA-2。SHA-2是由NSA旨在提供比SHA-1算法更高安全等级而开发的安全散列函数的集合,包括SHA224、SHA256、SHA384和SHA512。SHA224和SHA256是基于生成224位和256位摘要的32位字长的类似算法。SHA384和SHA512基于64位字,并且生成384位和512位的摘要。依赖进位传递加法以及逻辑操作和循环的SHA-2算法在计算上比SHA1更复杂。用于一轮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到63s0:=(w[i-15]ROTR7)XOR(w[i-15]ROTR18)XOR(w[i-15]SHR3)s1:=(w[ ...
【技术保护点】
一种处理器,包括:第一执行单元,所述第一执行单元用于接收用于处理安全散列算法256(SHA256)消息调度操作的第一部分的第一指令,所述第一指令具有:第一操作数,所述第一操作数与用于存储第一组消息输入的第一存储位置相关联;以及第二操作数,所述第二操作数与用于存储第二组消息输入的第二存储位置相关联,并且所述第一执行单元用于基于所述第一组消息输入和所述第二组消息输入来执行所述第一指令以生成中间结果;以及第二执行单元,所述第二执行单元用于接收用于处理所述SHA256消息调度操作的第二部分的第二指令,所述第二指令具有:第三操作数,所述第三操作数与用于存储所述中间结果和第三组消息输入的第三存储位置相关联;以及第四操作数,所述第四操作数与用于存储第四组消息输入的第四存储位置相关联,并且所述第二执行单元用于基于所述中间结果和所述第三组消息输入以及所述第四组消息输入来执行所述第二指令以生成用于SHA256轮操作的下一个迭代的消息输入。
【技术特征摘要】
【国外来华专利技术】2012.09.28 US 13/631,1651.一种处理器,包括:第一执行单元,所述第一执行单元用于执行用于处理安全散列算法256消息调度操作的第一部分的经解码的第一指令,所述第一指令具有:第一操作数,所述第一操作数与用于存储第一组消息输入的第一存储位置相关联;以及第二操作数,所述第二操作数与用于存储第二组消息输入的第二存储位置相关联,并且所述第一执行单元用于基于所述第一组消息输入和所述第二组消息输入来执行所述第一指令以生成中间结果;以及第二执行单元,所述第二执行单元用于执行用于处理所述安全散列算法256消息调度操作的第二部分的经解码的第二指令,所述第二指令具有:第三操作数,所述第三操作数与用于存储所述中间结果和第三组消息输入的第三存储位置相关联;以及第四操作数,所述第四操作数与用于存储第四组消息输入的第四存储位置相关联,并且所述第二执行单元用于基于所述中间结果和所述第三组消息输入以及所述第四组消息输入来执行所述第二指令以生成用于安全散列算法256轮操作的下一个迭代的消息输入。2.如权利要求1所述的处理器,其特征在于,所述第一、第二、第三和第四操作数是指各自具有至少128位的存储位置。3.如权利要求1所述的处理器,其特征在于,所述中间结果存储在与所述第一操作数相关联的所述第一存储位置中。4.如权利要求1所述的处理器,其特征在于,所述用于安全散列算法256轮操作的下一个迭代的消息输入要被存储在与所述第三操作数相关联的第三存储位置中。5.如权利要求1所述的处理器,其特征在于,对于所述安全散列算法256消息调度操作的当前迭代i,所述第一存储位置用于存储消息输入w(i-13)、w(i-14)、w(i-15)和w(i-16),并且所述第二存储位置用于存储消息输入w(i-9)、w(i-10)、w(i-11)和w(i-12)。6.如权利要求1所述的处理器,其特征在于,对于所述安全散列算法256消息调度操作的当前迭代i,所述中间结果用于代表w(i-13)+s0(w(i-12))、w(i-14)+s0(w(i-13))、w(i-15)+s0(w(i-14))和w(i-16)+s0(w(i-15))。7.如权利要求1所述的处理器,其特征在于,对于所述安全散列算法256消息调度操作的当前迭代i,与所述第三操作数相关联的存储位置用于存储所述中间结果和消息输入w(i-5)、w(i-6)和w(i-7)的组合。8.如权利要求1所述的处理器,其特征在于,对于所述安全散列算法256消息调度操作的当前迭代i,用于下一个迭代的消息输入用于代表w(i+3)、w(i+2)、w(i+l)和w(i)。9.一种由处理器执行的方法,所述方法包括:由处理器的解码单元解码第一指令,所述第一指令用于处理安全散列算法256消息调度操作的第一部分,所述第一指令具有:第一操作数,所述第一操作数与用于存储第一组消息输入的第一存储位置相关联;以及第二操作数,所述第二操作数与用于存储第二组消息输入的第二存储位置相关联;由第一执行单元基于所述第一组消息输入和所述第二组消息输入来执行所述第一指令,以生成中间结果;由所述处理器的所述解码单元解码第二指令,所述第二指令用于处理所述安全散列算法256消息调度操作的第二部分,所述第二指令具有:第三操作数,所述第三操作数与用于存储所述中间结果和第三组消息输入的第三存储位置相关联;以及第四操作数,所述第四操作数与用于存储第四组消息输入的第四存储位置相关联;以及由第二执行单元基于所述中间结果和所述第三组消息输入以及所述第四组消息输入来执行所述第二指令,以生成用于安全散列算法256轮操作的下一个迭代的消息输入。10.如权利要求9所述的方法,其特征在于,所述第一、第二、第三和第四操作数是指各自具有至少128位的存储位置。11.如权利要求9所述的方法,其特征在于,所述中间结果存储在与所述第一操作数相关联的所述第一存储位置中。12.如权利要求9所述的方法,其特征在于,所述用于安全散列算法256轮操作的下一个迭代的消息输入存储在与所述第三操作数相关联的第...
【专利技术属性】
技术研发人员:G·M·沃尔里齐,K·S·雅普,J·D·吉尔福德,V·戈帕尔,S·M·格尔雷,
申请(专利权)人:英特尔公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。