当前位置: 首页 > 专利查询>英特尔公司专利>正文

执行GROESTL散列的指令制造技术

技术编号:10581210 阅读:113 留言:0更新日期:2014-10-29 12:47
描述了一种方法。该方法包括执行对状态矩阵执行一个或多个与2的伽罗瓦域(GF)相乘运算的指令以及执行用异或(XOR)函数将所述一个或多个与2的GF相乘运算的结果进行组合以生成结果矩阵的指令。

【技术实现步骤摘要】
【国外来华专利技术】执行GROESTL散列的指令专利
本公开涉及加密算法,尤其涉及Groestl安全散列算法。
技术介绍
密码术(Cryptology)是一种依赖算法和密钥来保护信息的工具。该算法是复杂的数学算法,而密钥是位串。存在两种基本的密码术系统类型:秘密密钥系统和公开密钥系统。秘密密钥系统(也被称为对称系统)具有两方或更多方共享的单一密钥(“秘密密钥”)。该单一密钥既被用来将信息加密,也被用来将信息解密。由国家标准和技术委员会(NIST)作为联邦信息处理标准(FIPS)197发布的先进加密标准(AES)是一种秘密密钥系统。AES是能够将信息加密和解密的对称块密码(blockcipher)。Groestl算法是一种基于AES的迭代散列函数,其具有从两个固定的大的不同的置换(P和Q)构造的压缩函数。该压缩函数(f)被经由P和Q的置换来定义,使得:f(h,m)=P(hXORm)XORQ(m)XORh,其中函数P和Q是置换函数,而是hi-1是输入状态,mi是消息块输入,而hi是结果状态。加密(密码)使用该秘密密钥(密码密钥)执行一系列变换来将被称为“明文”的可理解数据变换为被称为“密文”的不可理解形式。密码中的变换可包括:(1)使用异或(XOR)运算向该状态(二维字节数组)添加轮次常数(从P函数和Q函数推出的值);(2)使用非线性字节代换表(S-Box)处理该状态;(3)将该状态的最后三行循环移位不同的偏移量;以及(4)取该状态的所有的列并将这些列的数据(彼此独立地)混合以产生新的列。解密(逆向密码)使用该密码密钥执行一系列变换来将“密文”块变换为相同大小的“明文”块。逆向密码中的变换是该密码中的变换的逆反。Groestl算法用10个或14个连续的轮次将明文变换为密码文本或将密文变换为明文,轮次的数量取决于密钥的长度。附图简述结合以下附图,从以下详细描述可获得对本专利技术更好的理解,其中:图1是图解系统的一个实施例的框图;图2是图解处理器的一个实施例的框图;图3是图解紧缩数据寄存器的一个实施例的框图;图4A和4B图解了图解由MUL_BYTE_GF2指令和MIX_BYTE_XOR指令执行的过程的一个实施例的流程图;图5是根据本专利技术的一个实施例的寄存器架构的框图;图6A是根据本专利技术的多个实施例的单CPU核,连同其到管芯上互连网络的连接及其本地2级(L2)高速缓存子集,的框图;图6B是根据本专利技术的多个实施例的CPU核的一部分的剖视图;图7是图解根据本专利技术的多个实施例的示例性无序架构的框图;图8是根据本专利技术的一个实施例的系统的框图;图9是根据本专利技术的一实施例的第二系统的框图;图10是根据本专利技术的一实施例的第三系统的框图;图11是根据本专利技术的一实施例的片上系统(SoC)的框图;图12是根据本专利技术的多个实施例的带有集成存储器控制器和图形元件的单核处理器和多核处理器的框图;以及图13是对照根据本专利技术的多个实施例的使用软件指令转换器来将源指令集中的二进制指令转换为目标指令集中的二进制指令的框图。详细描述在下面的描述中,出于解释目的阐述了众多具体细节以便提供对本专利技术的完全理解。然而对于本领域技术人员显然的是,没有这些具体细节中的一些细节也可实践本专利技术。在其他实例中,公知的结构和设备以框图形式示出以避免湮没本专利技术的基础概念。说明书中对“一个实施例”或“一实施例”的引用旨在指示结合该实施例所述的特定特征、结构、或特性被包括在本专利技术的至少一个实施例中。在说明书各处出现的短语“在一个实施例中”不一定全部指相同实施例。描述了一种包括用于处理Groestl安全散列算法的指令的机制。如同上面讨论的,Groestl算法是一种基于在AES标准中指定的Rijindael算法的加密散列函数。该AES标准包括提供用于在通用处理器中执行AES加密和解密的指令集扩展的指令集(例如,AES指令集)。该AES指令集是对x86指令集架构(ISA)的扩展,其改善了使用该AES算法的应用的速度。根据一个实施例,该AES指令集扩展被实现以执行Groestl算法。图1是系统100的一个实施例的框图,该系统包括用于在通用处理器中执行Groestl加密和解密的AES指令集扩展。系统100包括处理器101、存储器控制器中枢(MCH)102、以及输入/输出(I/O)控制器中枢(ICH)104。MCH102包括控制处理器101和存储器108之间的通信的存储器控制器106。处理器101和MCH102通过系统总线116通信。处理器101可以是多种处理器中的任何一者,所述多种处理器诸如是:单核Pentium处理器、单核IntelCeleron处理器、XScale处理器或多核处理器(诸如PentiumD、处理器、i3,i5,i7,2Duo及Quad、处理器)、或任何其他类型的处理器。存储器108可以是动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、同步动态随机存取存储器(SDRAM)、双数据率2(DDR2)RAM或Rambus动态随机存取存储器(RDRAM)或任何其他类型的存储器。ICH104可使用高速芯片到芯片互连114(诸如直接媒体接口(DMI))耦合于MCH102。DMI支持经由两个单向通道的2千兆比特/秒并发传输速率。ICH104可包括用于控制与耦合至ICH104的至少一个存储设备112的通信的存储I/O控制器110。该存储设备可以例如是盘驱动器、数字视频盘(DVD)驱动器、紧致盘(CD)驱动器、独立盘冗余阵列(RAID)、磁带驱动器或其他存储设备。ICH104可使用诸如串行附接小型计算机系统接口(SAS)或串行先进技术附接(SATA)之类的串行存储协议通过存储协议互连118与存储设备112通信。在一个实施例中,处理器101包括用于执行Groestl加密和解密运算的Groestl函数103。Groestl函数103可被用来加密或解密存储器108中存储的和/或存储设备112中存储的信息。图2是图解了处理器101的一个实施例的框图。处理器101包括用于解码从1级(L1)指令高速缓存202接收的处理器指令的取回和解码单元202。要用于执行该指令的数据可被存储在寄存器文件208中。在一个实施例中,寄存器文件208包括被AES指令用来存储供该AES指令使用的数据的多个寄存器。图3是寄存器文件208中的紧缩数据寄存器的适当集合的示例实施例的框图。所示紧缩数据寄存器包括32个512位紧缩数据或矢量寄存器。这32个512位寄存器被标记为ZMM0到ZMM31。在所示实施例中,这些寄存器中的较低的16个寄存器(即ZMM0-ZMM15)的较低阶的256位被混叠或覆盖在被标记为YMM0-YMM15的相应的256位紧缩数据或矢量寄存器中,然而不要求如此。类似地,在所示实施例中,YMM0-YMM15的较低阶128位被混叠或覆盖在被标记为XMM0-XMM1的相应的128位紧缩数据或矢量寄存器上,然而也不要求如此。512位寄存器ZMM0到ZMM31能够操作以保存512位紧缩数据、256位紧缩数据、或128位紧缩数据。256位寄存器YMM0-YMM15能够操作以保存256位紧缩数据或128位紧缩数据。128位寄存器XMM0-XMM1能够操作以保存128位紧缩数据。这些寄存器中的每个寄存器可被用于存本文档来自技高网...
执行GROESTL散列的指令

