[发明专利]一种基于面积与性能平衡优化的KLEIN加密实现方法有效
| 申请号: | 201310611131.9 | 申请日: | 2013-11-26 |
| 公开(公告)号: | CN103684749A | 公开(公告)日: | 2014-03-26 |
| 发明(设计)人: | 李浪;刘波涛;焦铬 | 申请(专利权)人: | 衡阳师范学院 |
| 主分类号: | H04L9/06 | 分类号: | H04L9/06 |
| 代理公司: | 长沙市融智专利事务所 43114 | 代理人: | 黄美成 |
| 地址: | 421002 湖*** | 国省代码: | 湖南;43 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 面积 性能 平衡 优化 klein 加密 实现 方法 | ||
技术领域
本发明涉及信息安全技术中的密码算法领域,特别是涉及一种基于面积与性能平衡优化的KLEIN加密实现方法。
背景技术
随着无线通信和嵌入式系统的发展,我们越来越依赖于普适计算,更关注加密算法在资源受限的物联网中的高效实现应用。KLEIN是中国学者龚征在RFIDSEC2011会议上提出的轻型分组密码算法。KLEIN算法分组长度为64位,支持64/80/96位3种密钥长度,分别对应12/16/20轮加密。KLEIN算法宏观上是SP网络结构,在微观上分为五个模块:轮密钥加(AddRoundKey),字节替换(SubBytes),行移位变换(ShiftRows),列混合变换(MixColumns),密钥扩展(KeyExpansions)。轮密钥加将64位输入明文同对应密钥进行异或,字节替换采用的是4进4出的S盒,行移位将输入明文左移2个字节,列混合变换KLEIN采用AES的伽罗华域运算,将8个字节输入组成的4行2列矩阵乘以AES的列混淆矩阵得到64位输出,密钥扩展采用Feistel结构,由移位、异或、查找S盒部件组成。具体为64位初始密钥按左右32位划作两部分,左右32位(四个字节)分别执行左移1个字节操作;左移操作后右半部分输出32位,其32位(计四个字节)中第3个字节异或密钥扩展轮常量,得到轮密钥输出左边部分32位;左移操作后,左右两部分输出各32位进行相互异或的结果为32位(四个字节),第2、3字节查找4次4*4的S盒,得到轮密钥输出的右边部分32位。
KLEIN密码算法传统的优化方式只注重面积或性能中的一个方面优化。传统的优化实现方法现分析如下:
S盒,传统的加密算法实现都是采用case代码实现语句,查表实现,当为r个查表元素,m个模板元素时。其效率最坏的情况为O(r*m)。
列混合变换,传统的加密算法实现都是采用复杂的不同数之间在伽罗华域上计算,当为r个输入运算数,则进行2r次伽罗华域上的乘法运算。
在明文与密钥的S盒替换中,传统的方式明文生成密文与密钥扩展生成子密钥是相互独立的两个部分;对于两部分的S盒替换运算,需要开辟两个S盒模块。
密钥扩展中的密钥扩展轮常量i,传统的方式是寄存器存放所有i常量数据,当i常量数据有r个则要开r个寄存器。
模块整合,传统的方式是把各子模块独自封装,不过这样能方便检查代码错误,但独自封装是很占用加密算法的实现面积,同时加密算法的并行实行效果也较差。
在算法赋值与轮实现时,传统是采用大量的always语句实现,造成大量的寄存器开辟使用,增大硬件实现面积。并且在增大面积的轮数实现过程中,把12轮加密运算全部进行在一起操作,在理论上是用计数器控制每轮重复加密实现面积的12倍。
传统对加密算法的并行实现,常采用局部同步时钟脉冲触发方式,对于整体结构而言增加触发器与布线资源,系统工作频率和实现速度比较低。
发明内容
本发明提供了一种基于面积与性能平衡优化的KLEIN加密实现方法,其目的在于克服上述技术中的不足,有效节省KLEIN加密算法硬件实现所需使用的资源面积,提高加密速度,使KLEIN加密算法小面积实现与加密效率平衡。
一种基于面积与性能平衡优化的KLEIN加密实现方法,包括以下几个步骤:
步骤1:将待加密数据加载至寄存器;
步骤2:将所述待加密数据输出进行n轮运算操作;
1)将待加密数据与密钥进行异或操作,同时对密钥进行扩展,获得扩展密钥;
2)对将待加密数据与密钥进行异或运算得到的运算结果采用S盒进行字节替换运算;
3)对采用S盒进行字节替换运算得到的运算结果进行左移2个字节的行移位变换运算;
4)对行移位变换运算得到的运算结果进行列混合变换运算;
5)对列混合变换运算得到的运算结果和1)得到的扩展密钥进行异或运算,得到的运算结果作为下一轮的待加密数据,如果到达第n轮运算,则进入步骤3,否则返回1);
步骤3:将步骤2中所述5)最后得到的运算结果输出,完成加密操作;
对密钥进行扩展是基于Feistel结构扩展完成;将密钥分为左右长度相等的两部分,对左半部分密钥及右半部分密钥进行移位运算,异或运算及S盒查表运算,其中移位运算为向左移位一个字节;
所述轮运算操作2)中S盒字节替换运算操作通过采用先用寄存器保存S盒数据,然后直接到寄存器内取值;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于衡阳师范学院,未经衡阳师范学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310611131.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种加工插秧机用四刃复合绞刀
- 下一篇:一种食用肉干的制备方法





