预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共17页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利(10)授权公告号(10)授权公告号CNCN102624520102624520B(45)授权公告日2014.10.29(21)申请号201210132394.7刘珍桢.AES加、解密算法的FPGA优化设计.《电子科技大学硕士学位论文》.2007,(22)申请日2012.05.02审查员孙凯(73)专利权人西安电子科技大学地址710071陕西省西安市太白南路2号(72)发明人史江一赵哲斐郝跃邸志雄李康赵彦尚(74)专利代理机构陕西电子工业专利中心61205代理人王品华朱红星(51)Int.Cl.H04L9/06(2006.01)(56)对比文件CN101938351A,2011.01.05,全文.CN1445681A,2003.10.01,全文.CN1672352A,2005.09.21,全文.US2005213756A1,2005.09.29,全文.权权利要求书4页利要求书4页说明书8页说明书8页附图4页附图4页(54)发明名称基于AES的192比特位密钥扩展系统及方法(57)摘要本发明公开了一种基于高级加密标准AES的192比特位密钥扩展系统及方法,主要解决现有192比特AES加密算法中密钥扩展过程的低效率以及高功耗问题。其实现过程是:在密钥扩展的第一轮对初始密钥进行存储,取前4列作为该轮密钥扩展的轮密钥,并进行字循环、字节替换、按位异或操作;将所得结果作为轮密钥同时存储在本地寄存器和外部存储单元中,供加密流程读取使用;之后每轮都对前一轮所得轮密钥重复上述操作,直到得到所有12个轮密钥,结束密钥扩展。本发明能够兼顾密钥扩展的实时性以及轮密钥的可重用性,实现高效率和低功耗的密钥扩展,适用于AES加密算法的192比特密钥扩展过程。CN102624520BCN102645BCN102624520B权利要求书1/4页1.一种基于AES的192比特位密钥扩展系统,包括:扩展计数单元(1),用于将序号n归零,开始密钥扩展进程,再对序号n进行加1操作,并将序号n输出;暂存单元(2),由位宽均为32比特的52个寄存器构成,用于暂存初始密钥和轮密钥,保证密钥扩展进程能够即时取用;轮密钥存储单元(3),采用位宽为32比特位,深度为52的双口SDRDM,用于存储初始密钥和轮密钥,保证在密钥扩展进行的同时能够为加密流程实时的提供轮密钥,并保证对后续数据块进行加密时无需密钥扩展即可直接读取已存储轮密钥;循环寄存器(4),用于存储供字循环单元(5)读取使用的32比特位的值,即将初始密钥从高位到低位分为6个32比特位的值,再按此顺序同时将这6个32比特位的数据存入地址为0,1,2,3,4,5的寄存器和一个专用于存储轮密钥的双口SDRAM中;根据序号n确定寄存器地址d,若序号n为0-7之外的值,则寄存器地址d的值保持不变,否则按以下规律确定地址:若序号n为0,则寄存器地址d为5;序号n每增加1,寄存器地址d的值就增加6;从寄存器地址d所对应的寄存器中取值赋给循环寄存器,将循环寄存器中的32比特位值循环左移一个字节,并输出到替换寄存器中;字循环单元(5),用于对循环寄存器(4)中的值进行循环左移1个字节的操作,并将结果输出给替换寄存器(6);替换寄存器(6),用于存储供字节替换单元(7)读取使用的32比特位的值;字节替换单元(7),用于将替换寄存器(6)中的值作为地址分为从第31位到第24位、从第23位到第16位、从第15位到第8位和从第7位到第0位这4个字节发送给S盒单元(8),并将S盒单元(8)的返回值按照发送地址时的顺序从高到低组合后输出给异或单元(11);S盒单元(8),采用四个预存有S盒的ROM,用于将字节替换单元(7)发送的四个地址在S盒中所对应的四个8比特位的值返回给字节替换单元(7);轮常数选择单元(9),用于根据序号n从9个16进制的候选值中选择轮常数值输出,即当序号n为0-7时,对应的轮常数值输出依次为1,2,4,8,10,20,40,80给异或单元(11),否则,轮常数值输出为0;异或寄存单元(10),包括位宽均为32比特位的0号寄存器、1号寄存器、2号寄存器、3号寄存器、4号寄存器和5号寄存器,用于存储异或单元(11)所要使用的32比特位的值:根据序号n确定寄存器地址f0,f1,f2,f3,f4和f5的值,若序号n为0-7之外的值,则寄存器地址f0,f1,f2,f3,f4和f5中的值均保持不变,否则按以下规律确定地址:若序号n为0,则寄存器地址f0,f1,f2,f3,f4和f5依次被赋值6,7,8,9,10,11;序号n每增加1,则寄存器地址f0,f1,f2,f3,f4和f5的值都增加6;若序号n为4,则寄存器地址f0的值增加为30,f1的值增加为31,f2的值增加为32,f3的值