CN104065473A - Sm4分组密码算法s盒的紧凑实现方法 - Google Patents
Sm4分组密码算法s盒的紧凑实现方法 Download PDFInfo
- Publication number
- CN104065473A CN104065473A CN201410290907.6A CN201410290907A CN104065473A CN 104065473 A CN104065473 A CN 104065473A CN 201410290907 A CN201410290907 A CN 201410290907A CN 104065473 A CN104065473 A CN 104065473A
- Authority
- CN
- China
- Prior art keywords
- box
- circleplus
- bits
- finite field
- algorithm
- 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
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
SM4分组密码算法S盒的紧凑实现方法,涉及加密技术。本发明包括下述步骤:1)将有限域GF(28)中的元素从标准表示转换为用复合域方法表示;2)将用复合域方法表示的有限域元素用复合域方法求其逆元;3)将所求出的逆元从复合域表示转换为有限域GF(28)中的标准表示;4)将步骤3)的结果与一个常量进行异或运算。本发明的有益效果是,实现本发明的方法所需要的电路面积更小,在SMIC0.18um工艺下,用查找表方法实现SM4算法的S盒需要655个与非门,用文献1中的方法实现SM4算法的S盒需要402个与非门,用本发明的方法实现SM4算法的S盒需要278个与非门。根据现有文献记载,本发明是目前所需电路面积最小的实现方法。
Description
技术领域
本发明涉及加密技术。
技术背景
SM4算法是国家商用密码管理办公室于2006年公布的分组密码算法,是国内官方公布的第一个商用密码算法。
S盒是SM4算法中唯一的非线性运算部件,由于它作用于每一轮的加解密运算,也作用于密钥扩展,因此,S盒的硬件实现对整个SM4算法的硬件实现性能、电路面积、功耗等有一定的影响。
智能卡和RFID标签是资源十分有限的系统。因此,在智能卡和RFID标签上实现SM4算法时,应尽量减少的电路面积。因为,S盒的电路面积对整个SM4算法的电路面积影响比较大,所以,应该尽量较小S盒的电路面积。
到目前为止,只在参考文献1中,白雪飞等提出了一种适合于SM4算法S盒的硬件实现方法,但是该实现方法所选择的参数不是很优,因此需要的电路面积还是比较大。
参考文献1:徐艳华,白雪飞,郭立。适合SMS4算法硬件实现的S盒构造新方法,中国科学技术大学学报,第39卷第11期,2009年11月。
发明内容
本发明解决所述技术问题采用的技术方案是,SM4分组密码算法S盒的紧凑实现方法,其特征在于,包括下述步骤:
1)将有限域GF(28)中的元素从标准表示转换为用复合域方法表示;
2)将用复合域方法表示的有限域元素用复合域方法求其逆元;
3)将所求出的逆元从复合域表示转换为有限域GF(28)中的标准表示;
4)将步骤3)的结果与一个常量进行异或运算。
进一步的,所述步骤1)包括以下子步骤:
1.1)将有限域GF(28)中用标准表示法表示的元素A乘以矩阵M1,其中A是GF(2)上长度为8的向量,M1是GF(2)上8行8列的矩阵;
1.2)将A乘以M1的积再与常量C1进行异或运算,其中C1是长度为8的GF(2)上的向量。
所述步骤2)包括以下子步骤:
2.1)利用布尔函数的性质优化运算(a*b)⊕(a*b)2*N,其中a表示求逆运算的8比特输入的高4比特,b表示求逆运算的8比特输入的低4比特,N是一个4比特的常数向量,⊕表示异或运算,*表示GF(16)的乘法运算,记c=(a*b)⊕(a*b)2*N;
2.2)在GF(16)中计算c的逆元,记该逆元为d;
2.3)在GF(16)中计算b与d的乘积,将此乘积记为p;
2.4)在GF(16)中计算a与d的乘积,将此乘积记为q;
2.5)将p作为高4比特,将q作为低4比特,组合成一个8比特的向量Q,作为求逆运算的结果。
所述步骤3)为:
将求逆输出Q乘以一个GF(2)上的8行8列的矩阵M2。
所述步骤4)为:将步骤3)运算结果与一个GF(2)上的长度为8的向量C2进行异或运算。
本发明的有益效果是,实现本发明的方法所需要的电路面积更小,在SMIC0.18um工艺下,用查找表方法实现SM4算法的S盒需要655个与非门,用文献1中的方法实现SM4算法的S盒需要402个与非门,用本发明的方法实现SM4算法的S盒需要278个与非门。根据现有文献记载,本发明是目前所需电路面积最小的实现方法。
具体实施方式
S盒是SMS4算法中唯一的非线性运算,它一般的实现方法是用查找表的形式,S盒的代换规则如下:以输入的前半字节为行号,后半字节为列号,行列交叉点处的数据即为S盒的输出。假设输入为‘0x01’,则行号为0,列号为1,经过非线性变换S盒后的值为S盒第0行第1列的交叉点的值,即Sbox(0x01)=0x90,如表1所示,表中数据均采用十六进制表示。
表1
采用查找表方法实现SM4算法的S盒在SMIC0.18um工艺库下需要665个逻辑门。本发明的实现方法不同于一般的实现方法,而是采用了有限域中的复合域计算方法,该实现方法在SMIC0.18um工艺库下只需要278个逻辑门,大约是采用查找表实现方法所需逻辑门的42%,大大减小了电路的面积。
具体的说,本发明提供SM4分组密码算法S盒的紧凑实现方法,包括下述步骤:
1、将有限域GF(28)中的元素从标准表示转换为用复合域方法表示;
2、将用复合域方法表示的有限域元素用复合域方法求其逆元;
3、将所求出的逆元从复合域表示转换为有限域GF(28)中的标准表示;
4、将步骤③的结果与一个常量进行异或运算。
所述步骤1进一步包括以下子步骤:
1.1将有限域GF(28)中用标准表示法表示的元素A乘以矩阵M1,其中A是GF(2)上长度为8的向量,M1是GF(2)上8行8列的矩阵,矩阵M1具体表示为
A乘以M1的具体运算为
A*M1=(0,a6,0,0,0,0,0,0)⊕(a7,0,a5,0,a3,a2,0,a0)⊕(a7,0,a5,a4,0,0,a1,a0)⊕(0,0,a5,0,a3,a2,a1,a0)⊕(a7,0,0,0,0,0,0,0)⊕(a7,a6,0,a4,a3,0,0,0)⊕(a7,a6,a5,a4,0,0,a1,0)⊕(0,0,0,0,a3,a2,0,a0),
其中A=(a7,a6,a5,a4,a3,a2,a1,a0),⊕表示异或运算。
1.2将A乘以M1的积再与常量C1进行异或运算,其中C1是长度为8的GF(2)上的向量,并且C1=(0,0,1,0,1,0,0,0)。
所述步骤2进一步包括以下子步骤:
2.1利用布尔函数的性质优化运算(a*b)⊕(a*b)2*N,其中a表示求逆运算的8比特输入的高4比特,b表示求逆运算的8比特输入的低4比特,N是一个4比特的常数向量,⊕表示异或运算,*表示GF(16)的乘法运算,记c=(a*b)⊕(a*b)2*N,c是一个长度为4的二元向量,可表示为c=(c3,c2,c1,c0),其具体的计算过程为:
其中,~表示取反运算,⊕表示异或运算,表示与运算,|表示或运算;
2.2在GF(16)中计算①中c的逆元,记逆元为d,并记c=(c3,c2,c1,c0),
d=(d3,d2,d1,d0),则d的具体计算为:
t=(t1,t0),
其中,
2.3在GF(16)中计算①中b与②中d的乘积,将此乘积记为p,其具体计算为:
2.4在GF(16)中计算①中a与②中d的乘积,将此乘积记为q,具体计算为:
2.5将步骤2.3中的p作为高4比特,将步骤2.4中q作为低4比特,组合成一个8比特的向量Q,作为求逆运算的结果,求逆运算的具体结果为Q=(p3,p2,p1,p0,q3,q2,q1,q0)。
所述步骤3为:将步骤2.5的求逆输出Q乘以一个GF(2)上的8行8列的矩阵M2,其中矩阵M2为:
Q乘以M2的具体计算为:
Q*M1=(p3,0,p1,0,q3,0,0,0)⊕(p3,0,0,0,q3,0,q1,0)⊕(p3,p2,p1,p0,q3,0,0,0)⊕(0,0,p1,0,q3,q2,0,0)⊕(0,0,0,p0,q3,0,0,0)⊕(0,0,0,0,q3,q2,q1,q0)⊕(p3,0,p1,p0,q3,q2,0,0)⊕(0,0,0,0,0,0,q1,0),
其中Q=(p3,p2,p1,p0,q3,q2,q1,q0),⊕表示异或运算。
所述步骤4为:将步骤3的运算结果与一个GF(2)上的长度为8的向量C2进行异或运算,其中向量C2=(1,1,0,1,0,0,1,1)。
本发明属于对现有的加密算法的改进,其效果主要在于使实现电路紧凑化。说明书已经详细说明了本发明的原理和必要技术内容,普通技术人员能够依据说明书实施本发明,故不再赘述更具体的细节。
Claims (5)
1.SM4分组密码算法S盒的紧凑实现方法,其特征在于,包括下述步骤:
1)将有限域GF(28)中的元素从标准表示转换为用复合域方法表示;
2)将用复合域方法表示的有限域元素用复合域方法求其逆元;
3)将所求出的逆元从复合域表示转换为有限域GF(28)中的标准表示;
4)将步骤3)的结果与一个常量进行异或运算。
2.根据权利要求1所述的SM4算法S盒的紧凑实现方法,其特征在于,所述步骤1)包括以下子步骤:
1.1)将有限域GF(28)中用标准表示法表示的元素A乘以矩阵M1,其中A是GF(2)上长度为8的向量,M1是GF(2)上8行8列的矩阵;
1.2)将A乘以M1的积再与常量C1进行异或运算,其中C1是长度为8的GF(2)上的向量。
3.如权利要求1所述的SM4分组密码算法S盒的紧凑实现方法,其特征在于:
所述步骤2)包括以下子步骤:
2.1)利用布尔函数的性质优化运算(a*b)⊕(a*b)2*N,其中a表示求逆运算的8比特输入的高4比特,b表示求逆运算的8比特输入的低4比特,N是一个4比特的常数向量,⊕表示异或运算,*表示GF(16)的乘法运算,记c=(a*b)⊕(a*b)2*N;
2.2)在GF(16)中计算c的逆元,记该逆元为d;
2.3)在GF(16)中计算b与d的乘积,将此乘积记为p;
2.4)在GF(16)中计算a与d的乘积,将此乘积记为q;
2.5)将p作为高4比特,将q作为低4比特,组合成一个8比特的向量Q,作为求逆运算的结果。
4.如权利要求3所述的SM4分组密码算法S盒的紧凑实现方法,其特征在于:
所述步骤3)为:
将求逆输出Q乘以一个GF(2)上的8行8列的矩阵M2。
5.如权利要求4所述的SM4分组密码算法S盒的紧凑实现方法,其特征在于:
所述步骤4)为:将步骤3)运算结果与一个GF(2)上的长度为8的向量C2进行异或运算。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410290907.6A CN104065473A (zh) | 2014-06-25 | 2014-06-25 | Sm4分组密码算法s盒的紧凑实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410290907.6A CN104065473A (zh) | 2014-06-25 | 2014-06-25 | Sm4分组密码算法s盒的紧凑实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104065473A true CN104065473A (zh) | 2014-09-24 |
Family
ID=51553018
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410290907.6A Pending CN104065473A (zh) | 2014-06-25 | 2014-06-25 | Sm4分组密码算法s盒的紧凑实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104065473A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105553646A (zh) * | 2015-12-31 | 2016-05-04 | 清华大学无锡应用技术研究院 | 面向分组密码算法并行计算的可重构s盒电路结构 |
CN105790923A (zh) * | 2016-04-26 | 2016-07-20 | 深圳市证通电子股份有限公司 | 密码算法抗功耗分析的实现方法及装置 |
CN106330429A (zh) * | 2016-08-24 | 2017-01-11 | 中国信息安全测评中心 | Sm4算法的s盒的生成方法及装置 |
CN106936569A (zh) * | 2017-05-18 | 2017-07-07 | 北京万协通信息技术有限公司 | 一种抗功耗攻击的sm4算法掩码s盒的实现方法 |
CN109450632A (zh) * | 2019-01-11 | 2019-03-08 | 西安电子科技大学 | 基于白盒分组密码clefia分析的密钥恢复方法 |
CN110197076A (zh) * | 2019-05-22 | 2019-09-03 | 北京航空航天大学 | 一种sm4加密算法的软件优化实现方法 |
CN111162898A (zh) * | 2019-12-27 | 2020-05-15 | 北京航空航天大学 | 一种基于Android端的SM4快速软件实现方法及装置 |
CN113255923A (zh) * | 2021-05-31 | 2021-08-13 | 湖北大学 | Sm4算法的量子实现电路 |
CN113940028A (zh) * | 2019-03-29 | 2022-01-14 | 爱迪德技术有限公司 | 实现白盒密码的方法和装置 |
CN114710285A (zh) * | 2022-05-19 | 2022-07-05 | 北京大学 | 一种面向异构并行架构的高性能sm4比特切片优化方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101938349A (zh) * | 2010-10-01 | 2011-01-05 | 北京航空航天大学 | 一种适用于硬件实现的s盒及其电路实现方法 |
CN101969374A (zh) * | 2010-10-27 | 2011-02-09 | 北京航空航天大学 | 分组密码算法中混淆层的实现方法 |
CN102006161A (zh) * | 2010-12-02 | 2011-04-06 | 北京航空航天大学 | 一种对称密钥加密的非线性变换方法及其实现装置 |
-
2014
- 2014-06-25 CN CN201410290907.6A patent/CN104065473A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101938349A (zh) * | 2010-10-01 | 2011-01-05 | 北京航空航天大学 | 一种适用于硬件实现的s盒及其电路实现方法 |
CN101969374A (zh) * | 2010-10-27 | 2011-02-09 | 北京航空航天大学 | 分组密码算法中混淆层的实现方法 |
CN102006161A (zh) * | 2010-12-02 | 2011-04-06 | 北京航空航天大学 | 一种对称密钥加密的非线性变换方法及其实现装置 |
Non-Patent Citations (1)
Title |
---|
徐艳华 等: "适合SMS4算法硬件实现的S盒构造新方法", 《中国科学技术大学学报》 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105553646A (zh) * | 2015-12-31 | 2016-05-04 | 清华大学无锡应用技术研究院 | 面向分组密码算法并行计算的可重构s盒电路结构 |
CN105553646B (zh) * | 2015-12-31 | 2018-09-18 | 清华大学无锡应用技术研究院 | 面向分组密码算法并行计算的可重构s盒电路结构 |
CN105790923A (zh) * | 2016-04-26 | 2016-07-20 | 深圳市证通电子股份有限公司 | 密码算法抗功耗分析的实现方法及装置 |
CN106330429B (zh) * | 2016-08-24 | 2019-08-06 | 中国信息安全测评中心 | Sm4算法的s盒的生成方法及装置 |
CN106330429A (zh) * | 2016-08-24 | 2017-01-11 | 中国信息安全测评中心 | Sm4算法的s盒的生成方法及装置 |
CN106936569A (zh) * | 2017-05-18 | 2017-07-07 | 北京万协通信息技术有限公司 | 一种抗功耗攻击的sm4算法掩码s盒的实现方法 |
CN109450632A (zh) * | 2019-01-11 | 2019-03-08 | 西安电子科技大学 | 基于白盒分组密码clefia分析的密钥恢复方法 |
CN113940028A (zh) * | 2019-03-29 | 2022-01-14 | 爱迪德技术有限公司 | 实现白盒密码的方法和装置 |
CN113940028B (zh) * | 2019-03-29 | 2024-03-15 | 爱迪德技术有限公司 | 实现白盒密码的方法和装置 |
CN110197076A (zh) * | 2019-05-22 | 2019-09-03 | 北京航空航天大学 | 一种sm4加密算法的软件优化实现方法 |
CN111162898A (zh) * | 2019-12-27 | 2020-05-15 | 北京航空航天大学 | 一种基于Android端的SM4快速软件实现方法及装置 |
CN113255923A (zh) * | 2021-05-31 | 2021-08-13 | 湖北大学 | Sm4算法的量子实现电路 |
CN114710285A (zh) * | 2022-05-19 | 2022-07-05 | 北京大学 | 一种面向异构并行架构的高性能sm4比特切片优化方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104065473A (zh) | Sm4分组密码算法s盒的紧凑实现方法 | |
Zhang et al. | Digital image encryption based on advanced encryption standard (AES) | |
Singh et al. | Image encryption and decryption using blowfish algorithm in MATLAB | |
CN105049194B (zh) | 一种流水线结构的sm4算法实现系统 | |
Xu et al. | An improved chaotic cryptosystem based on circular bit shift and XOR operations | |
CN104333446B (zh) | 一种新型超轻量级qtl分组密码实现方法 | |
Liu et al. | An AES S-box to increase complexity and cryptographic analysis | |
CN104639314A (zh) | 基于aes加密/解密算法的装置和流水控制方法 | |
CN101938349A (zh) | 一种适用于硬件实现的s盒及其电路实现方法 | |
Zhang et al. | A new chaotic algorithm for image encryption | |
CN106357380B (zh) | Sm4算法的掩码方法及装置 | |
CN104333447A (zh) | 一种可抵御能量分析攻击的sm4方法 | |
CN108111295A (zh) | 一种基于类模运算的同态加密算法 | |
CN103916248A (zh) | 一种全同态加密公钥空间压缩方法 | |
CN101848081A (zh) | 一种s盒构造方法及s盒 | |
CN107070636A (zh) | 一种标准密文输出格式的商密sm4算法的白盒软件实现方法 | |
CN103905182A (zh) | 基于动态改变中间数据存储位置的抗攻击方法及电路实现 | |
CN103916236A (zh) | 面向aes算法的抗功耗攻击方法及电路实现 | |
Fadhil et al. | A new lightweight AES using a combination of chaotic systems | |
CN101826959B (zh) | 一种面向字节的密钥流生成方法及加密方法 | |
JunLi et al. | Email encryption system based on hybrid AES and ECC | |
CN104219045B (zh) | Rc4 流密码生成器 | |
CN107070629A (zh) | 一种针对sm4密码算法轮输出的模板攻击方法 | |
CN103780794A (zh) | 一种基于混沌系统的图像加密改进方法 | |
CN101860796B (zh) | 一种抗同谋攻击的网络组播信息加密方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140924 |
|
WD01 | Invention patent application deemed withdrawn after publication |