CN1688121A - AES加解密电路优化方法及复用Sbox模块 - Google Patents
AES加解密电路优化方法及复用Sbox模块 Download PDFInfo
- Publication number
- CN1688121A CN1688121A CN 200510075399 CN200510075399A CN1688121A CN 1688121 A CN1688121 A CN 1688121A CN 200510075399 CN200510075399 CN 200510075399 CN 200510075399 A CN200510075399 A CN 200510075399A CN 1688121 A CN1688121 A CN 1688121A
- Authority
- CN
- China
- Prior art keywords
- circuit
- gating
- affine transformation
- gating switch
- inverting
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 10
- 238000005457 optimization Methods 0.000 title claims description 8
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 claims abstract description 60
- 230000009466 transformation Effects 0.000 claims abstract description 60
- 238000010586 diagram Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 2
Images
Landscapes
- Semiconductor Integrated Circuits (AREA)
Abstract
本发明涉及一种AES加解密电路复用Sbox模块,其包括求逆电路、第一选通开关、第二选通开关、加密仿射变换电路、解密仿射变换电路、控制单元,其中第一选通开关连接于求逆电路的输入端,解密仿射变换电路连接于第一选通开关的高位1端,第二选通开关连接于求逆电路的输出端,加密仿射变换电路连接于第二选通开关的低位0端,控制单元控制第一选通开关和第二选通开关同时选通高位1端或低位0端。另外,本发明还提供一种AES加解密电路优化方法。本发明通过使加解密电路共用同一个Sbox模块,从而减少了所用电路的规模,降低了整个电路的功耗和面积。
Description
技术领域
本发明涉及加解密技术,尤其涉及AES加解密电路的优化。
背景技术
AES算法是Advanced Encrypt Standard的简称,这种算法是美国国家标准委员会NIST公布的一种分组密码算法。AES算法中加密密钥的长度为128、192、256bit,对于特定的应用场合,密钥长度是固定的。AES算法由于具有应用范围广、等待时间短、相对容易隐藏、吞吐量高的优点而被广泛地讨论和认可。
AES算法的强度是基于基为256的有限域上的求逆运算,同时,对于加密和解密而言,在求逆之后或者之前需要做一个仿射变换。在硬件的电路中,通用的做法是将GF256上的求逆运算加上仿射变换用查找一个8输入8输出的表来表示,事先计算好求逆过程中每个输入对应的输出值,组成了这个表。AES加解密电路中的Sbox的原理如图1所示。Sbox模块分为加密Sbox模块和解密Sbox模块。
在具体实现一个Sbox模块的过程中,需要用比较多的逻辑电路来实现Sbox模块,例如一个查表需要800个等效逻辑门(一个二输入与门可以看作一个等效逻辑门),当我们希望12个时钟周期实现一个128bit分组的加密的时候,这样的Sbox模块在AES加密电路中需要16个,同样对于AES解密电路也需要16个解密Sbox。如此计算,在一个同时支持加解密的AES电路中,就需要(800+100)*32=28800个等效逻辑门。因此,AES加解密电路中的Sbox电路规模大,造成功耗大,成本高。由于电路规模的大小决定了系统的功耗、造价、体积等特征,所以有必要优化Sbox模块来减小电路规模。
发明内容
本发明的目的是为了减小AES算法电路中Sbox部分的电路规模、从而降低电路整体规模,降低功耗和成本。
为了实现本发明的发明目的,一方面,本发明提供一种AES加解密电路Sbox模块的优化方法,其包括:在一求逆电路的输入端连接第一选通开关,在该求逆电路的输出端连接第二选通开关,将一解密仿射变换电路连接于求逆电路的输入端且由第一选通开关控制该解密仿射变换电路是否选通,一加密仿射变换电路连接于求逆电路的输出端且由第二选通开关控制该加密仿射变换电路是否选通,对两个选通开关进行控制,使得在加密模式下,只选通加密仿射变换电路,在解密模式下,只选通解密仿射变换电路。
另一方面,本发明根据AES算法的结构,设计出一种AES加解密算法可以复用的Sbox电路模块,其包括求逆电路,其特征在于,还包括第一选通开关和第二选通开关、加密仿射变换电路、解密仿射变换电路、控制单元,其中所述第一选通开关连接于所述求逆电路的输入端,用于是否选通解密仿射变换电路,所述第二选通开关连接于所述求逆电路的输出端,用于是否选通加密仿射变换电路,所述控制单元和两个选通开关的控制端相连,控制所述第一选通开关和第二选通开关,使得在加密模式下只选通加密仿射变换电路,在解密模式下只选通解密仿射变换电路。
附图说明
图1示出了现有技术AES加解密电路的简单原理图;
图2A示出了现有技术AES加密Sbox模块的运算原理框图;
图2B示出了现有技术AES解密Sbox模块的运算原理框图;
图3示出了本发明的AES加解密电路复用Sbox模块示意图。
具体实施方式
下面参照附图详细说明本发明。所给出的附图仅用于说明,并不限制本发明。
AES算法是一种分组密码算法,对于加密和解密模式而言,其电路结构是相同的,使用的都是8条线输入8条线输出的Sbox模块,只是输入和输出的对应关系不同。由于不论加密还是解密,Sbox模块实现的都是GF256上求逆运算和仿射变换的组合。对加密而言,是先做求逆后做仿射变换,对解密而言,是先做仿射变换后做求逆。需要说明的是,加解密用到的仿射变换是不同的。
图2A和2B给出了加解密Sbox模块的运算原理框图。从图中可以看出,对加解密Sbox模块而言,其内部只是仿射变换电路的位置和内容不同,共同的是进行GF256的求逆运算的求逆电路,而GF256求逆运电路恰恰占了Sbox模块的主要部分。
根据上述分析结果,本发明将加密Sbox模块和解密Sbox模块中的GF256求逆电路共用,提供一种AES加解密电路的优化方法以及一种AES加解密电路复用Sbox模块。
本发明的AES加解密电路的优化方法,即在一求逆电路的输入端连接第一选通开关,在该求逆电路的输出端连接第二选通开关;将一解密仿射变换电路连接于求逆电路的输入端且由第一选通开关控制该解密仿射变换电路是否选通,一加密仿射变换电路连接于求逆电路的输出端且由第二选通开关控制该加密仿射变换电路是否选通;对两个选通开关进行控制,使得在加密模式下,仅使输出端的加密仿射变换电路选通,在解密模式下,仅使输入端的解密仿射变换电路选通,例如,使求逆电路输入端的选通开关的高位与解密仿射变换电路连接,求逆电路输出端的选通开关的低位与加密仿射变换电路连接,在加密模式下,控制两个选通开关同时处于低位,在解密模式下,控制两个选通开关同时处于高位。
本发明的AES加解密电路复用Sbox模块,通过使用电路选通开关,只需使用一个GF256上的求逆电路就可以既实现加密Sbox的功能,又实现解密Sbox的功能。具体地,如图3所示,本发明的AES加解密电路复用Sbox模块包括求逆电路1、第一选通开关2、第二选通开关3、加密仿射变换电路4、解密仿射变换电路5、控制单元6。其中,第一选通开关2连接于求逆电路1的输入端,解密仿射变换电路5连接于第一选通开关2的高位1端;第二选通开关3连接于求逆电路1的输出端,加密仿射变换电路4连接于第二选通开关3的低位0端;控制单元6连接于两个选通开关的控制端,用来控制第一选通开关2和第二选通开关3:在加密模式下,控制单元6控制两个选通开关的高位1端关闭,低位0端开启,数据经第一选通开关2的0端,通过求逆电路1进行在GF256上的求逆运算后,进入连接于第二选通开关3的0端的加密仿射变换电路4,在其中进行加密仿射变换A后输出;在解密模式下,控制单元6控制两个选通开关的低位0端关闭,高位1端开启,数据经连接于第一选通开关2的1端的解密仿射变换电路5,在其中进行解密仿射变换A-1后,经求逆电路1在GF256上进行求逆运算,然后经第二选通开关3的1端输出。通过使用多个上述本发明的复用Sbox模块,可以实现相应需要(特定分组长度在特定时钟周期个数下)的AES加解密电路。一般地,在不同的时钟周期和不同的分组情况下,采用的本发明的Sbox模块的数目会不同。比如,当希望24个时钟周期实现一个128bit分组的加密的时候,AES加解密电路可以用8个本发明上述的Sbox模块来实现。
在上述实施例中,所述求逆电路、加密仿射变换电路、解密仿射变换电路可由逻辑电路形成。
本发明通过使GF256求逆电路共用,使得本发明既可以在AES加密电路中作为Sbox使用,又可以在AES解密电路中作为Sbox使用,这与现有技术相比,每个Sbox模块省去了一个GF256求逆电路,从而降低了电路的规模。假设用12个时钟周期实现一个128bit分组的加密的时候,GF256求逆电路用一个800门的查表电路来实现(对于分组长度为192比特和256比特时,根据AES算法,同样采用16个本发明的复用Sbox模块电路,可以分别在14个和16个时钟周期内实现一个分组的加解密),仿射变换和选通开关用100门的逻辑电路实现,在AES电路中使用16个本发明的复用Sbox模块电路就可以实现加解密的功能,Sbox模块部分占用的电路规模是(800+100+100)*16=16000等效逻辑门,比优化前减小了44%,这对电路的功耗、面积等等都是大有好处的。
Claims (5)
1.一种AES加解密电路Sbox模块的优化方法,其特征在于,
在一求逆电路的输入端连接第一选通开关,在该求逆电路的输出端连接第二选通开关,
将一解密仿射变换电路连接于求逆电路的输入端且由第一选通开关控制该解密仿射变换电路是否选通,一加密仿射变换电路连接于求逆电路的输出端且由第二选通开关控制该加密仿射变换电路是否选通,
对两个选通开关进行控制,使得在加密模式下,只选通加密仿射变换电路,在解密模式下,只选通解密仿射变换电路。
2.根据权利要求1所述的加解密电路Sbox模块的优化方法,其特征在于,
解密仿射变换电路连接于求逆电路输入端的选通开关的高位,加密仿射变换电路连接于求逆电路输出端的选通开关的低位;
在加密模式下,控制两个选通开关同时处于低位,在解密模式下,控制两个选通开关同时处于高位。
3.一种AES加解密电路复用Sbox模块,包括求逆电路,其特征在于,还包括第一选通开关和第二选通开关、加密仿射变换电路、解密仿射变换电路、控制单元,其中所述第一选通开关连接于所述求逆电路的输入端,用于是否选通解密仿射变换电路,所述第二选通开关连接于所述求逆电路的输出端,用于是否选通加密仿射变换电路,所述控制单元和两个选通开关的控制端相连,控制所述第一选通开关和第二选通开关,使得在加密模式下只选通加密仿射变换电路,在解密模式下只选通解密仿射变换电路。
4.根据权利要求3所述的AES加解密电路复用Sbox模块,其特征在于,所述第一选通开关的高位与所述解密仿射变换电路连接,所述第二选通开关的低位与所述加密仿射变换电路连接,在加密状态下,所述控制单元控制所述第一选通开关和第二选通开关同时处于低位,在解密状态下,所述控制单元控制所述第一选通开关和第二选通开关同时处于高位。
5.根据权利要求3所述的AES加解密电路复用Sbox模块,其特征在于,所述求逆电路、加密仿射变换电路、解密仿射变换电路均由逻辑电路形成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200510075399 CN1688121A (zh) | 2005-06-16 | 2005-06-16 | AES加解密电路优化方法及复用Sbox模块 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200510075399 CN1688121A (zh) | 2005-06-16 | 2005-06-16 | AES加解密电路优化方法及复用Sbox模块 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1688121A true CN1688121A (zh) | 2005-10-26 |
Family
ID=35306161
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200510075399 Pending CN1688121A (zh) | 2005-06-16 | 2005-06-16 | AES加解密电路优化方法及复用Sbox模块 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1688121A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102710415A (zh) * | 2012-06-18 | 2012-10-03 | 西安西电捷通无线网络通信股份有限公司 | 一种利用对称密码算法进行数据加解密的方法及查表装置 |
CN102801519A (zh) * | 2012-07-10 | 2012-11-28 | 记忆科技(深圳)有限公司 | 一种实现aes加解密的方法及装置 |
CN108008934A (zh) * | 2017-12-04 | 2018-05-08 | 深圳职业技术学院 | 一种基于查找表的复合有限域求逆装置 |
-
2005
- 2005-06-16 CN CN 200510075399 patent/CN1688121A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102710415A (zh) * | 2012-06-18 | 2012-10-03 | 西安西电捷通无线网络通信股份有限公司 | 一种利用对称密码算法进行数据加解密的方法及查表装置 |
WO2013189253A1 (zh) * | 2012-06-18 | 2013-12-27 | 西安西电捷通无线网络通信股份有限公司 | 一种利用对称密码算法进行数据加解密的方法及查表装置 |
CN102710415B (zh) * | 2012-06-18 | 2015-03-11 | 西安西电捷通无线网络通信股份有限公司 | 一种利用对称密码算法进行数据加解密的方法及查表装置 |
US9374218B2 (en) | 2012-06-18 | 2016-06-21 | China Iwncomm Co., Ltd. | Method for conducting data encryption and decryption using symmetric cryptography algorithm and table look-up device |
CN102801519A (zh) * | 2012-07-10 | 2012-11-28 | 记忆科技(深圳)有限公司 | 一种实现aes加解密的方法及装置 |
CN108008934A (zh) * | 2017-12-04 | 2018-05-08 | 深圳职业技术学院 | 一种基于查找表的复合有限域求逆装置 |
CN108008934B (zh) * | 2017-12-04 | 2021-09-07 | 深圳职业技术学院 | 一种基于查找表的复合有限域求逆装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102710415B (zh) | 一种利用对称密码算法进行数据加解密的方法及查表装置 | |
AU4105801A (en) | Block encryption device using auxiliary conversion | |
JPH1075240A (ja) | データ送信を保護する方法およびデータを暗号化または解読化する装置 | |
EP0802652A2 (en) | Data encryptor having a scalable clock | |
CN101739889A (zh) | 密码处理装置 | |
EP1955473A1 (en) | Mutli-lane high-speed encryption and decryption | |
CN102801519A (zh) | 一种实现aes加解密的方法及装置 | |
CN107947916B (zh) | 一种基于des算法的一体式加解密模块 | |
Tay et al. | Compact and low power aes block cipher using lightweight key expansion mechanism and optimal number of s-boxes | |
CN101729242A (zh) | 对称分组密码的生成方法及其装置 | |
Guan et al. | Implementation of SM4 on FPGA: Trade-off analysis between area and speed | |
Mohurle et al. | Review on realization of AES encryption and decryption with power and area optimization | |
CN109033892A (zh) | 基于合成矩阵的轮变换复用电路及aes解密电路 | |
CN105916141A (zh) | 一种自同步的祖冲之加解密算法的实现系统及其方法 | |
CN1688121A (zh) | AES加解密电路优化方法及复用Sbox模块 | |
CN101588234B (zh) | 一种aes中列混合变换模块的加解密复用方法 | |
CN109150495A (zh) | 一种轮变换复用电路及其aes解密电路 | |
CN100561911C (zh) | 一种AES加解密电路中Sbox模块优化方法及优化电路 | |
CN105049203A (zh) | 一种支持多工作模式的可配置3des加解密算法电路 | |
WO2004102870A8 (en) | A hardware implementation of the mixcolumn/ invmixcolumn functions | |
CN102857334B (zh) | 一种实现aes加解密的方法及装置 | |
KR100456599B1 (ko) | 병렬 디이에스 구조를 갖는 암호 장치 | |
CN102780557B (zh) | 一种选择门优化的aes加解密方法及装置 | |
Anusha et al. | Analysis and comparison of symmetric key cryptographic algorithms on FPGA | |
KR100668664B1 (ko) | 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 | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Open date: 20051026 |