[发明专利]基于高级加密标准AES的128比特位密钥扩展方法有效

专利信息
申请号: 201210132558.6 申请日: 2012-05-02
公开(公告)号: CN102664730A 公开(公告)日: 2012-09-12
发明(设计)人: 郝跃;赵哲斐;史江一;邸志雄;李康;赵彦尚;张译 申请(专利权)人: 西安电子科技大学
主分类号: H04L9/06 分类号: H04L9/06
代理公司: 陕西电子工业专利中心 61205 代理人: 王品华;朱红星
地址: 710071*** 国省代码: 陕西;61
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 高级 加密 标准 aes 128 比特 密钥 扩展 方法
【说明书】:

技术领域

发明属于安全技术领域,涉及数据加密,特别涉及高级加密标准AES中的密钥扩展方法,可用于网络通信。

背景技术

高级加密标准AES是美国商务部国家标准技术局NIST于2001年11月公开的用于无密级加密的一种算法。AES算法自公开以来,被广泛的应用于加密协议、通信终端以及服务器等高端产品中。

AES算法通过对初始密钥进行密钥扩展得到轮密钥,并用轮密钥对128位的数据块进行加密和解密。该算法采用了Rijndael对称密钥算法的子集,支持长度为128比特位的分组和长度为128、192和256比特位的密钥。

该算法根据初始密钥的长度确定加密的轮数r,在初始密钥长度为128比特位、192比特位和256比特位的情况下,相应的轮数r分别为10、12和14。每一轮加密都需要不同的128比特位的轮密钥与数据块进行按位异或操作。由于初始密钥长度只能为128比特位、192比特位或256比特位,无法为每轮加密提供不同的轮密钥,因此该算法还包含密钥扩展算法,用于把初始密钥扩展成长度为1280比特位、1536比特位或1792比特位的数据串,从而生成加密所需要的轮密钥。

目前广泛应用的密钥扩展方法有两种:一种是《A Rijndael Cryptoprocessor Using Shared On-the-fly Key Scheduler》所使用的实时密钥扩展方法,即密钥扩展单元实时的为加密进程提供轮密钥;这种方法的缺点在于轮密钥无法重用,因而对于数据量大、需要连续使用轮密钥的场合,持续运行密钥扩展程序所带来的功耗较大;

另一种是《AES算法的一种优化的FPGA实现方法》所使用的预密钥扩展方法,先进行密钥扩展生成所有的轮密钥,并存储到内存中,再进行加密;在该方法中,由于加密流程要等待密钥扩展完成之后才能进行,从而增加了加密所需要的时间,故无法适用于要求实时加密的场合。

发明内容

本发明的目的在于针对上述传统方法的不足,提出一种基于高级加密标准AES的128比特位密钥扩展系统及方法,以保证密钥扩展的实时性以及轮密钥的可重用性,实现密钥扩展的高效率和低功耗。

为实现上述目的,本发明基于高级加密标准AES的128比特位密钥扩展系统,包括:

轮号计数器单元,用于对轮号n进行加一操作,并将轮号n输出;

寄存器堆,由位宽均为32比特的44个寄存器构成,用于暂存初始密钥和轮密钥,保证密钥扩展进程能够即时取用;

轮密钥存储单元,采用位宽为32比特位,深度为44的双口SDRAM,用于存储初始密钥和轮密钥,使得加密流程能够在密钥扩展进行的同时取得已存储的轮密钥,并保证后续数据加密时无需密钥扩展即可直接读取已存储轮密钥;

循环寄存器,用于存储供字循环单元读取使用的32比特位的值;

字循环单元,用于对循环寄存器中的值进行循环左移1个字节的操作,并将结果输出给替换寄存器;

替换寄存器,用于存储供字节替换单元读取使用的32比特位的值;

字节替换单元,用于将替换寄存器中的值作为地址分为从第31位到第24位、从第23位到第16位、从第15位到第8位和从第7位到第0位这4个字节发送给S盒单元,并将S盒单元的返回值按照发送地址时的顺序从高到低组合后输出给按位异或单元;

S盒单元,采用4个预存有S盒的ROM,用于将字节替换单元发送的4个地址在S盒中所对应的4个8比特位的值返回给字节替换单元;

轮常数选择单元,用于根据轮号n,从11个16进制的候选值:0,1,2,4,8,10,20,40,80,1b,36中选出一个值输出给按位异或单元;

异或寄存单元,包括位宽均为32比特位的0号寄存器、1号寄存器、2号寄存器和3号寄存器,用于存储按位异或单元所要使用的32比特位的值;

按位异或单元,包括0号按位异或子单元、1号按位异或子单元、2号按位异或子单元和3号按位异或子单元,用于进行按位异或操作,并将所得结果作为轮密钥输出给寄存器堆;

轮密钥扩展控制单元,用于根据轮号n决定下一步是停止还是继续进行密钥扩展进程,若轮号n为10,则结束密钥扩展进程,若轮号为0-9范围内的值,则继续执行密钥扩展进程。

为实现上述目的,本发明基于高级加密标准AES的128比特位密钥扩展方法,包括如下步骤:

1)将对密钥扩展进程进行计数的变量定义为轮号n,其取值范围分为0-9以外的整数域和0-9之间的整数域这两种情况;

2)将轮号n归零,开始密钥扩展进程;

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201210132558.6/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top