[发明专利]AES加密算法中列混淆过程指令优化方法及其指令集处理器有效
申请号: | 201110024639.X | 申请日: | 2011-01-24 |
公开(公告)号: | CN102081513A | 公开(公告)日: | 2011-06-01 |
发明(设计)人: | 李沂滨;贾智平;李新;陈仁海;陈健 | 申请(专利权)人: | 山东大学 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F9/318;G06F9/38 |
代理公司: | 济南圣达知识产权代理有限公司 37221 | 代理人: | 张勇 |
地址: | 250061 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: |
本发明涉及一种AES加密算法中列混淆过程指令优化方法及其指令集处理器。本发明为了加速AES算法中列混淆过程,设计了三条新扩展指令:(1)matrixpos |
||
搜索关键词: | aes 加密算法 混淆 过程 指令 优化 方法 及其 处理器 | ||
【主权项】:
一种AES加密算法中列混淆过程指令优化方法,其特征是,在满足不改变指令操作码长度、指令位数以及不影响处理器运行速度的前提下,它的步骤为:1)在执行AES加密/解密算法列混淆运算时,矩阵相乘操作过程中采用多次定位矩阵中数据的位置,即取出matrix[i][j]位置的数据;运算时采用指令matrixpos=,,,,该指令对基地址存放在通用寄存器src1的矩阵进行取位操作,src2和src3指示目标数据所在的行和列,而src4指示矩阵的总行数或列数,取出的数据将存放在dest表示的通用寄存器中,以上过程在一个时钟周期内完成,从而对列混淆过程中的矩阵取位操作进行了加速;2)在进行矩阵相乘时,新矩阵第i行第j列的元素等于左矩阵的第i行的所有元素与右矩阵第j列的所有元素相乘后相加所得,在AES加密算法中,分组的长度固定为128位,而在列混淆过程中所有的矩阵都是4*4的,因此列混淆过程中的矩阵相乘,需要经常用到四元异或操作来获得变化后矩阵的元素,为此采用指令xor4=,,,,该指令将src1到src4所表示的通用寄存器中的内容进行异或操作,结果保存在dest所表示的通用寄存器中,以上在一个时钟周期内完成,从而对列混淆过程中的域内乘法运算进行了加速;3)矩阵相乘采用域内相乘法,即采用多项式乘法,在具体实现多项式乘法时,一般都采用异或后移位的基本操作;为了加速该过程,采用指令xor_move,,,,,该指令判断src1与src2相与的结果,如果为1,则对src3和src4进行异或,并将结果保存在src3中;如果为0,则不执行异或操作;在执行以上操作的同时,指令并行完成对src0的移位操作;以上过程在一个时钟周期内完成,从对列混淆过程中的域内乘法运算进行了加速;通过上述三条扩展指令的运行,加速列混淆过程。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东大学,未经山东大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201110024639.X/,转载请声明来源钻瓜专利网。