一种弱相关性的AES密钥扩展改进算法


一种弱相关性的aes密钥扩展改进算法
技术领域
1.本发明属于信息安全技术和数据加密技术领域,具体涉及一种弱相关性的aes密钥扩展改进算法。


背景技术:



2.随着网络安全技术的不断发展,密码学研究的队伍也逐渐扩大;现在应用最为广泛的高级加密标准aes的原型就是由两名比利时密码学家vincent rijmen和joan daemen设计的rijndael加密算法,它是一种spn(substitution-permutation network)结构。
3.原型的rijndael算法中对于分组长度和密钥长度都可以是以32比特为单位在128比特和256比特之间的任意大小值,而只有满足分组长度固定为128比特,密钥长度只有128、192或256比特三种的才是aes算法。
4.aes在分组密码领域有着举足轻重的地位,分组密码又是现代密码学中的一个重要研究分支。顾名思义,分组密码的设计就是将接收到的明文划分为多个明文组,每个明文组长度一致,每次加密一组明文,直到加密完整个明文组。分组密码的两个一般性原则扩散和混淆也是在aes中得到了体现。aes主要含字节代替变换、行移位、列混淆运算、轮密钥加、密钥扩展等几个操作步骤,其中字节代替变换(s盒字节替换和逆s盒字节替换)是aes算法中唯一的非线性变换,因此字节代替变换是提高aes算法性能的核心操作。密钥扩展算法就是将输入的种子密钥进行多轮扩充得到各轮子密钥的过程,传统扩展算法的运行速度快,能够快速生成整个密钥;但也存在着一个明显的缺陷,由于每轮密钥之间的相关性较强,导致攻击者如果获取到了某一轮的子密钥,就很容易推导出其它轮密钥和种子密钥甚至整个密钥,能量攻击也是在密钥扩展算法中来攻击aes算法的安全性。


技术实现要素:



5.本发明要解决的技术问题是:提供一种弱相关性的aes密钥扩展改进算法,用于提高aes算法整体的抗攻击性。
6.本发明为解决上述技术问题所采取的技术方案为:一种弱相关性的aes密钥扩展改进算法,包括以下步骤:
7.s1:输入种子密钥w0、w1、w2和w3;
8.s2:通过选择aes算法的密钥长度决定加密轮数q,输入加密轮数q和轮常数rcon;初始化索引参数index=0;
9.s3:采用改进后的轮密钥间计算算法进行q轮迭代计算得到初始密钥矩阵;
10.s4:生成一个128位的随机数字密钥nw1;
11.s5:对初始密钥矩阵的每轮密钥的第二个字进行移位,用随机数密钥nw1填充最后一轮密钥的第二个字;
12.s6:输出改进后的最终密钥矩阵。
13.按上述方案,所述的步骤s2中,aes算法的密钥长度为128比特、192比特或256比
特,不同密钥长度对应不同的加密轮数q;
14.选择128位的密钥长度的aes算法进行加密,则加密轮数q=10;
15.选择192位的密钥长度的aes算法进行加密,则加密轮数q=12;
16.选择256位的密钥长度的aes算法进行加密,则加密轮数q=14。
17.按上述方案,所述的步骤s3中,具体步骤为:
18.s301:设i=0,4,8,

,4*q,对每一轮密钥的前三个字(wi、w
i+1
和w
i+2
)进行异或运算,得到下一轮密钥的第一个字w
i+4

19.s302:对w
i+4
进行字位移变换、字节代替变换和轮常量异或运算,得到w
i+5

20.s303:对w
i+4
和w
i+5
直接运算得到w
i+6

21.s304:对w
i+5
和w
i+6
进行异或运算得到w
i+7

