[发明专利]提供通用GF(256)SIMD密码算法功能性的指令和逻辑有效
| 申请号: | 201510272957.6 | 申请日: | 2015-05-26 |
| 公开(公告)号: | CN105302522B | 公开(公告)日: | 2019-07-26 |
| 发明(设计)人: | S.古伊龙 | 申请(专利权)人: | 英特尔公司 |
| 主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F9/38;H04L9/06 |
| 代理公司: | 中国专利代理(香港)有限公司 72001 | 代理人: | 张金金;姜甜 |
| 地址: | 美国加利*** | 国省代码: | 美国;US |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 提供 通用 gf 256 simd 密码 算法 功能 指令 逻辑 | ||
本公开涉及提供通用GF(256)SIMD密码算法功能性的指令和逻辑。指令和逻辑提供通用GF(28)SIMD密码算法功能性。实施例包括处理器,用于对SIMD仿射变换的指令解码,该指令规定源数据操作数、变换矩阵操作数和平移向量。变换矩阵应用于源数据操作数中的每个元素,并且平移向量应用于变换元素中的每个。指令的结果存储在SIMD目的地寄存器中。一些实施例还对SIMD二进制有限域乘法逆的指令解码来对源数据操作数中的每个元素计算以不可约多项式为模的二进制有限域中的逆。一些实施例还对SIMD二进制有限域乘法的指令(其规定第一和第二源数据操作数)解码,来以不可约多项式为模使第一和第二源数据操作数的每个对应元素对相乘。
技术领域
本公开关于处理逻辑、微处理器和关联指令集架构的领域,该指令集架构在由处理器或其他处理逻辑执行时执行逻辑、数学或其他功能操作。特别地,本公开涉及提供通用GF(256)SIMD密码算法功能性的指令和逻辑。
背景技术
密码术(cryptology)是依靠算法和密钥来保护信息的工具。该算法是复杂的数学算法并且密钥是位串。存在两个基本类型的密码术系统:私钥系统(secret key)和公钥系统。私钥系统也称为对称系统,其具有被两个或以上团体共享的单个密钥(“私钥”)。该单个密钥用于既加密信息又对信息解密。
例如,高级加密标准(AES)(也称为Rijndael)是由两个比利时译码者Joan Daemen和Vincent Rijmen开发并且作为加密标准被美国政府采用的分组密码(block cipher)。AES由美国国家标准和技术研究所(NIST)在2001年11月26日作为U.S.FIPS PUB 197(FIPS197)宣布。
AES具有128位的固定块大小和128、192或256位的密钥大小。使用Rijndael的密钥调度的密钥扩展将大小为128、192或256位的密钥变换成具有128个位的10、12或14个轮回密钥(round key)。轮回密钥用于轮回处理明文数据作为128位块(看作4x4字节阵列)并且将它们转换成密文块。典型地,对于对轮回的128位输入(16个字节),每个字节根据叫作S盒的查找表而被另一个字节取代。分组密码的该部分叫作SubBytes。接着,字节的行(看作4x4阵列)被循环移位并且左旋特定偏移(即,行0是0个字节、行一是1个字节、行二是2个字节并且行三是3个字节)。分组密码的该部分叫作ShiftRows。然后,字节列中的每个看作有限域中的多项式GE(256)(也叫作伽罗瓦域28)的四个系数,并且乘以可逆线性变换。分组密码的该部分叫作MixColumns。最后,128位块与轮回密钥异或(XOR)来产生具有16个字节的密文块,其叫作AddRoundKey。
在具有32位或更大字的系统上,通过将SubBytes、ShiftRows和MixColumns变换转换成四个256条目32位的表(其使用存储器的4096个字节)来实现AES密码,这是可能的。软件实现的一个缺点是性能。软件运行起来比专门硬件要慢若干数量级,因此具有增加的硬件/固件实现性能,这是可取的。
使用查找存储器、真值表、二元决策图或256个输入复用器的典型简单硬件实现从电路面积方面是昂贵的。使用与GF(256)同构的有限域的备选方法在面积上可以是高效的,但也可比简单硬件实现更慢。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510272957.6/2.html,转载请声明来源钻瓜专利网。





