[发明专利]一种可预置和重构的密钥装置及运行方法在审
申请号: | 201410359126.8 | 申请日: | 2014-07-25 |
公开(公告)号: | CN104219043A | 公开(公告)日: | 2014-12-17 |
发明(设计)人: | 肖顺文;邹贵祥;戚淮兵;代显智;刘汉奎;王云秀;张谦述;江敏;朱松柏 | 申请(专利权)人: | 西华师范大学 |
主分类号: | H04L9/08 | 分类号: | H04L9/08 |
代理公司: | 南充三新专利代理有限责任公司 51207 | 代理人: | 许祥述 |
地址: | 637000 *** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 预置 密钥 装置 运行 方法 | ||
技术领域
本发明涉及信息加密技术领域,具体地讲是一种预置和重构的密钥装置及运行方法。
背景技术
随着电子技术和通信技术的不断快速发展,用户对信息的安全存储、安全处理和安全传输的需求越来越迫切,如何保护数据的安全,已经成为人们首要面对的问题。2000年10月2日,美国国家标准与技术研究院NIST选择AES算法作为美国国家高级加密标准,AES已经在世界范围内成为加密标准。现有的AES加密中的密钥生成器大多是基于一种初始密钥的密钥生成器,一旦被破解,就必须重新更换初始密钥,比较麻烦。目前,国内外对AES的研究还是集中体现在软件实现上,用软件加密会受到处理器速度的影响,实现太慢,随着块加密算法越来越复杂,情况更是如此;其次是加密通过硬件实现更安全,通过硬件来实现密钥模块的内部运作,算法固化在硬件中,这使得比软件更不容易修改,可保证在外界无密钥的明文流动,能够实现真正意义上的保密。如中国专利200910013660.2公开了一种利用VLSI实现128位密钥长度AES算法的装置,用微处理器接口模块和微处理器相连,微处理器接口模块分别和密钥扩展模块,密钥轮数选择器,数据输出选择器和状态输出选择器相连接,密钥扩展模块的密钥轮数与密钥轮数选择器输出连接,密钥扩展模块状态输出与微处理器接口模块连接,密钥扩展模块轮密钥输出同时与加密运算模块的轮钥输入、解密模块的轮密钥输入连接。但该发明难以实时对初始密码进行修改。此外,硬件实现还具有高速、高可靠性等特点。因此设计AES算法的硬件实现,开发我国自主的硬件加密芯片,具有重要的现实价值和理论意义。
发明内容
本发明的目的在于克服现有技术的不足,提供一种可预置和重构并扩展密钥算法的密钥装置及运行方法。本发明的目的通过下述技术方案来实现:一种可预置和重构并扩展密钥装置,包括:键盘模块、128单循环计数模块、初始密钥查找表模块、1串入128并出移位寄存模块、控制模块Ⅰ模块、循环左移模块、S盒查表模块、32位扩展密钥生成模块、控制模块Ⅱ、32并入128并出移位寄存模块、轮密钥存储模块构成,键盘模块的输出与128单循环位计数模块相连;128单循环计数模块的输出与初始密钥查找表模块相连;初始密钥查找表模块的输出与1串入128并出移位寄存模块相连;1串入128并出移位寄存模块的输出与控制模块Ⅰ模块相连;控制模块Ⅰ的输出与循环左移模块和32位扩展密钥生成模块相连;循环左移模块的输出与S盒查表模块相连;S盒查表模块的输出与32位扩展密钥生成模块相连;32位扩展密钥生成模块的输出与控制模块Ⅱ相连;控制模块Ⅱ的输出与控制模块Ⅰ、32并入128并出移位寄存模块和轮密钥存储模块相连;32并入128并出移位寄存模块的输出与轮密钥存储模块相连。
所说的128单循环计数模块包括时钟、复位端、使能端、预置数控制端、预置数据输入端、计数器计数值输出端和下一模块的同步信号控制端。
初始密钥查找表模块包括时钟、使能端、地址数据输入端、存储单元数据输出端。
扩展密钥生成模块包括:时钟、复位端、数据输入控制及启动端、 128位初始密钥数据输入端、 128位轮密钥输出端、循环次数计数器计数值输出端、对轮密钥存储器的写入控制端。
一种可预置和重构并扩展密钥算法的密钥装置运行方法,基于FPGA来完成,按下列步骤进行:
1、键盘模块输入1个7位二进制数data作为128单循环计数模块的预置数;
2、128单循环计数模块由预置数data开始计数,当值为127时,然后由0到data-1,停止计数,共生成128个计数值;
3、128单循环计数模块生成128个计数值作为初始密钥查找表模块的地址进行查表,生成128个1位数据;
4、1串入128并出移位寄存模块将128个1位数据转换为1个128位数据,此128位数据作为初始密钥;
5、控制模块Ⅰ将128位初始密钥分组为4列w3w2w1w0,进入密钥扩展流程,经40次循环以AES密钥扩展的递归算法生成40个新列w43-w4;
6、控制模块Ⅱ控制:
(1)判断如果循环变量i的值小于43则进行循环,如果循环变量i的值等于43则结束循环;
(2)将32位扩展密钥生成模块生成的新列W(i)送32并入128并出移位寄存模块,并控制32并入128并出移位寄存模块将4次循环生成的4个32位W(i)合为1个128位的AES轮密钥;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西华师范大学,未经西华师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410359126.8/2.html,转载请声明来源钻瓜专利网。