【技术实现步骤摘要】
—种基于面积与性能平衡优化的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位(四个字节)分别执行左移I个字节操作;左移操作后右半部分输出32位,其32位(计四个字节)中第3个字节异或密钥扩展轮常量,得到轮密钥输出左边部分32位;左移操作后,左右两部分输出各32位进行相互异或的结果为32位(四个字节),第2、3字节查找4次4*4的S盒,得到轮密钥输出的右边部分32位。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盒数据,然后直接到寄存器内取值;所述轮运算操作4)中列混合变换操作是通过构建Tab盒,将有限域的矩阵乘法转化为查 ...
【技术特征摘要】
1.一种基于面积与性能平衡优化的KLEIN加密实现方法,其特征在于,包括以下几个步骤: 步骤1:将待加密数据加载至寄存器; 步骤2:将所述待加密数据输出进行n轮运算操作; 1)将待加密数据与密钥进行异或操作,同时对密钥进行扩展,获得扩展密钥; 2)对将待加密数据与密钥进行异或运算得到的运算结果采用S盒进行字节替换运算; 3)对采用S盒进行字节替换运算得到的运算结果进行左移2个字节的行移位变换运算; 4)对行移位变换运算得到的运算结果进行列混合变换运算; 5)对列混合变换运算得到的运算结果和I)得到的扩展密钥进行异或运算,得到的运算结果作为下一轮的待加密数据,如果到达第n轮运算,则进入步骤3,否则返回I); 步骤3:将步骤2中所述5)最后得到的运算结果输出,完成加密操作; 对密钥进行扩展是基于Feistel结构扩展完成;将密钥分为左右长度相等的两部分,对左半部分密钥及右半部分密钥进行移位、异或及S盒查表运算,其中移位运算为向左移位一个字节; 所述轮运算操作2)中S盒字节替换运算通过采用先用寄存器保存S盒数据,然后直接到寄存器内取值; 所述轮运算操作4)中列混合变换操作是通过构建Tab盒,将有限域的矩阵乘法转化为查Tab盒操作运算; 将行移位变换运算操作后得到的数据依次按照每个字节进行列存储的方式存储到4行2列的矩阵B中,矩阵元素为bk,」,其中,k和j均为整数,O≤k≤3,O≤j≤I,将bk,」的高4位...
【专利技术属性】
技术研发人员:李浪,刘波涛,焦铬,
申请(专利权)人:衡阳师范学院,
类型:发明
国别省市:湖南;43
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。