CN103209071A - Aes加密装置 - Google Patents
Aes加密装置 Download PDFInfo
- Publication number
- CN103209071A CN103209071A CN2012105151687A CN201210515168A CN103209071A CN 103209071 A CN103209071 A CN 103209071A CN 2012105151687 A CN2012105151687 A CN 2012105151687A CN 201210515168 A CN201210515168 A CN 201210515168A CN 103209071 A CN103209071 A CN 103209071A
- Authority
- CN
- China
- Prior art keywords
- key
- module
- byte
- unit
- encryption
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明涉及一种AES加密装置,包括用于接收明文进行加密以及输出密文的数据加密单元,其特征在于:还包括控制器单元、密钥扩展单元、存储器单元。该装置支持128、192、256三种密钥长度,提供存储器或者密钥扩展两种可选方式为数据加密模块提供轮密钥,并通过了仿真验证和FPGA综合。提供三种模式,两种不同来源的密钥的灵活性;通过优化数据加密单元和密钥扩展单元的数据通路、优化字节替换模块等实现以较小的面积达到可观的吞吐率。
Description
技术领域
本发明涉及通信领域,尤其涉及一种AES加密模块。
背景技术
AES,即高级加密标准(Advanced Encryption Standard),是由美国国家标准与技术研究院(NIST)于2001年11月26日发布的。AES是现在流行的对称密钥加密中最流行的算法之一。
AES的明文长度为128,密钥可以为128位、192位和256位。对应3种密钥,AES加密的轮数分别为10轮,12轮和14轮。在轮加密操作之前,AES算法首先进行初始轮,将明文和密钥直接异或。在其后的轮加密中,AES算法对前一轮生成的数据分别进行字节替换、行变换、列混合、异或轮密钥操作。在最后一轮加密中,不进行列混合操作。每一轮加密运算都需要128位的的轮密钥,由密钥扩展操作生成。
AES加密的核心是字节替换操作,对输入的8位数据进行替换。字节替换也被称为选择函数,即S盒。字节替换操作的实质是对输入数据在有限域GF(28)上进行求逆,然后进行仿射变换。GF(28)所对应的不可约多项式为,
在进行列混合操作时,AES算法还使用到基于GF(28),构建以为多项式的有限域。不过,因为加密过程中只用到了该域上的加法和与常数的乘法,所以该算法所需要的硬件并不复杂。而字节替换操作需要进行GF(28)上的求逆操作,因此复杂度更高。现有的设计已有多种针对字节替换进行的优化。
AES的轮密钥由密钥扩展操作产生,对应不同的密钥长度其扩展方式略有差别。密钥扩展从初始的输入密钥开始,以32位为单位进行扩展。密钥扩展中也需要用到S盒。因此对S盒进行优化有利于减少硬件的消耗。
发明内容
本发明提供一种支持128、192和256位密钥长度的加密装置。
本发明产品技术方案在于:一种AES加密装置,包括用于接收明文进行加密以及输出密文的数据加密单元,其特征在于:还包括控制器单元、密钥扩展单元、存储器单元;
所述密钥扩展单元从外部获取密钥,并对密钥进行密钥扩展生成第一轮密钥;所述存储器单元接收密钥扩展单元的第一轮密钥并存储为第二轮密钥;
所述控制器单元与密钥扩展单元、存储器单元、数据加密单元连接,用于读取第一轮密钥或第二轮密钥传递给数据加密单元加密。
本发明的第一优选方案在于,所述数据加密单元内设有用于字节转换的第一字节替换模块。
本发明的第二优选方案在于,所述密钥扩展单元包括第三多路选择器、密钥寄存器、第四多路选择器、异或模块、轮常数生成子模块、第二字节替换模块;
所述第三多路选择器与密钥寄存器连接,根据接收的密钥及异或模块的异或输出选择后传递给密钥寄存器,
在轮密钥加密操作完成后,控制器单元指示当前密钥寄存器的输出为轮密钥输出;否则,其输出为加密的第一中间数据;
所述第四多路选择器与第二字节替换模块、密钥寄存器连接,用于接收密钥寄存器的输出选择后输出给第二字节替换模块,
所述异或模块与第二字节替换模块、轮常数生成模块连接,接收第二字节替换模块的替换输出及轮常数生成模块的轮常数输出并异或后形成异或输出。
本发明的第三优选方案在于,所述第一字节替换模块或第二字节替换模块的工作流程如下:
(2)
(3)
对该公式中的乘法和求逆,硬件上均使用查找表的方法实现;
3. 将GF((24)2)上的元素(e,f)映射回GF(28)的元素r,则r为p在GF(28)上的逆;对元素r进行仿射变换,得到最终的字节替换结果q,其变换为,
)
通过该操作,第一字节替换模块和第二字节替换模块所需要占用的硬件资源减少了。
本发明的技术优势在于:该装置支持128、192、256三种密钥长度,提供存储器或者密钥扩展两种可选方式为数据加密模块提供轮密钥,并通过了仿真验证和FPGA综合。提供三种模式,两种不同来源的密钥的灵活性;通过优化数据加密单元和密钥扩展单元的数据通路、优化字节替换模块等实现以较小的面积达到可观的吞吐率。
附图说明
图1是本实施例AES加密模块示意图。
图2为本实施例数据加密单元示意图。
图3为本实施例密钥扩展单元示意图。
具体实施方式
下面结合附图与具体实施例对本发明做进一步说明。
参考图1、图2、图3,一种AES加密装置,包括用于接收明文进行加密以及输出密文的数据加密单元,还包括控制器单元、密钥扩展单元、存储器单元;密钥扩展单元从外部获取密钥,并对密钥进行密钥扩展生成第一轮密钥;所述存储器单元接收密钥扩展单元的第一轮密钥并存储为第二轮密钥;控制器单元与密钥扩展单元、存储器单元、数据加密单元连接,用于读取第一轮密钥或第二轮密钥传递给数据加密单元加密。数据加密单元内设有用于字节转换的第一字节替换模块。
密钥扩展单元包括第三多路选择器、密钥寄存器、第四多路选择器、异或模块、轮常数生成子模块、第二字节替换模块;第三多路选择器与密钥寄存器连接,根据接收的外部输入或控制器输入的密钥D及异或模块的异或输出选择后传递给密钥寄存器,在轮密钥加密操作完成后,控制器单元指示当前密钥寄存器的输出为轮密钥输出;否则,其输出为加密的第一中间数据。
第四多路选择器与第二字节替换模块、密钥寄存器连接,用于接收密钥寄存器的输出选择后输出给第二字节替换模块,异或模块与第二字节替换模块、轮常数生成模块连接,接收第二字节替换模块的替换输出及轮常数生成模块的轮常数输出并异或后形成异或输出。
数据加密模块包括第一选择模块、数据寄存器、第一字节替换模块、行变换模块、列混合模块、第二选择模块、轮密钥输入模块,明文A与轮密钥输入模块的输出皆进入第一选择模块进行选择并输入数据寄存器中,当加密完成时数据寄存器向外界输出密文B,否则,其输出为加密的第二中间数据,数据寄存器把输出的第二中间数据输出给第一字节替换模块进行字节替换,第二中间数据经字节替换后通过行变换模块进行行变换得到行变换数据M,再通过列混合模块进行列混合得到列混合数据N。
第二选择模块接收行变换数据M、列变换数据N以及未经变换的第二中间数据选择后输出给轮密钥输入模块,轮密钥输入模块接收控制器单元传递过来的轮密钥C并与第二选择模块的输出进行异或再形成轮密钥输入模块的输出。
第一字节替换模块或第二字节替换模块的工作流程如下:
(2)
2. 计算(b,c)在GF((24)2)上的逆(e,f)。公式为,
(3)
对该公式中的乘法和求逆,硬件上均使用查找表的方法实现;
3. 将GF((24)2)上的元素(e,f)映射回GF(28)的元素r,则r为p在GF(28)上的逆;对元素r进行仿射变换,得到最终的字节替换结果q,其变换为,
虽然本发明已经按照上述实施例做了详细描述,但是本发明的保护范围不限于此。
Claims (4)
1.一种AES加密装置,包括用于接收明文进行加密以及输出密文的数据加密单元,其特征在于:还包括控制器单元、密钥扩展单元、存储器单元;
所述密钥扩展单元从外部获取密钥,并对密钥进行密钥扩展生成第一轮密钥;所述存储器单元接收密钥扩展单元的第一轮密钥并存储为第二轮密钥;
所述控制器单元与密钥扩展单元、存储器单元、数据加密单元连接,用于读取第一轮密钥或第二轮密钥传递给数据加密单元加密。
2.根据权利要求1所述AES加密装置,其特征在于:所述数据加密单元内设有用于字节转换的第一字节替换模块。
3.根据权利要求1所述AES加密装置,其特征在于:所述密钥扩展单元包括第三多路选择器、密钥寄存器、第四多路选择器、异或模块、轮常数生成子模块、第二字节替换模块;
所述第三多路选择器与密钥寄存器连接,根据接收的密钥及异或模块的异或输出选择后传递给密钥寄存器,
在轮密钥加密操作完成后,控制器单元指示当前密钥寄存器的输出为轮密钥输出;否则,其输出为加密的第一中间数据;
所述第四多路选择器与第二字节替换模块、密钥寄存器连接,用于接收密钥寄存器的输出选择后输出给第二字节替换模块,
所述异或模块与第二字节替换模块、轮常数生成模块连接,接收第二字节替换模块的替换输出及轮常数生成模块的轮常数输出并异或后形成异或输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210515168.7A CN103209071B (zh) | 2012-12-05 | 2012-12-05 | Aes加密装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210515168.7A CN103209071B (zh) | 2012-12-05 | 2012-12-05 | Aes加密装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103209071A true CN103209071A (zh) | 2013-07-17 |
CN103209071B CN103209071B (zh) | 2016-05-25 |
Family
ID=48756165
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210515168.7A Active CN103209071B (zh) | 2012-12-05 | 2012-12-05 | Aes加密装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103209071B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104253684A (zh) * | 2014-09-23 | 2014-12-31 | 深圳市汇顶科技股份有限公司 | 加密方法和加密装置 |
CN104753662A (zh) * | 2013-12-27 | 2015-07-01 | 重庆重邮信科通信技术有限公司 | 基于aes算法的加密密钥流产生方法 |
CN106506142A (zh) * | 2016-11-22 | 2017-03-15 | 北京航空航天大学 | 一种低复杂度的aes一体化加解密器实现方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1806409A (zh) * | 2003-06-12 | 2006-07-19 | 皇家飞利浦电子股份有限公司 | 用于加密和/或解密数据的处理器和使用这样的处理器加密和/或解密数据的方法 |
CN101626289A (zh) * | 2009-07-14 | 2010-01-13 | 青岛科技大学 | Aes加密芯片的设计方法及电脑加密机 |
CN102436423A (zh) * | 2011-10-13 | 2012-05-02 | 浙江大学 | 通用片外NorFlash核心数据保护的控制器及方法 |
CN102664730A (zh) * | 2012-05-02 | 2012-09-12 | 西安电子科技大学 | 基于高级加密标准aes的128比特位密钥扩展方法 |
CN102801519A (zh) * | 2012-07-10 | 2012-11-28 | 记忆科技(深圳)有限公司 | 一种实现aes加解密的方法及装置 |
CN202998117U (zh) * | 2012-12-05 | 2013-06-12 | 无锡华大国奇科技有限公司 | Aes加密装置 |
-
2012
- 2012-12-05 CN CN201210515168.7A patent/CN103209071B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1806409A (zh) * | 2003-06-12 | 2006-07-19 | 皇家飞利浦电子股份有限公司 | 用于加密和/或解密数据的处理器和使用这样的处理器加密和/或解密数据的方法 |
CN101626289A (zh) * | 2009-07-14 | 2010-01-13 | 青岛科技大学 | Aes加密芯片的设计方法及电脑加密机 |
CN102436423A (zh) * | 2011-10-13 | 2012-05-02 | 浙江大学 | 通用片外NorFlash核心数据保护的控制器及方法 |
CN102664730A (zh) * | 2012-05-02 | 2012-09-12 | 西安电子科技大学 | 基于高级加密标准aes的128比特位密钥扩展方法 |
CN102801519A (zh) * | 2012-07-10 | 2012-11-28 | 记忆科技(深圳)有限公司 | 一种实现aes加解密的方法及装置 |
CN202998117U (zh) * | 2012-12-05 | 2013-06-12 | 无锡华大国奇科技有限公司 | Aes加密装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104753662A (zh) * | 2013-12-27 | 2015-07-01 | 重庆重邮信科通信技术有限公司 | 基于aes算法的加密密钥流产生方法 |
CN104753662B (zh) * | 2013-12-27 | 2019-09-20 | 锐迪科(重庆)微电子科技有限公司 | 基于aes算法的加密密钥流产生方法 |
CN104253684A (zh) * | 2014-09-23 | 2014-12-31 | 深圳市汇顶科技股份有限公司 | 加密方法和加密装置 |
CN104253684B (zh) * | 2014-09-23 | 2018-02-02 | 深圳市汇顶科技股份有限公司 | 加密方法和加密装置 |
US10164771B2 (en) | 2014-09-23 | 2018-12-25 | Shenzhen GOODIX Technology Co., Ltd. | Encryption method and encryption device |
CN106506142A (zh) * | 2016-11-22 | 2017-03-15 | 北京航空航天大学 | 一种低复杂度的aes一体化加解密器实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103209071B (zh) | 2016-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106850221B (zh) | 信息加密、解密方法及装置 | |
CN105490802B (zh) | 基于gpu的改进sm4并行加解密通信方法 | |
CN102025484B (zh) | 一种分组密码加解密方法 | |
US9843441B2 (en) | Compact, low power advanced encryption standard circuit | |
CN101764685B (zh) | 实现sms4算法的加解密系统 | |
CN103812641A (zh) | 一种实现sm4分组对称密码算法的系统 | |
CN104639314A (zh) | 基于aes加密/解密算法的装置和流水控制方法 | |
CN101350714A (zh) | 采用混合rijndael s-box的有效高级加密标准数据路径 | |
CN101702709B (zh) | 一种适用于mips处理器的aes加密单元 | |
CN104852798B (zh) | 一种数据加解密系统及方法 | |
CN106034021B (zh) | 轻量级双模兼容aes加解密模块及其方法 | |
US10237066B1 (en) | Multi-channel encryption and authentication | |
CN105824602B (zh) | 输入-相依随机数产生装置及其方法 | |
Tay et al. | Compact and low power aes block cipher using lightweight key expansion mechanism and optimal number of s-boxes | |
WO2008114829A1 (ja) | 暗号装置、復号装置、暗号プログラム、復号プログラム、及び記録媒体 | |
CN103209071A (zh) | Aes加密装置 | |
CN103458296A (zh) | 智能机顶盒安全密钥生成方法 | |
Shastry et al. | ASIC implementation of AES | |
Biglari et al. | Maestro: A high performance AES encryption/decryption system | |
Yoon et al. | A 55nm 50nJ/encode 13nJ/decode Homomorphic Encryption Crypto-Engine for IoT Nodes to Enable Secure Computation on Encrypted Data | |
Kaur et al. | FPGA implementation of efficient hardware for the advanced encryption standard | |
CN106656470A (zh) | 一种基于改进aes算法的数据加密方法 | |
CN202998117U (zh) | Aes加密装置 | |
CN101588234A (zh) | 一种aes中列混合变换模块的加解密复用方法 | |
CN106788976A (zh) | 一种aes加解密电路仿真分析方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |