CN107959565A - 一种统一aes和sm4 s盒的实现方法 - Google Patents
一种统一aes和sm4 s盒的实现方法 Download PDFInfo
- Publication number
- CN107959565A CN107959565A CN201711064057.8A CN201711064057A CN107959565A CN 107959565 A CN107959565 A CN 107959565A CN 201711064057 A CN201711064057 A CN 201711064057A CN 107959565 A CN107959565 A CN 107959565A
- Authority
- CN
- China
- Prior art keywords
- aes
- boxes
- unified
- implementation method
- inversion operation
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
- H04L2209/122—Hardware reduction or efficient architectures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
Abstract
本发明是一种统一AES和SM4 S盒的实现方法。发明的特征在于利用有限域同构性质,将不同多项式下的乘法求逆运算互相转换,从而将AES和SM4的S盒中的求逆运算统一,然后结合AES和SM4的S盒结构,得到将AES和SM4的S盒运算统一实现的方法。本发明主要应用于在密钥算法硬件中同时实现AES和SM4,一方面能减少芯片的面积;另一方面可避免重复设计,提高开发效率。
Description
技术领域
本发明主要应用于在密钥算法硬件中同时实现AES和SM4。
背景技术
自从Rijndael算法被选定为AES(Advanced Encryption Standard)标准以来,一直受到了密码学界广泛的关注与研究,对后来的分组密码算法的设计有非常大的影响。
S盒是分组密码中唯一的非线性运算,用于实现密码设计准则中的混淆功能,因此S盒在很大程度上决定了分组算法的好坏。DES的S盒通过置换查找表的方式给出,研究人员并没有找到其对应的代数表达式。这种方式不利于对算法进行深入的安全性分析,研究人员一度怀疑DES的S盒设计中存在后门。AES的S盒则有明确的代数表达式S(a)=A·a-1+b,使用了有限域求逆和线性运算。这一结构有很好的抵抗密码分析的能力,因此这一S盒的设计思想被后续的许多分组密码算法所借鉴。例如:我国的国产密码算法SM4的S盒表达式为S(a)=A(A·a+b)-1+b,也使用了求逆和线性运算。
为了满足不同应用的需求,密码硬件设备中往往需要同时包含多个分组算法。例如:国产安全芯片中一般会同时支持SM4和AES。目前对AES硬件实现的研究较多,根据需求可以选择不同的方案;而对SM4硬件实现的研究则比较少,通常采用对AES的实现方案进行修改,从而得到符合需求的SM4实现方案。这样实际上需要重复设计,效率较低。另一方面,在硬件实现中,不同的分组算法需要用不同的硬件模块实现,因此硬件的面积、成本等将呈线性增加。
如果能够将S盒统一实现,既能够提高开发效率,避免重复设计,同时还可减少芯片的面积,降低硬件成本。但由于AES和SM4的S盒表达式并不完全相同,因此一般很难达成这一目标。本专利注意到SM4和AES的S盒都是基于有限域乘法求逆运算,利用数学理论进行推导,找到了SM4和AES的S盒转换公式,进而可将AES和SM4的S盒统一实现。
发明内容
本发明的内容是一种统一实现AES和SM4的S盒的方法,核心是利用数学理论进行推导,找到了SM4和AES的S盒转换公式,最终给出了一种统一实现AES和SM4的S盒的方法。该方法包括:1)输入数据x;2)对x进行线性运算L1,得到运算结果为y=L1(x);3)对y进行求逆运算Inv,得到运算结果为z=Inv(y);4)对z进行线性运算L2,得到运算结果为S(x)=L2(z);5)输出S(x)。
AES算法的表达式为S(a)=A1·a-1+b1。其中
1)a-1为有限域上的模m1(x)=x8+x4+x3+x+1乘法求逆运算,即输入表示多项式,求满足
a·y=1mod(x8+x4+x3+x+1)
2)A1为8*8的矩阵,b1为列向量,定义如下:
SM4算法的S盒表达式为:
S(a)=A2(A2·a+b2)-1+b2
其中1)a-1为有限域上的模m2(x)=x8+x7+x6+x5+x4+x2+1乘法求逆运算,即输入表示多项式,求满足
a·y=1mod(x8+x7+x6+x5+x4+x2+1)
2)A2为8*8的矩阵,b2为列向量,定义如下:
AES和SM4的S盒中仅有两种运算:有限域上的乘法求逆运算Inv,由矩阵乘法和向量加法A·a+b组成的线性运算L。显然AES的S盒可以表示成其结构如图1所示;SM4的S盒可以表示成其结构如图2所示。
AES与SM4在有限域上使用的模多项式不同,即m1(x)≠m2(x)。因此在这两个有限域下的求逆运算的结果不一致:y1=a-1mod m1(x)≠y2=a-1mod m2(x)。为了统一AES和SM4的S盒实现,首先需要将模多项式统一。
根据有限域理论,由不同模多项式生成的有限域同构,并且同构映射为线性运算a′=T·a,逆映射为a=T-1·a′,其中T为线性运算,a和a′为不同模多项式生成的有限域中的元素。根据这一结论,可以采用下述公式,将不同有限域下的求逆运算统一起来:
y1=a-1mod m1(x)=T-1·(T·a)-1mod m2(x)
具体如图3所示。这样既可将AES的求逆转化到SM4中计算,也可将SM4的求逆转化到AES中计算,因此能够统一两个求逆运算。
将统一后的求逆运算整合到S盒中,则该S盒包括3部分,依次为线性运算L1、求逆运算Inv、线性运算L2,如图4所示。根据选择的不可约多项式的不同,L1和L2可有不同的选择,本专利支持三种不同的实现方法。
第一种:以SM4的模多项式m2(x)为统一后的模多项式
L1 | L2 | |
AES | T·a | A1·T-1·a+b1 |
SM4 | A2·a+b2 | A2·a+b2 |
第二种:以AES的多项式m1(x)求逆为统一后的模多项式
L1 | L2 | |
AES | I:恒等变换 | A·a+b1 |
SM4 | A2·T-1·a+b2 | A2·T·a+b2 |
第三种:以其它上的不可约多项式m(x)为统一后的模多项式
L1 | L2 | |
AES | T′·a | A1·T′-1·a+b1 |
SM4 | A2·T′·T-1·a+b2 | A2·T·T′-1·a+b2 |
上表中的T为从由AES模多项式定义的有限域到由SM4模多项式定义的有限域的同构变换,T′为由AES模多项式定义的有限域到由m(x)定义的有限域的同构变换。
本发明的特点是:
1)降低了开发成本,避免重复设计。特别是在安全芯片设计中,只需要提供一种S盒防护方案,即可同时适用于AES和SM4两个算法。这样可大大提高开发效率。
2)减少硬件实现面积。由于重用了S盒中最复杂的求逆运算,因此可极大的降低硬件实现的面积。
附图说明
图1 AES S盒结构图
图2 SM4 S盒结构图
图3求逆转换结构图
图4 AES和SM4统一实现结构图
具体实施方式
图4是本发明的总体结构图,主要包括如下步骤:
1)输入数据x;
2)对x进行线性运算L1,得到运算结果为y=L1(x);
3)对y进行求逆运算Inv,得到运算结果为z=Inv(y);
4)对z进行线性运算L2,得到运算运算结果为S(x)=L2(z);
5)输出S(x)。
根据图4的实施方式,可将AES和SM4的S盒分为3层,包括线性层线性运算L1、求逆运算Inv和线性运算L2,即L1、L2和Inv支持如下3种不同的实现方式。
上表中的T为从由AES模多项式定义的有限域到由SM4模多项式定义的有限域的同构变换,T′为由AES模多项式定义的有限域到由m(x)定义的有限域的同构变换。
Claims (5)
1.一种统一AES和SM4 S盒的实现方法,其特征在于,首先通过统一AES和SM4的乘法求逆运算的模多项式,将S盒中的求逆运算统一,然后结合AES和SM4的S盒结构,得到一种将AES和SM4的S盒运算统一实现的方法,主要步骤包括:1)输入数据x;2)对x进行线性运算L1,得到运算结果为y=L1(x);3)对y进行求逆运算Inv,得到运算结果为z=Inv(y);4)对z进行线性运算L2,得到运算结果为S(x)=L2(z);5)输出S(x)。
2.根据权利要求1所述的实现方法,其特征在于,所述的统一AES和SM4的乘法求逆运算的模多项式,是指根据有限域的同构性质,通过线性运算将AES和SM4中的求逆运算进行转换,从而统一了求逆运算所使用的模多项式。
3.根据权利要求2所述的实现方法,其特征在于,所述的模多项式可以有3种不同的选择:支持为AES的多项式、支持为SM4使用的多项式、支持有限域上的其它不可约多项式。
4.根据权利要求1所述的实现方法,其特征在于,所述的将S盒中的求逆运算统一,是指将有限域之间的同构变换与AES和SM4的S盒中的线性运算相结合,实现AES和SM4共用同一个求逆运算。
5.根据权利要求1所述的实现方法,其特征在于,将所述S盒统一成三层结构:线性运算L1、求逆运算Inv、线性运算L2。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711064057.8A CN107959565A (zh) | 2017-11-02 | 2017-11-02 | 一种统一aes和sm4 s盒的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711064057.8A CN107959565A (zh) | 2017-11-02 | 2017-11-02 | 一种统一aes和sm4 s盒的实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107959565A true CN107959565A (zh) | 2018-04-24 |
Family
ID=61964321
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711064057.8A Pending CN107959565A (zh) | 2017-11-02 | 2017-11-02 | 一种统一aes和sm4 s盒的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107959565A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113507357A (zh) * | 2021-07-08 | 2021-10-15 | 无锡沐创集成电路设计有限公司 | 兼容sm4和aes算法s盒的实现方法和电路模块 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090003589A1 (en) * | 2007-06-29 | 2009-01-01 | Sanu Mathew | Native Composite-Field AES Encryption/Decryption Accelerator Circuit |
US20090214024A1 (en) * | 2008-02-21 | 2009-08-27 | Schneider James P | Block cipher using multiplication over a finite field of even characteristic |
CN103684748A (zh) * | 2012-09-26 | 2014-03-26 | 上海复旦微电子集团股份有限公司 | 对称式加解密方法、对称式加解密系统 |
CN105024804A (zh) * | 2015-06-10 | 2015-11-04 | 国网智能电网研究院 | 一种高效可配的对称密钥装置及配对方法 |
CN106921487A (zh) * | 2017-03-01 | 2017-07-04 | 芜湖职业技术学院 | 可重构s盒电路结构 |
CN109417468A (zh) * | 2017-04-12 | 2019-03-01 | 北京炼石网络技术有限公司 | 安全高效的分组密码算法实现的方法与装置 |
-
2017
- 2017-11-02 CN CN201711064057.8A patent/CN107959565A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090003589A1 (en) * | 2007-06-29 | 2009-01-01 | Sanu Mathew | Native Composite-Field AES Encryption/Decryption Accelerator Circuit |
US20090214024A1 (en) * | 2008-02-21 | 2009-08-27 | Schneider James P | Block cipher using multiplication over a finite field of even characteristic |
CN103684748A (zh) * | 2012-09-26 | 2014-03-26 | 上海复旦微电子集团股份有限公司 | 对称式加解密方法、对称式加解密系统 |
CN105024804A (zh) * | 2015-06-10 | 2015-11-04 | 国网智能电网研究院 | 一种高效可配的对称密钥装置及配对方法 |
CN106921487A (zh) * | 2017-03-01 | 2017-07-04 | 芜湖职业技术学院 | 可重构s盒电路结构 |
CN109417468A (zh) * | 2017-04-12 | 2019-03-01 | 北京炼石网络技术有限公司 | 安全高效的分组密码算法实现的方法与装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113507357A (zh) * | 2021-07-08 | 2021-10-15 | 无锡沐创集成电路设计有限公司 | 兼容sm4和aes算法s盒的实现方法和电路模块 |
CN113507357B (zh) * | 2021-07-08 | 2022-03-11 | 无锡沐创集成电路设计有限公司 | 兼容sm4和aes算法s盒的实现方法和电路模块 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106850221B (zh) | 信息加密、解密方法及装置 | |
KR101861089B1 (ko) | 근사 복소수 연산을 지원하는 복수 개의 메시지의 동형 암호화 방법 | |
TWI416347B (zh) | 處理有限域運算之方法與運算電路 | |
Chen et al. | Period distribution of generalized discrete Arnold cat map for $ N= p^{e} $ | |
CN106936569B (zh) | 一种抗功耗攻击的sm4算法掩码s盒的实现方法 | |
CN107579813A (zh) | 信息加密、解密方法及装置 | |
JP6575532B2 (ja) | 暗号化装置、復号装置、暗号処理システム、暗号化方法、復号方法、暗号化プログラム、及び復号プログラム | |
CN103501227A (zh) | 一种改进的多变量公钥密码加解密方案 | |
CN107864033B (zh) | 一种自举型对称全同态加密方法 | |
CN109417468A (zh) | 安全高效的分组密码算法实现的方法与装置 | |
Zha et al. | Further results on differentially 4-uniform permutations over | |
CN104283669A (zh) | 全同态加密中重加密深度优化方法 | |
Barbier et al. | Key reduction of McEliece's cryptosystem using list decoding | |
GB2574261A (en) | Efficient unified hardware implementation of multiple ciphers | |
CN103067165A (zh) | 公钥密码体制中的外包计算方法、设备和服务器 | |
CN107959565A (zh) | 一种统一aes和sm4 s盒的实现方法 | |
CN109274482A (zh) | 一种基于s盒优化的aes算法硬件电路实现方法 | |
Yin et al. | Designing key-dependent chaotic S-box with larger key space | |
CN102043606B (zh) | 处理有限域运算的方法与运算电路 | |
CN105530091A (zh) | 一种tts签名的解密方法 | |
CN106452726B (zh) | 一种s盒及其构造方法 | |
Almazrooie et al. | Quantum Grover attack on the simplified-AES | |
CN103023659A (zh) | 一种参数位宽可扩展的ecc加密硬件装置 | |
CN103209071A (zh) | Aes加密装置 | |
TW202109334A (zh) | 運算系統 |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180424 |