22.s305:每进行一轮计算,使索引参数index的值加1;比较索引参数index与加密轮数q的值:若index≤q则执行步骤s401;若index>q则执行步骤s6。
23.进一步的,所述的步骤s5中,具体步骤为:
24.s501:将初始密钥矩阵的每轮密钥的第二个字w
i+5
向前一轮移动四个单位到w
i+1
的位置;
25.s502:将随机数密钥nw1填充到最后一轮密钥的第二个字的位置。
26.一种计算机存储介质,其内存储有可被计算机处理器执行的计算机程序,该计算机程序执行一种弱相关性的aes密钥扩展改进算法。
27.本发明的有益效果为:
28.1.本发明的一种弱相关性的aes密钥扩展改进算法,在基于减弱轮密钥之间相关性的基础上进行优化改进,通过三个核心步骤:改变轮密钥的计算方式、引入128位随机数,以及在轮密钥之间进行字移位操作;结合单向计算策略、随机数和字移位的优点,使得每轮密钥之间的相关性大大减弱,并且提高了原算法的抗攻击性,实现了提高aes算法整体的抗攻击性的功能。
29.2.本发明通过改变轮密钥的计算方式解决了传统密钥扩展算法每轮密钥间的强相关性问题;引入128位随机数以及在轮密钥之间进行字移位操作是为了解决改变轮密钥的计算方式操作后轮密钥内部的强相关性问题。先通过改变轮密钥的计算方式进行多轮迭代,生成最初的轮密钥矩阵;然后通过引入128位随机数以及在轮密钥之间进行字移位操作,对原始密钥矩阵进行变换得到最终的轮密钥矩阵;从而减少了整轮密钥之间的相关性,一定层度上提高了aes算法整体的抗攻击性。
30.3.本发明利用改进算法得到的最终密钥矩阵进行aes加密;通过本发明生成的轮密钥不仅极大程度上减少了每轮密钥间的相关和密钥内部字之间的相关性,而且增强了密钥安全性,从而在一定层度上提高了aes算法整体的抗攻击性。
附图说明
31.图1是本发明实施例的改进后的轮密钥计算算法流程图。
32.图2是本发明实施例的实现轮密钥内部字移位和随机数引入的算法流程图。
33.图3是本发明实施例的整体算法流程图。
具体实施方式
34.下面结合附图和具体实施方式对本发明作进一步详细的说明。
35.参见图1至图3,本发明实施例的一种弱相关性的aes密钥扩展改进算法,包括以下步骤:
36.s1:aes算法密钥长度为128比特、192比特或256比特,不同长度对应着不同的加密轮数;
37.s2:aes算法属于对称加密,加解密使用相同密钥,首先输入种子密钥;
38.s3:首先通过选择aes算法类型决定算法的密钥长度,从而决定输入的加密轮数q;具体步骤为:
39.选择128位的密钥长度算法进行加密,则输入q=10;
40.选择192位的密钥长度算法进行加密,则输入q=12;
41.选择256位的密钥长度算法进行加密,则输入q=14;
42.s4:初始化一个索引参数index=0;
43.s5:利用改进后的密钥间计算算法进行q轮迭代计算得到最初密钥矩阵;具体步骤为:
44.s501:利用每一轮密钥的前三个字(wi、w
i+1
和w
i+2
)进行异或得到下一轮密钥的第一个字w
i+4

45.s502:利用w
i+4
进行字位移变换、字节代替变换和轮常量异或三步得到第二个字w
i+5

46.s503:通过w
i+4
和w
i+5
直接运算得到w
i+6

47.s504:最后通过w
i+5
和w
i+6
之间进行异或运算得到w
i+7

48.s6:每进行一次s5操作,使得索引index值加1;
49.s7:比较判断索引index的值和输入轮数q的值:
50.如果index小于等于q则继续s5的操作;
51.如果index大于q则进入到s8;
52.s8:通过多轮s5的操作后,得到最初密钥矩阵,然后生成了一个128位的随机数字密钥nw1;
53.s9:对每轮密钥的第二个字进行移位;具体步骤为:
54.s901:每个字向前一轮移动四个单位:w5到w1的位置,w9到w5的位置,

