CN109274482A - 一种基于s盒优化的aes算法硬件电路实现方法 - Google Patents
一种基于s盒优化的aes算法硬件电路实现方法 Download PDFInfo
- Publication number
- CN109274482A CN109274482A CN201810974662.7A CN201810974662A CN109274482A CN 109274482 A CN109274482 A CN 109274482A CN 201810974662 A CN201810974662 A CN 201810974662A CN 109274482 A CN109274482 A CN 109274482A
- Authority
- CN
- China
- Prior art keywords
- box
- optimization
- aes
- matrix
- inverse
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明涉及了一种基于S盒优化的AES算法硬件电路实现方法,包括:调整AES解密算法中轮函数的运算顺序、采用复合域降阶结合费马小定理的方式对AES算法字节替换层S盒设计优化、AES字节替换层S盒与逆S盒的合并及优化、通过矩阵分解对列混淆变换层优化。本发明调整优化后,组成了一条新的加密/解密数据通路,共享部分资源,降低了硬件资源开销,同时采用有限域降阶方法设计优化合并S盒运算单元,大大降低了硬件面积。
Description
技术领域
本发明涉及AES加解密技术领域,更具体地,涉及一种基于S盒优化的AES算法硬件电路实现方法。
背景技术
高级加密标准(AES)是目前使用最为广泛的一种对称密码。尽管AES名称中的术语“标准”仅仅是对美国政府应用而言,但有些商业系统也强制使用AES分组密码。
S盒是AES算法中唯一的非线性元素,是轮函数运算的核心,也是密钥扩展算法的重要组成部分。在目前的ASIC和FPGA的AES硬件实现中,便是使用LUT的方式来实现S盒,例如使用一个256×1Byte的ROM。尽管利用现在的综合工具很容易实现一个基于LUT的S盒,但它却需要以大面积为代价,所以不是一种经济的方法。S盒的硬件实现面积较大,缺乏经济效益。
发明内容
本发明为解决基于LUT的S盒设计面积大的缺点,提供一种基于S盒优化的AES算法硬件电路实现方法。
一种基于S盒优化的AES算法硬件实现方法,具体包括如下步骤:
S1:调整AES解密算法中轮函数的运算顺序;
S2:采用复合域降阶结合费马小定理的方式对AES算法字节替换层S盒设
计优化;
S3:AES字节替换层S盒与逆S盒的合并及优化;
S4:通过矩阵分解对列混淆变换层优化。
其中,步骤S1中解密算法中是将逆行位移与逆S盒调换顺序,将密钥加与列混淆调换顺序。
进一步地,采用复合域降阶结合费马小定理的方式对AES算法字节替换层S盒设计优化,步骤S2包括:
S2.1将有限域GF(28)上的求逆转化为复合域GF((24)2)上的求逆,具体为:
S2.1.1选取一个模多项式P(x)=x2+x+λ,多项式中P(x)的系数,常数λ均是域GF(24)上的元素;
S2.1.2使用域GF(24)中的多项式a(x)来表示有限GF(28)中的元素a,表达式记为:a(x)=ahx+al,其中ah,al∈GF(24),ah,al分别表示字节a的高4位和低4位;
S2.1.3将域GF(28)上的元素a的逆记为a’,则在域GF(24)上ah,al相应的逆元素记为ah’和al’,可以得到:
(ahx+al)·(ah’x+al’)=0x+1
(ahx+al)·(ah’x+al’)=(ahx+al)X(ah’x+al’)mod(x2+x+λ)
解上述上个方程得到:
其中
S2.2将所求逆作为共享单元,将逆仿射变换Affine-1和正向同构映射函数δx两个矩阵合并为一个矩阵,将仿射变换Affine和逆向同构映射函数合并为一个矩阵,进一步优化求逆,将平方运算x2和常数乘运算优化合并为下式x2+xλ运算:
c1=a0
进一步地,步骤S3列混淆变换层的优化,包括:
MixColumn设计:
对矩阵进行分解,可以得到一个新的等式:
进一步化为:
在有限域GF(28)上,通过多项式P(x)=x8+x4+x3+x+1,设a(x)=b(x)×02,求得×02(xtime函数),
InvMixColumn设计
同样对矩阵做分解,可得:
可以看出,分解后的第一个4×4矩阵跟MixColumn是一样的,设第二个4×4矩阵的结果为h,则
化简可得:
其中×04运算需要调用两次xtime函数。
与现有技术相比,本发明技术方案的有益效果是:
本发明通过调整AES解密算法中轮函数的运算顺序,优化了算法结构,组成了一条新的加密/解密数据通路,使得扩散层与逆扩散层、字节代换层与逆向字节代换层等可以共享部分资源,降低了硬件资源开销,采用复合域降阶结合费马小定理的方式实现S盒设计,与传统的LUT实现方式相比,大大降低了硬件面积。
附图说明
图1为本发明的流程示意图。
图2为本发明加密解密算法数据流图。
图3为合并的S盒结构图。
图4为优化后的S盒结构图。
具体实施方式
下面结合附图和实施例对本发明的技术方案做进一步的说明。
本发明实施例提供了一种基于S盒优化优化的AES算法硬件电路实现方法,包括如下步骤:调整AES解密算法中轮函数的运算顺序、采用复合域降阶结合费马小定理的方式对AES算法字节替换层S盒设计优化、AES字节替换层S盒与逆S盒的合并及优化、通过矩阵分解对列混淆变换层优化。
S1:调整AES解密算法中轮函数的运算顺序
传统的AES解密算法中轮函数的运算顺序是直接使用加密算法的逆向变换,即InvShiftRows(逆行位移)、InvS_Box(逆S盒)、ADD(密钥加)、InvMixColumn(逆列混淆),这便使得加密与解密的硬件结构相差太大。本发明对解密算法顺序进行适当调整,使解密算法与加密算法的顺序一一对应起来,达到资源复用上网目的。
通过将InvShiftRows(逆行位移)与InvS_Box(逆S盒)对调,ADD(密钥加)与InvMixColumn(逆列混淆)对调(即 后,解密算法的数据通路便与加密算法的数据通路相似,可以整合在一个模块上,实现资源复用。如图2所示。
S2:采用复合域降阶结合费马小定理的方式对AES算法字节替换层S盒设计优化
实现S盒方法一般有两种方式,查找表和有限域降阶运算。从面积和资源的角度考量,查找表不是一种优选方法,本发明通过有限域降阶运算是对字节替换的两个步骤用组合逻辑来实现。在有限域降阶运算中,最为复杂的是有限域GF(28)上的求逆部分。本发明通过将有限域GF(28)上求逆运算转化为复合域GF((24)2)上的求逆,具体步骤为:
1.选取一个模多项式P(x)=x2+x+λ,多项式中P(x)的系数,常数λ均是域GF(24)上的元素;
2.使用域GF(24)中的多项式a(x)来表示有限域GF(28)中的元素a,表达式记为:a(x)=ahx+al,其中ah,al∈GF(24),ah,al分别表示字节a的高4位和低4位;
3.将域GF(28)上的元素a的逆记为a’,则在域GF(24)上ah,al相应的逆元素记为ah’和al’,可以得到:
(ahx+al)·(ah’x+al’)=0x+1
(ahx+al)·(ah’x+al’)=(ahx+al)X(ah’x+al’)mod(x2+x+λ)
解上述上个方程得到:
其中
进一步地,将所求逆作为共享单元,将逆仿射变换Affine-1和正向同构映射函数δx两个矩阵合并为一个矩阵,将仿射变换Affine和逆向同构映射函数合并为一个矩阵,进一步优化求逆,将平方运算x2和常数乘运算优化合并为下式x2+xλ运算:
c1=a0
S3:AES字节替换层S盒与逆S盒的合并及优化
在S盒设计时,需要在求逆后进行仿射变换,逆S盒需要在求逆前进行放射变换,两者除了仿射变换使用的公式和顺序不同外,在求逆部分使用的是一个可共享、相同的结构,将S盒与逆S盒合并设计,如图3所示。
其中,In和Out分别代表一个字节的输入和输出,Affine和Affine-1分别代表仿射变换和逆仿射变换,crypten代表当前工作是加密还是解密,中间Inversion in GF((24)2)是共享的求逆运算单元。
考虑到逆S盒中逆仿射变换Affine-1的结果需作为求逆运算单元中正向同构映射函数δx的输入,同时上述两种操作涉及的都是字节矩阵的数学运算,故可将逆仿射变换Affine-1和同构映射函数δx两个矩阵合并为一个矩阵,这样可以很大程度上减少由中间比特级运算带来的逻辑资源。同理对于Affine和δ-1x也可作相似的优化合并。
在上述工作的基础上,我们对求逆部分做出了改进:平方操作x2的运算输出结果作为常数乘xλ的输入,由于运算中涉及的都是半字节的异或运算,故可将平方运算和常数乘运算优化合并为下式x2+xλ运算,以达到减少逻辑资源的目的。
c1=a0
优化后的结构如图4所示。
S4:通过矩阵分解对列混淆变换层优化
根据AES算法原理,列混淆变换(MixColumn)与逆向列混淆变换(InvMixColumn)都是通过与一个固定的4×4的矩阵相乘,所以可以对这两个矩阵进行一些因子分解操作,求取出两者的共同点,实现资源复用。
MixColumn设计
对矩阵进行分解,可以得到一个新的等式:
所以可得下式:
只要求解出×02,MixColumn的结果便可以求得。
在有限域GF(28)上,采用模多项式P(x)=x8+x4+x3+x+1,设a(x)=b(x)×02,分两种情况讨论:
当b[7]=0时,a=b<<1;
当b[7]=1时,a=b×02modP(x),解得
可以发现,当b[7]=0时,上述两表达式相等,综上,将×02称之为xtime函数,则
InvMixColumn设计
同样对矩阵做分解,可得:
可以看出,分解后的第一个4×4矩阵跟MixColumn是一样的,设第二个4×4矩阵的结果为h,则
化简可得:
其中×04运算只需要调用两次xtime函数即可。
综上可以得出,MixColumn与Inv_MixColumn可以合并在一个module中,实现部分资源共享,减少硬件面积。
Claims (4)
1.一种基于S盒优化的AES算法硬件实现方法,其特征在于,所述方法包括以下步骤:
S1:调整AES解密算法中轮函数的运算顺序;
S2:采用复合域降阶结合费马小定理的方式对AES算法字节替换层S盒设计优化;
S3:AES字节替换层S盒与逆S盒的合并及优化;
S4:通过矩阵分解对列混淆变换层优化。
2.根据权利要求1所述基于S盒优化的AES算法硬件实现方法,其特征在于,步骤S1中解密算法轮函数的运算顺序调整为将逆行位移与逆S盒调换顺序,将密钥加与列混淆调换顺序。
3.根据权利要求1所述基于S盒优化的AES算法硬件实现方法,其特征在于,步骤S2包括以下步骤:
S2.1将有限域GF(28)上的求逆转化为复合域GF((24)2)上的求逆,具体为:
S2.1.1:选取一个模多项式P(x)=x2+x+λ,多项式中P(x)的系数、常数λ均是域GF(24)上的元素;
S2.1.2:使用域GF(24)中的多项式a(x)来表示有限域GF(28)中的元素a,表达式记为:a(x)=ahx+al,其中ah,al∈GF(24),ah、al分别表示字节a的高4位和低4位;
S2.1.3:将域GF(28)上的元素a的逆记为a’,则在域GF(24)上ah、al相应的逆元素记为ah’和al’,可以得到下式:
(ahx+al)·(ah’x+al’)=0x+1
(ahx+al)·(ah’x+al’)=(ahx+al)X(ah’x+al’)mod(x2+x+λ)
解上述方程得到:
其中
S2.2:将步骤S2.1所述的求逆作为共享单元,将逆仿射变换Affine-1和正向同构映射函数δx两个矩阵合并为一个矩阵,将仿射变换Affine和逆向同构映射函数合并为一个矩阵,进一步优化求逆,将平方运算x2和常数乘运算优化合并为下式x2+xλ运算:
c1=a0
4.根据权利要求1所述基于S盒优化的AES算法硬件实现方法,其特征在于,所述步骤S4列混淆变换层的优化,包括:
MixColumn设计:
对矩阵进行分解,可以得到一个新的等式:
进一步化为:
在有限域GF(28)上,通过多项式P(x)=x8+x4+x3+x+1,设a(x)=b(x)×02,求得×02(xtime函数),
InvMixColumn设计:
同样对矩阵做分解,可得:
由上述公式可得,分解后的第一个4×4矩阵跟MixColumn相同,设第二个4×4矩阵的结果为h,则:
化简可得:
其中×04运算需要调用两次xtime函数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810974662.7A CN109274482A (zh) | 2018-08-24 | 2018-08-24 | 一种基于s盒优化的aes算法硬件电路实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810974662.7A CN109274482A (zh) | 2018-08-24 | 2018-08-24 | 一种基于s盒优化的aes算法硬件电路实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109274482A true CN109274482A (zh) | 2019-01-25 |
Family
ID=65154123
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810974662.7A Pending CN109274482A (zh) | 2018-08-24 | 2018-08-24 | 一种基于s盒优化的aes算法硬件电路实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109274482A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109818732A (zh) * | 2019-03-12 | 2019-05-28 | 南京航空航天大学 | 一种动态路径s盒及可防御功耗攻击的aes加密电路 |
CN110059492A (zh) * | 2019-04-01 | 2019-07-26 | 南京航空航天大学 | 一种基于双路互补结构的可检错aes加密电路 |
CN116562229A (zh) * | 2023-07-10 | 2023-08-08 | 武汉芯必达微电子有限公司 | 一种基于aes算法的列混淆计算优化硬件实现方法及装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103516512A (zh) * | 2013-10-21 | 2014-01-15 | 深圳市芯通信息科技有限公司 | 基于aes算法的加解密方法及加解密器 |
CN106506142A (zh) * | 2016-11-22 | 2017-03-15 | 北京航空航天大学 | 一种低复杂度的aes一体化加解密器实现方法 |
CN106656470A (zh) * | 2016-12-16 | 2017-05-10 | 南开大学 | 一种基于改进aes算法的数据加密方法 |
CN106788976A (zh) * | 2016-12-28 | 2017-05-31 | 广东工业大学 | 一种aes加解密电路仿真分析方法及装置 |
CN106936569A (zh) * | 2017-05-18 | 2017-07-07 | 北京万协通信息技术有限公司 | 一种抗功耗攻击的sm4算法掩码s盒的实现方法 |
CN106992852A (zh) * | 2017-05-08 | 2017-07-28 | 芜湖职业技术学院 | 应用于AES与Camellia密码算法的可重构S盒电路结构 |
CN107070630A (zh) * | 2017-01-17 | 2017-08-18 | 中国科学院信息工程研究所 | 一种aes算法的快速安全硬件结构 |
CN107579813A (zh) * | 2017-09-12 | 2018-01-12 | 四川阵风科技有限公司 | 信息加密、解密方法及装置 |
-
2018
- 2018-08-24 CN CN201810974662.7A patent/CN109274482A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103516512A (zh) * | 2013-10-21 | 2014-01-15 | 深圳市芯通信息科技有限公司 | 基于aes算法的加解密方法及加解密器 |
CN106506142A (zh) * | 2016-11-22 | 2017-03-15 | 北京航空航天大学 | 一种低复杂度的aes一体化加解密器实现方法 |
CN106656470A (zh) * | 2016-12-16 | 2017-05-10 | 南开大学 | 一种基于改进aes算法的数据加密方法 |
CN106788976A (zh) * | 2016-12-28 | 2017-05-31 | 广东工业大学 | 一种aes加解密电路仿真分析方法及装置 |
CN107070630A (zh) * | 2017-01-17 | 2017-08-18 | 中国科学院信息工程研究所 | 一种aes算法的快速安全硬件结构 |
CN106992852A (zh) * | 2017-05-08 | 2017-07-28 | 芜湖职业技术学院 | 应用于AES与Camellia密码算法的可重构S盒电路结构 |
CN106936569A (zh) * | 2017-05-18 | 2017-07-07 | 北京万协通信息技术有限公司 | 一种抗功耗攻击的sm4算法掩码s盒的实现方法 |
CN107579813A (zh) * | 2017-09-12 | 2018-01-12 | 四川阵风科技有限公司 | 信息加密、解密方法及装置 |
Non-Patent Citations (3)
Title |
---|
XINMIAO ZHANG ECT.: "High-Speed VLSI Architectures for the AES Algorithm", 《IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS》 * |
刘珍桢: "AES加、解密算法的FPGA优化设计", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
曾毅,鲁欣,付宇卓: "一种优化可配置的AES密码算法硬件实现", 《微电子学与计算机》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109818732A (zh) * | 2019-03-12 | 2019-05-28 | 南京航空航天大学 | 一种动态路径s盒及可防御功耗攻击的aes加密电路 |
CN109818732B (zh) * | 2019-03-12 | 2021-05-11 | 南京航空航天大学 | 一种动态路径s盒及可防御功耗攻击的aes加密电路 |
CN110059492A (zh) * | 2019-04-01 | 2019-07-26 | 南京航空航天大学 | 一种基于双路互补结构的可检错aes加密电路 |
CN110059492B (zh) * | 2019-04-01 | 2023-01-31 | 南京航空航天大学 | 一种基于双路互补结构的可检错aes加密电路 |
CN116562229A (zh) * | 2023-07-10 | 2023-08-08 | 武汉芯必达微电子有限公司 | 一种基于aes算法的列混淆计算优化硬件实现方法及装置 |
CN116562229B (zh) * | 2023-07-10 | 2023-09-22 | 武汉芯必达微电子有限公司 | 一种基于aes算法的列混淆计算优化硬件实现方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Tang et al. | A method for designing dynamical S-boxes based on discretized chaotic map | |
Almaiah et al. | A new hybrid text encryption approach over mobile ad hoc network | |
US7606368B2 (en) | Method and apparatus for data encryption | |
EP1379024A1 (en) | Method and apparatus for generating a cryptographic key | |
US8605897B2 (en) | Symmetric-key encryption method and cryptographic system employing the method | |
CN109274482A (zh) | 一种基于s盒优化的aes算法硬件电路实现方法 | |
GB2381174A (en) | Method and apparatus for encrypting data | |
KR20050078271A (ko) | 저전력 고속 동작을 위한 하드웨어 암호화/복호화 장치 및그 방법 | |
CN106982116A (zh) | 一种基于可逆逻辑电路的aes的本地文件加密方法 | |
Pal et al. | Design of strong cryptographic schemes based on Latin squares | |
Gangadari et al. | FPGA implementation of compact S-box for AES algorithm using composite field arithmetic | |
CN107147626A (zh) | 一种AES算法与ElGamal算法相结合的加密文件传输方法 | |
Kim et al. | Efficient masking methods appropriate for the block ciphers ARIA and AES | |
Tentu | A review on evolution of symmetric key block ciphers and their applications | |
Kumar et al. | Distinction between Secret key and Public key Cryptography with existing Glitches | |
Singh et al. | Study & analysis of cryptography algorithms: RSA, AES, DES, T-DES, blowfish | |
Venkatesha et al. | AES based algorithm for image encryption and decryption | |
Shinde et al. | A review of various encryption techniques | |
KR20190037980A (ko) | 퍼베이시브 컴퓨팅을 위한 효과적인 초경량 블록 암호 시스템 | |
CN106973061A (zh) | 一种基于可逆逻辑电路的aes的外发文件加密方法 | |
Shylashree et al. | FPGA implementations of advanced encryption standard: A survey | |
Mukhopadhyay | Cryptography: Advanced encryption standard (aes) | |
Hallappanavar et al. | Efficient implementation of AES by modifying S-Box | |
Yadav et al. | Hybrid cryptography approach to secure the data in computing environment | |
Rajarama et al. | Diffie-Hellman Type Key Exchange, ElGamal Like Encryption/Decryption and Proxy Re-encryption Using Circulant Matrices. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190125 |
|
RJ01 | Rejection of invention patent application after publication |