【技术保护点】
一种用于在计算机处理器中执行过程的方法,包括:执行对状态矩阵执行一个或多个与2的伽罗瓦域(GF)相乘运算的指令;以及执行用异或(XOR)函数将所述一个或多个与2的GF相乘运算的结果进行组合以生成结果矩阵的指令。

【技术特征摘要】
【国外来华专利技术】1.一种用于在计算机处理器中执行过程的方法,包括:执行对状态矩阵执行一个或多个与2的伽罗瓦域GF相乘运算的指令,其中执行所述一个或多个与2的GF相乘运算包括:将所述状态矩阵的行存储在第一寄存器中;对存储在所述第一寄存器中的每一行执行与2的GF相乘运算;以及将所述与2的GF相乘运算的结果存储在第二寄存器中;以及执行用异或XOR函数将所述一个或多个与2的GF相乘运算的结果进行组合以生成结果矩阵的指令。2.如权利要求1所述的方法,其特征在于,还包括在执行组合结果的指令前执行对所述状态矩阵第二次执行与2的GF相乘运算的指令。3.如权利要求1所述的方法,其特征在于,执行所述一个或多个与2的GF相乘运算进一步包括对于值为1的每个最高有效位执行XOR运算。4.如权利要求1所述的方法,其特征在于,执行所述一个或多个与2的GF相乘运算进一步包括:对存储在所述第二寄存器中的每一行执行与2的第二次GF相乘运算;以及将所述与2的第二次GF相乘运算的结果存储在第三寄存器中。5.如权利要求4所述的方法,其特征在于,执行组合所述一个或多个与2的GF相乘运算的结果的指令包括使用存储在所述第一寄存器、所述第二寄存器和所述第三寄存器中的数据作为源操作数来组合所述状态矩阵的因子。6.如权利要求5所述的方法,其特征在于,所述结果矩阵被存储在所述第一寄存器中。7.如权利要求4所述的方法,其特征在于,所述状态矩阵是8位条目的8x8矩阵。8.如权利要求4所述的方法,其特征在于,所述第一寄存器、所述第二寄存器和所述第三寄存器是512位寄存器。9.如权利要求2所述的方法,其特征在于,所述状态矩阵是8位条目的8x16矩阵。10.如权利要求7所述的方法,其特征在于,进一步包括:执行对所述状态矩阵的第二个一半执行与2的GF相乘运算的指令;以及执行对所述状态矩阵的所述第二个一半第二次执行与2的GF相乘运算的指令。11.一种指令处理装置,包括:多个数据寄存器;以及执行单元,与所述多个数据寄存器耦合,所述执行单元被配置为用于执行对状态矩阵执行一个或多个与2的伽罗瓦域GF相乘运算的指令以及用异或XOR函数将所述一个或多个与2的GF相乘运算的结果进行组合以生成结果矩阵的指令,其中执行所述一个或多个与2的GF相乘运算包括将所述状态矩阵的行存储在第一寄存器中,对存储在所述第一寄存器中的每一行执行与2的GF相乘运算,以及将所述与2的GF相乘运算的结果存储在第二寄存器中。12.如权利要求11所述的装置,其特征在于,在执行组合结果的指令前所述执行单元被配置为用于执行对所述状态矩阵第二次执行与2的GF相乘运算的指令。13.如权利要求11所述的装置,其特征在于,执行所述一个或多个与2的GF相乘运算进一步包括对于值为1的每个最高有效位执行XOR运算。14.如权利要求11所述的装置,其特征在于,执行所述一个或多个与2的GF相乘运算进一步包括对存储在所述第二寄存器中的每一行执行与2的第二次GF相乘运算,以及将所述与2的第二次GF相乘运算的结果存储在第三寄存器中。15.如权利要求14所述的装置,其特征在于,执行组合所述一个或多个与2的GF相乘运算的结果的指令包括使用存储在所述第一寄存器、所述第二寄存器和所述第三寄存器中的数据作为源操作数来组合所述状...

【专利技术属性】
技术研发人员:G·M·沃尔里齐K·S·雅普V·戈帕尔J·D·吉尔福德E·奥兹图科S·M·格尔雷W·K·费格哈利M·G·迪克森
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1