,w
41
到w
37
的位置;
55.s902:最后一轮的第二个字利用生成的随机数密钥nw1,即nw1到w
41
的位置;
56.s10:输出最终的改进后的密钥矩阵。
57.以上实施例仅用于说明本发明的设计思想和特点,其目的在于使本领域内的技术人员能够了解本发明的内容并据以实施,本发明的保护范围不限于上述实施例。所以,凡依据本发明所揭示的原理、设计思路所作的等同变化或修饰,均在本发明的保护范围之内。

技术特征:


1.一种弱相关性的aes密钥扩展改进算法,其特征在于:包括以下步骤:s1:输入种子密钥w0、w1、w2和w3;s2:通过选择aes算法的密钥长度决定加密轮数q,输入加密轮数q和轮常数rcon;初始化索引参数index=0;s3:采用改进后的轮密钥间计算算法进行q轮迭代计算得到初始密钥矩阵;s4:生成一个128位的随机数字密钥nw1;s5:对初始密钥矩阵的每轮密钥的第二个字进行移位,用随机数密钥nw1填充最后一轮密钥的第二个字;s6:输出改进后的最终密钥矩阵。2.根据权利要求1所述的一种弱相关性的aes密钥扩展改进算法,其特征在于:所述的步骤s2中,aes算法的密钥长度为128比特、192比特或256比特,不同密钥长度对应不同的加密轮数q;选择128位的密钥长度的aes算法进行加密,则加密轮数q=10;选择192位的密钥长度的aes算法进行加密,则加密轮数q=12;选择256位的密钥长度的aes算法进行加密,则加密轮数q=14。3.根据权利要求1所述的一种弱相关性的aes密钥扩展改进算法,其特征在于:所述的步骤s3中,具体步骤为:s301:设i=0,4,8,

,4*q,对每一轮密钥的前三个字(w
i
、w
i+1
和w
i+2
)进行异或运算,得到下一轮密钥的第一个字w
i+4
;s302:对w
i+4
进行字位移变换、字节代替变换和轮常量异或运算,得到w
i+5
;s303:对w
i+4
和w
i+5
直接运算得到w
i+6
;s304:对w
i+5
和w
i+6
进行异或运算得到w
i+7
;s305:每进行一轮计算,使索引参数index的值加1;比较索引参数index与加密轮数q的值:若index≤q则执行步骤s401;若index>q则执行步骤s6。4.根据权利要求3所述的一种弱相关性的aes密钥扩展改进算法,其特征在于:所述的步骤s5中,具体步骤为:s501:将初始密钥矩阵的每轮密钥的第二个字w
i+5
向前一轮移动四个单位到w
i+1
的位置;s502:将随机数密钥nw1填充到最后一轮密钥的第二个字的位置。5.一种计算机存储介质,其特征在于:其内存储有可被计算机处理器执行的计算机程序,该计算机程序执行如权利要求1至权利要求4中任意一项所述的一种弱相关性的aes密钥扩展改进算法。

技术总结


本发明提供了一种弱相关性的AES密钥扩展改进算法,在基于减弱轮密钥之间相关性的基础上进行优化改进,采用了三种改进思路的结合优化:利用单向计算策略改进了轮密钥之间的相关性;又从减少轮密钥内部字之间的相关性出发,采用密钥字移位的操作对轮密钥字之间相关性进行了优化;最后又引入了随机数的概念增加了密钥整体上的随机性,也就是增强了密钥算法的安全性。通过本发明生成的轮密钥不仅极大程度上减少了每轮密钥间的相关和密钥内部字之间的相关性,而且增强了密钥安全性,从而在一定层度上提高了AES算法整体的抗攻击性。层度上提高了AES算法整体的抗攻击性。层度上提高了AES算法整体的抗攻击性。


技术研发人员:

曹智超 易国洪 吴冰倩 李建停 徐晓东

受保护的技术使用者:

武汉工程大学

技术研发日:

2022.08.31

技术公布日:

2022/12/16

本文发布于:2024-09-21 01:19:26,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/38174.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:密钥   算法   相关性   个字
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议