【技术实现步骤摘要】
【国外来华专利技术】在256位数据路径中执行JH加密散列的指令
本公开涉及加密算法,且特定地涉及JH散列算法。直量密码学是依赖于算法的工具且是保护信息的密钥。算法是复杂的数学算法且密钥是位串(string of bits)。存在两个基本类型的加密系统:秘密密钥系统和公共密钥系统。秘密密钥系统也被称为对称系统,具有由两方或更多方共享的单个密钥(“秘密密钥”)。该单个密钥既用于加密信息也用于解密信息。JH散列函数(JH)是加密函数,已经针对国家标准与技术协会(NIST)散列函数竞争而提交该加密函数来发展新的SHA-3函数来替代较旧的SHA-1和SHA-2。JH是基于包括四个变型(JH-224、JH-256、JH-384JPJH-512)的算法,可产生不同大小的摘要(digest)。然而,JH的每一个变型实现相同的压缩函数。目前,可在通用目的处理器上使用流SMD扩展(SSE)或高级向量扩展(AVX)的指令来执行JH。无论如何,这样的应用可要求执行高达30个指令来执行JH算法。【附图说明】可结合附图从以下详细描述中获得对本专利技术的更好理解,其中:图1是示出系统的一个实施例的框图;图2是示出处理器的一个实施例的框图;图3是示出打包数据寄存器的一个实施例的框图;图4示出所得半字节置换的一个实施例;图5A和5B是示出由指令执行的过程的一个实施例的流程图;图6示出实现执行一轮次JH算法的指令的一个实施例;图7示出使用指令的两轮次JH的实施例;图8是根据本专利技术的一个实施例的寄存器架构的框图;图9A是根据本专利技术的实施例的连接到管芯上互联网络且具有第二级(L2)高速缓存的本地子集 ...
【技术保护点】
一种用于在计算机处理器中执行过程的方法,包括:执行一个或多个JH_SBOX_L指令从而在JH状态上执行S‑Box映射和线性(L)变换;以及一旦已经执行了S‑Box映射和L变换,则执行一个或多个JH_P指令来在所述JH状态上执行置换函数。
【技术特征摘要】
【国外来华专利技术】1.一种用于在计算机处理器中执行过程的方法,包括: 执行一个或多个JH_SBOX_L指令从而在JH状态上执行S-Box映射和线性(L)变换;以及 一旦已经执行了 S-Box映射和L变换,则执行一个或多个JH_P指令来在所述JH状态上执行置换函数。2.如权利要求1所述的方法,其特征在于,还包括在执行所述JH_SB0X_L指令前,将JH状态位连续地存储于多个源寄存器内。3.如权利要求2所述的方法,其特征在于,进一步包括: 第一次执行所述JH_SB0X_L指令以在存储于第一源寄存器内的所述JH状态的第一分量上执行S-Box映射和L变换; 第二次执行所述JH_SB0X_L指令以在存储于第二源寄存器内的所述JH状态的第二分量上执行S-Box映射和L变换; 第三次执行所述JH_SB0X_L指令以在存储于第三源寄存器内的所述JH状态的第三分量上执行S-Box映射和L变换;以及 第四次执行所述JH_SB0X_L指令以在存储于第四源寄存器内的所述JH状态的第四分量上执行S-Box映射和L变换。4.如权利要求3所述的方法,其特征在于,进一步包括: 将第一次执行所述JH_SB0X_L指令的结果在第一目的地寄存器内存储为第一 JH状态结果; 将第二次执行所述JH_SB0X_L指令的结果在第二目的地寄存器内存储为第二 JH状态结果; 将第三次执行所述JH_SB0X_L指令的结果在第三目的地寄存器内存储为第三JH状态结果;以及 将第四次执行所述JH_SB0X_L指令的结果在第四目的地寄存器内存储为第四JH状态结果。5.如权利要求4所述的方法,其特征在于,执行所述JH_P指令还包括: 从所述目的地寄存器的其中两个处检索JH状态结果;以及 在来自所述两个目的地寄存器的JH结果上执行置换函数。6.如权利要求5所述的方法,其特征在于,执行所述JH_P指令还包括: 在所述第一 JH状态结果和所述第二 JH状态结果上执行第一置换函数; 在所述第三JH状态结果和所述第四JH状态结果上执行第二置换函数; 在所述第一 JH状态结果和所述第二 JH状态结果上执行第三置换函数;以及 在所述第三JH状态结果和所述第四JH状态结果上执行第四置换函数。7.一种装置,包括: 多个数据寄存器;以及 与所述多个数据寄存器耦合的执行单元,用于执行一个或多个JH_SB0X_L指令以在JH状态上执行S-Box映射和线性(L)变换,且一旦已经执行了 S-Box映射和L变换,则执行一个或多个JH_P指令来在所述JH状态上执行置换函数。8.如权利要求7所述的装置,其特征在于,所述多个数据寄存器包括源寄存器用于连续地存储JH状态位。9.如权利要求8所述的装置,其特征在于,所述执行单元第一次执行所述JH_SBOX_I^^令以在存储于第一源寄存器内的所述JH状态的第一分量上执行S-Box映射和L变换,第二次执行所述JH_SB0X_L指令以在存储于第二源寄存器内的所述JH状态的第二分量上执行S-Box映射和L变换,第三次执行所述JH_SB0X_L指令以在存储于第三源寄存器内的所述JH状态的第三分量上执行S-Box映射和L变换,以及第四次执行所述JH_SB0X_L指令以在存储于第四源寄存器内的所述JH状态的第四分量上执行S-Box映射和L变换。10.如权利要求9所述的装置,其特征在于,所述执行单元将第一次执行所述JH_SB0X_L指令的结果在第一目的地寄存器内存储为第一 JH状态结果,将第二次执行所述JH_SB0X_L指令的结果在第二目的地寄存器内存储为第二 JH状态结果,将第三次执行所述JH_SB0X_L指令的结果在第三目的地寄存器内存储为第三JH状态结果,且将第四次执行所述JH_SB0X_L指令的结果在第四目的地寄存器内存储为第四JH状态结果。11.如权利要求10所述的装置,其特征在于,所述执行单元从所述目的地寄存器其中两个处检索JH状态结果,且在来自所述两个目的地寄存器的JH状态结果上执行置换函数。12.如权利要求11所述的装置,其特征在于,所述执行单元在所述第一JH状态结果和所述第二 JH状态结果上执行第一置换函数,在所述第三JH状态结果和所述第四JH状态结果上执行第二置换函数,在所述第一 JH状态结果和所述第二 JH状态结果上执行第三置换函数,且在所述第三JH状态结果和所述第四JH状态结果上执行第四置换函数。13.一种制品,包括: 机器可读介质,包括一个或多个固态存储材料,所述机器可读存储介质存储指令,当执行所述指令时,使得处理器: 执行一个或多个JH_SB0X_L指令从而在JH状态上执行S-Box映射和线性(L)变换;以及 一旦已经执行了 S-Box映射和L变换,则执行一个或多个JH_P指令来在所述JH状态上执行置换函数。14.如权利要求13所述的制品,其特征在于,所述机器可读存储介质存储指令,当执行所述指令时,进一步使得处理器: 第一次执行所述JH_SB0X_L指令以在存储于第一源寄存器内的所述JH状态的第一分量上执行S-Box映射和L变换; 第二次执行所述JH_SB0X_L指令以在存储于第二源寄存器内的所述JH状态的第二分量上执行S-Box映射和L变换; 第三次执行所述JH_SB0X_L指令以在存储于第三源寄存器内的所述JH状态的第三分量上执行S-Box映射和L变换;以及 第四次执行所述JH_SB0X_L指令以在存储于第四源寄存器内的JH状态的第四分量上执行S-Box映射和L变换。15.如权利要求14所述的制品,其特征在于,所述机器可读存储介质存储指令,当执行所述指令时,进一步使得处理器: 将第一次执行所述JH_SB0X_L指令的结果第一目的地寄存器内存储为第一 JH状态结果;将第二次执行所述JH_SBOX_L指令的结果在第二目的地寄存器内存储为第二 JH状态结果; 将第三次执行所述JH_SBOX_L指令的结果在第三目的地寄存器内存储为第三JH状态结果;以及 将第四次执行所述JH_SBOX_L指令的结果在第四目的地寄存器内存储为第四JH状态结果。16.如权利...
【专利技术属性】
技术研发人员:G·M·沃尔里齐,K·S·雅普,V·戈帕尔,J·D·吉尔福德,E·奥兹图科,S·M·格尔雷,W·K·费格哈利,M·G·迪克森,
申请(专利权)人:英特尔公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。