[发明专利]一种基于弱关联性的AES密钥扩展方法有效
申请号: | 202010166116.8 | 申请日: | 2020-03-11 |
公开(公告)号: | CN111400730B | 公开(公告)日: | 2022-03-08 |
发明(设计)人: | 廖浩德;田培培 | 申请(专利权)人: | 西南石油大学 |
主分类号: | G06F21/60 | 分类号: | G06F21/60 |
代理公司: | 成都方圆聿联专利代理事务所(普通合伙) 51241 | 代理人: | 宋红宾 |
地址: | 610500 四*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 关联性 aes 密钥 扩展 方法 | ||
本发明公开了一种基于弱关联性的AES密钥扩展方法,包括以下步骤:S1.伪随机发生器生成136‑256比特数的随机数,进而得到种子密钥;S2.确定对应的密钥总轮数Q,并初始化q=0;S3.将种子密钥作为RC4算法中的KSA算法的输入,得到一个256位的初始S密钥;S4.将初始S密钥作为RC4算法中的PRGA算法的输入,得到一个256位的密钥流;S5.对得到的256位的密钥流进行相应的截取,得到16字节的轮密钥;S6.对q进行更新,每次更新后q的值加1;S7.判断是否满足条件q不大于Q;若是,将得到的256位的密钥流作为步骤S4的输入,并基于更新后的q值,再次按照步骤S4~S7进行循环迭代;若否,输出最终的轮密钥矩阵。本发明保证了每一轮密钥流之间的弱关联性,大大提高了AES密钥扩展的安全性。
技术领域
本发明涉及数据加密,特别是涉及一种基于弱关联性的AES密钥扩展方法。
背景技术
AES是密码学中的高级加密方法,又称为Rijndael加密法,由美国国家标准与技术研究院(NIST)于2001年11月26日发布于FIPS PUB 197,并于2002年5月26日成为有效的标准,主要用于代替原有的DES(Data Encryption Standard)到2006年时该算法已称为现代对称密码学中最流行的算法之一。
AES是一种迭代的、分组密码,支持128位的明文分组,加密轮数随密钥长度的变化而变化。其密钥长度可以为128位、192位和256位,对应的加密轮数是10轮、12轮和14轮,根据密钥长度的特点,该算法也可被称为AES-128、AES-192和AES-256。AES加密算法中的每轮都包含4个步骤(除最后一轮):字节替换(SubBytes)、行移位(ShiftRows)、列混合(MixColumns)和轮密钥加(AddRoundKey),其中轮密钥加是AES加密算法中的主要内容之一,因此提高轮密钥加的安全性就显得尤为重要。
AES加密算法在安全评估过程中发现smart card具体实现的能量分析可以破解该算法,通过分析发现能量攻击在攻击方式上是利用了AES算法的密钥具有简单扩展的特点。
发明内容
本发明的目的在于克服现有技术的不足,提供一种基于弱关联性的AES密钥扩展方法,通过基于RC4算法中的KSA算法和PRGA算法的随机性和一定的截取规则保证了每一轮密钥流之间的弱关联性,大大提高了AES密钥扩展的安全性。
本发明的目的是通过以下技术方案来实现的:一种基于弱关联性的AES密钥扩展方法,包括以下步骤:
S1.基于RC4算法密钥长度可变的特点,利用伪随机发生器生成136-256比特数的随机数,进而得到种子密钥,并进行保存;
S2.根据待扩展的AES算法密钥长度的不同,确定对应的密钥总轮数Q:
对于长度为128位的密钥,Q=10;
对于长度为192位的密钥,Q=12;
对于长度为256位的密钥,Q=14;
初始化参数q=0;
S3.将种子密钥作为RC4算法中的KSA算法的输入,得到一个初始S密钥,该初始S密钥具有256位;
S4.将初始S密钥作为RC4算法中的PRGA算法的输入,得到一个256位的密钥流;
S5.对步骤S4中得到的256位的密钥流进行相应的截取,得到16字节的轮密钥,截取规则为:
种子密钥经过KSA和PRGA算法后生成256位的密钥流后,对于128位密钥长度的AES加密算法,选择种子密钥的第q+1个字节与255进行与操作并将操作后的数值与64进行取余运算,将运算结果对应到256位的密钥流的字节上,然后向右循环截取,得到16字节的轮密钥;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西南石油大学,未经西南石油大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010166116.8/2.html,转载请声明来源钻瓜专利网。