CN107959565A - 一种统一aes和sm4 s盒的实现方法 - Google Patents

一种统一aes和sm4 s盒的实现方法 Download PDF

Info

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
Application number
CN201711064057.8A
Other languages
English (en)
Inventor
韩绪仓
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing CEC Huada Electronic Design Co Ltd
Original Assignee
Beijing CEC Huada Electronic Design Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing CEC Huada Electronic Design Co Ltd filed Critical Beijing CEC Huada Electronic Design Co Ltd
Priority to CN201711064057.8A priority Critical patent/CN107959565A/zh
Publication of CN107959565A publication Critical patent/CN107959565A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/122Hardware 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 S盒的实现方法
技术领域
本发明主要应用于在密钥算法硬件中同时实现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
CN201711064057.8A 2017-11-02 2017-11-02 一种统一aes和sm4 s盒的实现方法 Pending CN107959565A (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113507357A (zh) * 2021-07-08 2021-10-15 无锡沐创集成电路设计有限公司 兼容sm4和aes算法s盒的实现方法和电路模块

Citations (6)

* Cited by examiner, † Cited by third party
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 北京炼石网络技术有限公司 安全高效的分组密码算法实现的方法与装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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