CN106330429A - Sm4算法的s盒的生成方法及装置 - Google Patents
Sm4算法的s盒的生成方法及装置 Download PDFInfo
- Publication number
- CN106330429A CN106330429A CN201610721526.8A CN201610721526A CN106330429A CN 106330429 A CN106330429 A CN 106330429A CN 201610721526 A CN201610721526 A CN 201610721526A CN 106330429 A CN106330429 A CN 106330429A
- Authority
- CN
- China
- Prior art keywords
- finite field
- box
- matrix
- compositum
- once linear
- 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.)
- Granted
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
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)
- Complex Calculations (AREA)
Abstract
本发明公开了一种SM4算法的S盒的生成方法、装置及电路。所述方法包括:将所述S盒在有限域GF(28)中的元素经过同构映射矩阵映射到复合域GF(((22)2)2)中,得到所述S盒在所述复合域GF(((22)2)2)中的元素变量矩阵;依据所述元素变量矩阵,获得所述S盒在复合域GF(((22)2)2)中的标准表达式;从所述标准表达式中获取使所述S盒对应的硬件面积小于第一阈值的目标标准表达式。由于本申请将S盒的运算由有限域映射到复合域中实现,并进一步获得了所述S盒在复合域GF(((22)2)2)中使硬件面积小于第一阈值的标准表达式,因此,本发明的S盒实现方法大大降低了S盒的硬件面积。
Description
技术领域
本发明涉及密码算法硬件实现技术领域,特别是涉及一种SM4算法的S盒的生成方法及装置。
背景技术
SM4算法是国家商用密码管理办公室公布的分组密码算法,是目前应用的最广泛的中国自主设计的分组密码算法。
该算法目前在智能卡和USBKey中逐步得到应用。由于智能卡和USBKey是资源有限、成本敏感的芯片,因此研究该算法在上述芯片中所占用的硬件面积有非常重要的意义。
在SM4分组密码算法中,S盒的硬件面积对整个SM4算法的硬件面积影响比较大,因此要降低该算法的硬件面积,首先要降低S盒的硬件面积。
因此,亟需一种能够减小SM4算法中S盒的硬件面积的方案。
发明内容
为解决上述技术问题,本发明实施例提供了一种SM4算法的S盒的生成方法及装置,减小SM4算法中S盒的硬件面积,技术方案如下:
一种SM4算法的S盒的生成方法,包括:
将所述S盒在有限域GF(28)中的元素经过同构映射矩阵映射到复合域GF(((22)2)2)中,得到所述S盒在所述复合域GF(((22)2)2)中的元素变量矩阵;
依据所述元素变量矩阵,获得所述S盒在复合域GF(((22)2)2)中的标准表达式;
从所述标准表达式中获取使所述S盒对应的硬件面积小于第一阈值的目标标准表达式。
所述标准表达式包括第一仿射变换矩阵和第二仿射变换矩阵,所述第一仿射变换矩阵和第二仿射变换矩阵为对所述同构映射矩阵进行仿射变换操作后的矩阵。
优选地,从所述标准表达式中,获取使所述S盒对应的硬件面积小于第一阈值的目标标准表达式,包括:
从所述标准表达式中,获取满足使所述第一仿射变换矩阵和所述第二仿射变换矩阵的汉明重量和小于第二阈值条件的目标标准表达式。
优选地,在将所述S盒在有限域GF(28)中的元素经过同构映射矩阵映射到复合域GF(((22)2)2)中之前,还包括:
通过将所述S盒在有限域GF(28)中的元素表达式映射到复合域GF(((22)2)2)中,获得所述S盒在所述复合域GF(((22)2)2)中的元素表达式;
将所述复合域GF(((22)2)2)中的元素表达式中的与元素矩阵相乘的映射矩阵作为所述同构映射矩阵。
优选地,获得所述S盒在所述复合域GF(((22)2)2)中的元素表达式,包括:
使用第一正规基将有限域GF(28)中的元素表示为有限域GF(24)中的一次线性多项式,所述第一正规基中的元素为常量属于有限域GF(24)的二次不可约多项式的根,所述有限域GF(24)中的一次线性多项式的系数属于有限域GF(24);
使用第二正规基将有限域GF(24)中的元素表示为有限域GF(22)中的一次线性多项式,所述第二正规基的元素为常量属于有限域GF(22)二次不可约多项式的根,所述有限域GF(22)中的一次线性多项式中的系数属于有限域GF(22);
使用第三正规基将有限域GF(22)中的元素表示为有限域GF(2)中的一次线性多项式,所述第三正规基的元素为常量属于有限域GF(2)二次不可约多项式的根,所述有限域GF(2)中的一次线性多项式中的系数属于有限域GF(2);
将有限域GF(24)中的一次线性多项式中系数用有限域GF(22)中的元素在有限域GF(2)中的一次线性多项式替换;
将有限域GF(28)中的一次线性多项式中系数用有限域GF(24)中的元素在有限域GF(22)中的一次线性多项式替换,以获得所述S盒在所述复合域GF(((22)2)2)中的元素表达式。
优选地,与所述第一正规基对应的二次不可约多项式的常量为8种,与第二正规基对应的二次不可约多项数的常量为2种,与第三正规基对应的二次不可约多项式的常量为1种;
相应地,所述同构映射矩阵为128种。
本申请还提供了一种SM4算法的S盒的生成装置,包括:
第一映射单元,用于将所述S盒在有限域GF(28)中的元素经过同构映射矩阵映射到复合域GF(((22)2)2)中,得到所述S盒在所述复合域GF(((22)2)2)中的元素变量矩阵;
获得单元,用于依据所述元素变量矩阵,获得所述S盒在复合域GF(((22)2)2)中的标准表达式;
获取单元,用于从所述标准表达式中获取使所述S盒对应的硬件面积小于第一阈值的目标标准表达式。
所述标准表达式包括第一仿射变换矩阵和第二仿射变换矩阵,所述第一仿射变换矩阵和第二仿射变换矩阵为对所述同构映射矩阵进行仿射变换操作后的矩阵;
优选地,所述获取单元,包括:
获取子单元,用于从所述标准表达式中,获取满足使所述第一仿射变换矩阵和所述第二仿射变换矩阵的汉明重量和小于第二阈值条件的目标标准表达式。
优选地,还包括:
第二映射单元,用于在将所述S盒在有限域GF(28)中的元素经过同构映射矩阵映射到复合域GF(((22)2)2)中之前,通过将所述S盒在有限域GF(28)中的元素表达式映射到复合域GF(((22)2)2)中,获得所述S盒在所述复合域GF(((22)2)2)中的元素表达式;
优选地,识别单元,用于将所述复合域GF(((22)2)2)中的元素表达式中的与元素矩阵相乘的映射矩阵作为所述同构映射矩阵。
优选地,所述第二映射单元,包括:
第一确定单元,用于使用第一正规基将有限域GF(28)中的元素表示为有限域GF(24)中的一次线性多项式,所述第一正规基中的元素为常量属于有限域GF(24)的二次不可约多项式的根,所述有限域GF(24)中的一次线性多项式的系数属于有限域GF(24);
第二确定单元,用于使用第二正规基将有限域GF(24)中的元素表示为有限域GF(22)中的一次线性多项式,所述第二正规基的元素为常量属于有限域GF(22)二次不可约多项式的根,所述有限域GF(22)中的一次线性多项式中的系数属于有限域GF(22);
第三确定单元,用于使用第三正规基将有限域GF(22)中的元素表示为有限域GF(2)中的一次线性多项式,所述第三正规基的元素为常量属于有限域GF(2)二次不可约多项式的根,所述有限域GF(2)中的一次线性多项式中的系数属于有限域GF(2);
第一替换单元,用于将有限域GF(24)中的一次线性多项式中系数用有限域GF(22)中的元素在有限域GF(2)中的一次线性多项式替换;
第二替换单元,用于将有限域GF(28)中的一次线性多项式中系数用有限域GF(24)中的元素在有限域GF(22)中的一次线性多项式替换,以获得所述S盒在所述复合域GF(((22)2)2)中的元素表达式。
一种实现SM4的S盒的电路,用于实现生成的SM4的S盒,所述电路包括:
第一电路、第二电路、第三电路;
所述第一电路用于计算θ,所述θ用于对有限域GF(24)中的元素取逆,所述有限域GF(24)中元素为用正规基对输入的有限域GF(28)中的元素转换得到;
所述第二电路用于对所述θ取逆运算;
所述第三电路用于依据对所述θ取逆运算结果得到对所述有限域GF(28)中元素取逆的结果,并依据该结果得到所述S盒的电路的输出。
本发明实施例所提供的技术方案,通过将S盒在有限域GF(28)中的元素经过同构映射矩阵映射到复合域GF(((22)2)2)中,获得了所述S盒在复合域GF(((22)2)2)中的标准表达式,并从该表达式中获取了使S盒对应的硬件面积小于第一阈值的目标标准表达式。由于本申请将S盒的运算由有限域映射到复合域中实现,并进一步获得了所述S盒在复合域GF(((22)2)2)中使硬件面积小于第一阈值的标准表达式,因此,本发明的S盒实现方法大大降低了S盒的硬件面积。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例所提供的一种SM4算法的S盒的生成方法一种流程示意图;
图2为本发明实施例所提供的一种SM4算法的S盒的生成方法的另一种流程示意图;
图3为本发明实施例所提供的获得S盒在复合域GF(((22)2)2)中的元素表达式的一种流程示意图;
图4为本发明实施例所提供的一种SM4算法的S盒的生成装置的一种结构示意图;
图5为本发明实施例所提供的一种SM4算法的S盒的生成装置的另一种结构示意图;
图6为本发明实施例所提供的获得S盒在复合域GF(((22)2)2)中的元素表达式的一种结构示意图;
图7为本发明实施例所提供的实现S盒的电路的一种结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种SM4算法的S盒的生成方法,通过该S盒的生成方法能够降低S盒的硬件面积。
请参阅图1,图1为本申请实施例提供的一种SM4算法的S盒的生成方法的一种实现流程图,该方法包括:
步骤S11、将所述S盒在有限域GF(28)中的元素经过同构映射矩阵映射到复合域GF(((22)2)2)中,得到所述S盒在所述复合域GF(((22)2)2)中的元素变量矩阵。
S盒在有限域GF(28)中的标准表达式为S(x)=A2*I(A1x+C1)+C2;
其中:A1,A2是仿射变换矩阵,C1,C2为列向量,具体值如下:
x代表8比特的输入,可以逐比特表示为列向量:
x=(x7,x6,x5,x4,x3,x2,x1,x0)T;
I(x)表示在限域GF(28)上的求逆运算。
由上可见,S盒在有限域GF(28)中的标准表达式包括两次仿射变换和一次非线性的有限域求逆构成。由于在有限域GF(28)上求逆的运算非常复杂,因此,本实施例的方案将在有限域GF(28)中的求逆运算映射到复合域GF(((22)2)2)中实现。
而在将有限域GF(28)中的求逆运算映射到复合域GF(((22)2)2)中实现之前,需要先将有限域GF(28)中的元素映射到复合域GF(((22)2)2)中,得到S盒在复合域GF(((22)2)2)中的元素变量矩阵。
步骤S12、依据所述元素变量矩阵,获得所述S盒在复合域GF(((22)2)2)中的标准表达式。
S盒在复合域GF(((22)2)2)中的标准表达式为S(x)=A2*T-1(T*(A1x+C1))-1+C2;
其中,T为同构映射矩阵,T-1为同构映射矩阵的逆矩阵,T*(A1x+C1)表示将S盒在有限域GF(28)中的元素经过同构映射矩阵映射到复合域GF(((22)2)2)中得到的S盒在复合域GF(((22)2)2)中的元素变量矩阵,(T*(A1x+C1))-1表示将有限域GF(28)上求逆的运算映射到复合域GF(((22)2)2)中实现。
步骤S13、从所述标准表达式中获取使所述S盒对应的硬件面积小于第一阈值的目标标准表达式。
为了进一步减小S盒的硬件面积,利用矩阵运算的数学性质,把上述S盒在复合域GF(((22)2)2)中的标准表达式中的仿射变换矩阵和同构映射矩阵进行合并,合并后的S盒在复合域GF(((22)2)2)中的标准表达式为:
S(x)=TA2*((TA1x+TC1))-1+C2;
其中,TA1、TA2分别为合并后的第一仿射变换矩阵和第二仿射变换矩阵,TC1是合并后的列向量,C2为原始列向量,在公式变换中不受影响。
相应的,从所述标准表达式中获取使所述S盒对应的硬件面积小于第一阈值的目标标准表达式,包括:
从所述标准表达式中,获取满足使所述第一仿射变换矩阵和所述第二仿射变换矩阵的汉明重量和小于第二阈值条件的目标标准表达式。
其中,汉明重量表示第一映射矩阵或第二映射矩阵中元素值为1的元素的个数。
由于第一映射矩阵和第二映射矩阵的汉明重量和直接决定S盒的硬件中的门的数量(即仿射变换运算的面积),汉明重量和越小,所对应的S盒的硬件面积越小,因此,本实施例的方案获取的是使第一仿射变换矩阵和第二仿射变换矩阵的汉明重量和小于第二阈值的目标标准表达式。
本实施例所提供的方案,通过将S盒在有限域GF(28)中的元素经过同构映射矩阵映射到复合域GF(((22)2)2)中,获得了所述S盒在复合域GF(((22)2)2)中的标准表达式,并从该表达式中获取了使S盒对应的硬件面积小于第一阈值的目标标准表达式。由于本申请将S盒的运算由有限域映射到复合域中实现,并进一步获得了所述S盒在复合域GF(((22)2)2)中使硬件面积小于第一阈值的标准表达式,因此,本发明的S盒实现方法大大降低了S盒的硬件面积。
参阅图2,图2为本申请实施例提供的一种SM4算法的S盒的生成方法的另一种实现流程图,该方法包括:
步骤S21、通过将所述S盒在有限域GF(28)中的元素表达式映射到复合域GF(((22)2)2)中,获得所述S盒在所述复合域GF(((22)2)2)中的元素表达式。
S盒在有限域GF(28)中的元素表达式为:
g=(g7,g6,g5,g4,g3,g2,g1,g0)=g7A7+g6A6+g5A5+g4A4+g3A3+g2A2+g1A1+g0;
其中,g7,g6,g5,g4,g3,g2,g1,g0为S盒在有限域GF(28)中的元素;
A为不可约多项式f(x)=x8+x7+x6+x5+x4+x3+x2+1的根。
本实施例为了使S盒的硬件面积最小,相较于多项式基,使用正规基将S盒在有限域GF(28)中的元素表达式映射到复合域GF(((22)2)2)中,并获得所述S盒在所述复合域GF(((22)2)2)中的元素表达式。
具体地,如图3所示,获得所述S盒在所述复合域GF(((22)2)2)中的元素表达式,包括:
步骤S31、使用第一正规基将有限域GF(28)中的元素表示为有限域GF(24)中的一次线性多项式,所述第一正规基中的元素为常量属于有限域GF(24)的二次不可约多项式的根,所述有限域GF(24)中的一次线性多项式的系数属于有限域GF(24)。
将有限域GF(28)中的元素表示为有限域GF(24)中的一次线性多项式为:
g=a1Y16+a0Y,
其中,元素g∈GF(28),a1,a0∈GF(24),第一正规基[Y16,Y]为有限域GF(24)下的一组正规基,Y16,Y为不可约多项式r(y)=y2+y+v,v∈GF(24)的两个根,v的取值为8种。
步骤S32、使用第二正规基将有限域GF(24)中的元素表示为有限域GF(22)中的一次线性多项式,所述第二正规基的元素为常量属于有限域GF(22)二次不可约多项式的根,所述有限域GF(22)中的一次线性多项式中的系数属于有限域GF(22)。
将有限域GF(24)中的元素表示为有限域GF(22)中的一次线性多项式为:
a=b1Z4+b0Z,
其中,元素a∈GF(24),b1,b0∈GF(22),第二正规基[Z4,Z]为有限域GF(22)下的一组正规基,Z4,Z为不可约多项式s(z)=z2+z+ρ,ρ∈GF(22)的两个根,ρ的取值为2种。
步骤S33、使用第三正规基将有限域GF(22)中的元素表示为有限域GF(2)中的一次线性多项式,所述第三正规基的元素为常量属于有限域GF(2)二次不可约多项式的根,所述有限域GF(2)中的一次线性多项式中的系数属于有限域GF(2);
将有限域GF(22)中的元素表示为有限域GF(2)中的一次线性多项式为:
b=c1W2+c0W,
其中,元素b∈GF(22),c1,c0∈GF(2),第三正规基[W2,W]为有限域GF(2)下的一组正规基,W2,W为不可约多项式t(w)=w2+w+1的两个根。
步骤S34、将有限域GF(24)中的一次线性多项式中的系数用有限域GF(22)中的元素在有限域GF(2)中的一次线性多项式替换;
步骤S35、将有限域GF(28)中的一次线性多项式中系数用有限域GF(24)中的元素在有限域GF(22)中的一次线性多项式替换,以获得所述S盒在所述复合域GF(((22)2)2)中的元素表达式。
经过步骤S34、S35中的系数替换后,获得的S盒在复合域GF(((22)2)2)中的元素表达式为:
[Y16Z4W2,Y16Z4W,Y16ZW2,Y16ZW,YZ4W2,YZ4W,YZW2,YZW]*[c7,c6,c5,c4,c3,c2,c1,c0]T
其中,c7,c6,c5,c4,c3,c2,c1,c0为S盒在复合域GF(((22)2)2)中的元素。
步骤S22、将所述复合域GF(((22)2)2)中的元素表达式中的与元素矩阵相乘的映射矩阵作为所述同构映射矩阵;
基于以上获得的S盒在复合域GF(((22)2)2)中的元素表达式,可知,与元素矩阵相乘的映射矩阵为[Y16Z4W2,Y16Z4W,Y16ZW2,Y16ZW,YZ4W2,YZ4W,YZW2,YZW],因此,同构映射矩阵为[Y16Z4W2,Y16Z4W,Y16ZW2,Y16ZW,YZ4W2,YZ4W,YZW2,YZW]。
在获得S盒在所述复合域GF(((22)2)2)中的元素表达式过程中,v有八种可选值使得多项式r(y)=y2+y+v为有限域GF(24)上的不可约多项式,ρ有两种可选值使得多项式s(z)=z2+z+ρ为有限域GF(22)上的不可约多项式,而t(w)=w2+w+1只有一种选择为有限域GF(2)中的不可约多项式。由于每个多项式r(y)、s(z)或t(w)都有两个不同的根,因此在正规基下,得到的同构映射矩阵共有(8*2)*(2*2)*(1*2)=128种。
步骤S23、将所述S盒在有限域GF(28)中的元素经过同构映射矩阵映射到复合域GF(((22)2)2)中,得到所述S盒在所述复合域GF(((22)2)2)中的元素变量矩阵;
步骤S24、依据所述元素变量矩阵,获得所述S盒在复合域GF(((22)2)2)中的标准表达式;
S盒在复合域中的标准表达式为S(x)=TA2*((TA1x+TC1))-1+C2;
其中,TA1、TA2分别为合并后的第一仿射变换矩阵和第二仿射变换矩阵,TC1是合并后的列向量,C2为原始列向量。
步骤S25、从所述标准表达式中,获取满足使第一仿射变换矩阵和第二仿射变换矩阵的汉明重量和小于第二阈值条件的目标标准表达式。
由于第一仿射变换矩阵TA1和第二仿射变换矩阵TA2中的矩阵A1、A2是确定的,因此,由同构映射矩阵决定第一仿射变换矩阵与第二仿射变换矩阵汉明重量和。而通过获得同构映射矩阵的过程可以发现,同构映射矩阵的取值与参数Y16、Y、Z4、Z、W2、W、v、ρ有关,经过计算,确定出使第一仿射变换矩阵和第二仿射变换矩阵汉明重量和最小的同构映射矩阵中共8种,其中,该8种同构映射矩阵中的所涉及到的上述8个参数取值(S盒中的数据均采用16进制表示)如下:
编号 | W | W2 | ρ | Z | Z4 | v | ZY | Y16 |
1 | 5C | 5D | 5D | 50 | 51 | 2B | BE | BF |
2 | 5C | 5D | 5D | 50 | 51 | 2B | BF | BE |
3 | 5C | 5D | 5D | 51 | 50 | 2B | BE | BF |
4 | 5C | 5D | 5D | 51 | 50 | 2B | BF | BE |
5 | 5D | 5C | 5D | 50 | 51 | 2B | BE | BF |
6 | 5D | 5C | 5D | 50 | 51 | 2B | BF | BE |
7 | 5D | 5C | 5D | 51 | 50 | 2B | BE | BF |
8 | 5D | 5C | 5D | 51 | 50 | 2B | BF | BE |
依据上述表格获得的8种同构映射矩阵分别得到8种第一仿射变换矩阵和第二仿射变换矩阵,然后依据第一仿射变换矩阵和第二仿射变换矩阵得到S盒在复合域GF(((22)2)2)中的8中标准表达式,并将该8种标准表达式作为目标表达式。
选择上述8种参数中的其中一种举例如下:
[Y16,Y]=[0xBF,0xBE],[Z4,Z]=[0x51,0x50],
[W2,W]=[0x5D,0x5C],v=0x2Bρ=0x5D。
依据上述参数所得到的S盒表达式为:
S(x)=TA2·((TA1·x+TC1))-1+C2;
其中:
TC1=0xC2,C2=0xD3。
可选的,步骤S23-步骤S25的执行过程与上述实施例提供的步骤S11-S13的执行过程相同,有关步骤S23-步骤S25的详细过程,请参见上述对步骤S11-S13的描述,在此不做赘述。
本实施例的技术方案中,通过元素表达式获得将有限域GF(28)中元素映射到复合域GF(((22)2)2)中的同构映射矩阵,然后依据该同构映射矩阵获得S盒在复合域GF(((22)2)2)中的标准表达式,并依据使第一仿射变换矩阵和第二仿射变换矩阵的汉明重量和小于第二阈值的原则从128种标准表达式中获取了8种目标表达式,该8种目标表达式使S盒的硬件实现只需要235个门,以此大大降低了S盒的硬件面积。
下面对本申请实施例提供的SM4算法的S盒的生成装置进行描述,下文描述的SM4算法的S盒的生成装置与上文描述的SM4算法的S盒的生成方法可相互对应参照。
请参阅图4,图4为本申请实施例公开的SM4算法的S盒的生成装置的一种结构示意图,包括:
第一映射单元41,用于将所述S盒在有限域GF(28)中的元素经过同构映射矩阵映射到复合域GF(((22)2)2)中,得到所述S盒在所述复合域GF(((22)2)2)中的元素变量矩阵;
获得单元42,用于依据所述元素变量矩阵,获得所述S盒在复合域GF(((22)2)2)中的标准表达式;
获取单元43,用于从所述标准表达式中获取使所述S盒对应的硬件面积小于第一阈值的目标标准表达式。
本实施例所提供的方案,通过将S盒在有限域GF(28)中的元素经过同构映射矩阵映射到复合域GF(((22)2)2)中,获得了所述S盒在复合域GF(((22)2)2)中的标准表达式,并从该表达式中获取了使S盒对应的硬件面积小于第一阈值的目标标准表达式。由于本申请将S盒的运算由有限域映射到复合域中实现,并进一步获得了所述S盒在复合域GF(((22)2)2)中使硬件面积小于第一阈值的标准表达式,因此,本发明的S盒实现方法大大降低了S盒的硬件面积。
请参阅图5,图5为本申请实施例提供的SM4算法的S盒的生成装置的另一种结构示意图,包括:
第二映射单元51、用于通过将所述S盒在有限域GF(28)中的元素表达式映射到复合域GF(((22)2)2)中,获得所述S盒在所述复合域GF(((22)2)2)中的元素表达式。
具体地,如图6所示,所述第二映射单元,包括:
第一确定单元61、用于使用第一正规基将有限域GF(28)中的元素表示为有限域GF(24)中的一次线性多项式,所述第一正规基中的元素为常量属于有限域GF(24)的二次不可约多项式的根,所述有限域GF(24)中的一次线性多项式的系数属于有限域GF(24)。
第二确定单元62、使用第二正规基将有限域GF(24)中的元素表示为有限域GF(22)中的一次线性多项式,所述第二正规基的元素为常量属于有限域GF(22)二次不可约多项式的根,所述有限域GF(22)中的一次线性多项式中的系数属于有限域GF(22)。
第三确定单元63、用于使用第三正规基将有限域GF(22)中的元素表示为有限域GF(2)中的一次线性多项式,所述第三正规基的元素为常量属于有限域GF(2)二次不可约多项式的根,所述有限域GF(2)中的一次线性多项式中的系数属于有限域GF(2);
第一替换单元64、将有限域GF(24)中的一次线性多项式中的系数用有限域GF(22)中的元素在有限域GF(2)中的一次线性多项式替换;
第二替换单元65、将有限域GF(28)中的一次线性多项式中系数用有限域GF(24)中的元素在有限域GF(22)中的一次线性多项式替换,以获得所述S盒在所述复合域GF(((22)2)2)中的元素表达式。
识别单元52、用于将所述复合域GF(((22)2)2)中的元素表达式中的与元素矩阵相乘的映射矩阵作为所述同构映射矩阵;
第一映射单元53、用于将所述S盒在有限域GF(28)中的元素经过同构映射矩阵映射到复合域GF(((22)2)2)中,得到所述S盒在所述复合域GF(((22)2)2)中的元素变量矩阵;
获得单元54、依据所述元素变量矩阵,获得所述S盒在复合域GF(((22)2)2)中的标准表达式;
S盒在复合域中的标准表达式为S(x)=TA2*((TA1x+TC1))-1+C2;
其中,TA1、TA2分别为合并后的第一仿射变换矩阵和第二仿射变换矩阵,TC1是合并后的列向量,C2为原始列向量。
获取单元55,用于从所述标准表达式中,获取满足使第一仿射变换矩阵和第二仿射变换矩阵的汉明重量和小于第二阈值条件的目标标准表达式。
本实施例的技术方案中,通过元素表达式获得将有限域GF(28)中元素映射到复合域GF(((22)2)2)中的同构映射矩阵,然后依据该同构映射矩阵获得S盒在复合域GF(((22)2)2)中的标准表达式,并依据使第一仿射变换矩阵和第二仿射变换矩阵的汉明重量和小于第二阈值的原则从128种标准表达式中获取了8种目标表达式,该8种目标表达式使S盒的硬件实现只需要235个门,以此大大降低了S盒的硬件面积。
请参阅7,图7为本申请实施例提供的一种实现SM4算法的S盒的电路,该电路用于实现图1-图2所对应的实施例公开的生成的SM4算法的S盒,该电路包括:
第一电路701、第二电路702、第三电路703;
所述第一电路用于计算θ,所述θ用于对有限域GF(24)中的元素取逆,所述有限域GF(24)中元素为用正规基对输入的有限域GF(28)中的元素转换得到;
将有限域GF(28)中的元素表示为有限域GF(24)中的一次线性多项式为:
g=a1Y16+a0Y,
其中,元素g∈GF(28),a1,a0∈GF(24),正规基[Y16,Y]为有限域GF(24)下的一组正规基,Y16,Y为不可约多项式r(y)=y2+y+v,v∈GF(24)的两个根。
设g=a1Y16+a0Y的逆为h=(d1Y16+d0Y),根据乘法逆的定义:
(a1Y16+a0Y)(d1Y16+d0Y)mod(y2+y+v)=1
其中,ai di∈GF(24)i=0,1
上式化简后得到:
d1Y16+d0Y=(θ-1a0)Y16+(θ-1a1)Y
其中,计算θ的公式为,θ=(a0a1+(a1 2+a0 2)v),ai,di,v,θ∈GF(24)i=0,1。
输入a1按比特从高到低分别表示为a3,a2,a1,a0,输入a0按比特从高到低分别表示为b3,b2,b1,b0,输出为c3,c2,c1,c0,af4,af3,af2,af1,af0,bf4,bf3,bf2,bf1,bf0
所述第二电路702,用于对所述θ取逆运算;
设输入为c3,c2,c1,c0,输出为d3,d2,d1,d0
所述第三电路703,用于依据对所述θ取逆运算结果得到对所述有限域GF(28)中元素取逆的结果,并依据该结果得到所述S盒的电路的输出。
具体地,依据对θ取逆运算结果得到对所述有限域GF(28)中元素取逆的公式为(θ- 1a0)和(θ-1a1),S盒电路的输出为(θ-1a0)Y16+(θ-1a1)Y。
设输入为a3,a2,a1,a0,b3,b2,b1,b0,d3,d2,d1,d0
af4,af3,af2,af1,af0,bf4,bf3,bf2,bf1,bf0,输出为8比特分别为q7,q6,q5,q4,q3,q2,q1,q0:
m1=df1&af1,m2=df2&af2
m3=df4&af4,m4=df0&af0
n1=df1&bf1,n2=df2&bf2
n3=df4&bf4,n4=df0&bf0
对于装置或系统实施例而言,由于其基本相应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置或系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,在没有超过本申请的精神和范围内,可以通过其他的方式实现。当前的实施例只是一种示范性的例子,不应该作为限制,所给出的具体内容不应该限制本申请的目的。例如,所述单元或子单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或多个子单元结合一起。另外,多个单元可以或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
另外,所描述系统,装置和方法以及不同实施例的示意图,在不超出本申请的范围内,可以与其它系统,单元,技术或方法结合或集成。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
以上所述仅是本发明的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种SM4算法的S盒的生成方法,其特征在于,包括:
将所述S盒在有限域GF(28)中的元素经过同构映射矩阵映射到复合域GF(((22)2)2)中,得到所述S盒在所述复合域GF(((22)2)2)中的元素变量矩阵;
依据所述元素变量矩阵,获得所述S盒在复合域GF(((22)2)2)中的标准表达式;
从所述标准表达式中获取使所述S盒对应的硬件面积小于第一阈值的目标标准表达式。
2.根据权利要求1所述的方法,其特征在于,所述标准表达式包括第一仿射变换矩阵和第二仿射变换矩阵,所述第一仿射变换矩阵和第二仿射变换矩阵为对所述同构映射矩阵进行仿射变换操作后的矩阵;
从所述标准表达式中,获取使所述S盒对应的硬件面积小于第一阈值的目标标准表达式,包括:
从所述标准表达式中,获取满足使所述第一仿射变换矩阵和所述第二仿射变换矩阵的汉明重量和小于第二阈值条件的目标标准表达式。
3.根据权利要求1所述的方法,其特征在于,在将所述S盒在有限域GF(28)中的元素经过同构映射矩阵映射到复合域GF(((22)2)2)中之前,还包括:
通过将所述S盒在有限域GF(28)中的元素表达式映射到复合域GF(((22)2)2)中,获得所述S盒在所述复合域GF(((22)2)2)中的元素表达式;
将所述复合域GF(((22)2)2)中的元素表达式中的与元素矩阵相乘的映射矩阵作为所述同构映射矩阵。
4.根据权利要求3所述的方法,其特征在于,获得所述S盒在所述复合域GF(((22)2)2)中的元素表达式,包括:
使用第一正规基将有限域GF(28)中的元素表示为有限域GF(24)中的一次线性多项式,所述第一正规基中的元素为常量属于有限域GF(24)的二次不可约多项式的根,所述有限域GF(24)中的一次线性多项式的系数属于有限域GF(24);
使用第二正规基将有限域GF(24)中的元素表示为有限域GF(22)中的一次线性多项式,所述第二正规基的元素为常量属于有限域GF(22)二次不可约多项式的根,所述有限域GF(22)中的一次线性多项式中的系数属于有限域GF(22);
使用第三正规基将有限域GF(22)中的元素表示为有限域GF(2)中的一次线性多项式,所述第三正规基的元素为常量属于有限域GF(2)二次不可约多项式的根,所述有限域GF(2)中的一次线性多项式中的系数属于有限域GF(2);
将有限域GF(24)中的一次线性多项式中系数用有限域GF(22)中的元素在有限域GF(2)中的一次线性多项式替换;
将有限域GF(28)中的一次线性多项式中系数用有限域GF(24)中的元素在有限域GF(22)中的一次线性多项式替换,以获得所述S盒在所述复合域GF(((22)2)2)中的元素表达式。
5.根据权利要求4所述的方法,其特征在于,
与所述第一正规基对应的二次不可约多项式的常量为8种,与第二正规基对应的二次不可约多项数的常量为2种,与第三正规基对应的二次不可约多项式的常量为1种;
相应地,所述同构映射矩阵为128种。
6.一种SM4算法的S盒的生成装置,其特征在于,包括:
第一映射单元,用于将所述S盒在有限域GF(28)中的元素经过同构映射矩阵映射到复合域GF(((22)2)2)中,得到所述S盒在所述复合域GF(((22)2)2)中的元素变量矩阵;
获得单元,用于依据所述元素变量矩阵,获得所述S盒在复合域GF(((22)2)2)中的标准表达式;
获取单元,用于从所述标准表达式中获取使所述S盒对应的硬件面积小于第一阈值的目标标准表达式。
7.根据权利要求6所述的装置,其特征在于,所述标准表达式包括第一仿射变换矩阵和第二仿射变换矩阵,所述第一仿射变换矩阵和第二仿射变换矩阵为对所述同构映射矩阵进行仿射变换操作后的矩阵;
所述获取单元,包括:
获取子单元,用于从所述标准表达式中,获取满足使所述第一仿射变换矩阵和所述第二仿射变换矩阵的汉明重量和小于第二阈值条件的目标标准表达式。
8.根据权利要求6所述的装置,其特征在于,还包括:
第二映射单元,用于在将所述S盒在有限域GF(28)中的元素经过同构映射矩阵映射到复合域GF(((22)2)2)中之前,通过将所述S盒在有限域GF(28)中的元素表达式映射到复合域GF(((22)2)2)中,获得所述S盒在所述复合域GF(((22)2)2)中的元素表达式;
识别单元,用于将所述复合域GF(((22)2)2)中的元素表达式中的与元素矩阵相乘的映射矩阵作为所述同构映射矩阵。
9.根据权利要求8所述的装置,其特征在于,所述第二映射单元,包括:
第一确定单元,用于使用第一正规基将有限域GF(28)中的元素表示为有限域GF(24)中的一次线性多项式,所述第一正规基中的元素为常量属于有限域GF(24)的二次不可约多项式的根,所述有限域GF(24)中的一次线性多项式的系数属于有限域GF(24);
第二确定单元,用于使用第二正规基将有限域GF(24)中的元素表示为有限域GF(22)中的一次线性多项式,所述第二正规基的元素为常量属于有限域GF(22)二次不可约多项式的根,所述有限域GF(22)中的一次线性多项式中的系数属于有限域GF(22);
第三确定单元,用于使用第三正规基将有限域GF(22)中的元素表示为有限域GF(2)中的一次线性多项式,所述第三正规基的元素为常量属于有限域GF(2)二次不可约多项式的根,所述有限域GF(2)中的一次线性多项式中的系数属于有限域GF(2);
第一替换单元,用于将有限域GF(24)中的一次线性多项式中系数用有限域GF(22)中的元素在有限域GF(2)中的一次线性多项式替换;
第二替换单元,用于将有限域GF(28)中的一次线性多项式中系数用有限域GF(24)中的元素在有限域GF(22)中的一次线性多项式替换,以获得所述S盒在所述复合域GF(((22)2)2)中的元素表达式。
10.一种实现SM4的S盒的电路,其特征在于,用于实现权利要求1所述的SM4的S盒,所述电路包括:
第一电路、第二电路、第三电路;
所述第一电路用于计算θ,所述θ用于对有限域GF(24)中的元素取逆,所述有限域GF(24)中元素为用正规基对输入的有限域GF(28)中的元素转换得到;
所述第二电路用于对所述θ取逆运算;
所述第三电路用于依据对所述θ取逆运算结果得到对所述有限域GF(28)中元素取逆的结果,并依据该结果得到所述S盒的电路的输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610721526.8A CN106330429B (zh) | 2016-08-24 | 2016-08-24 | Sm4算法的s盒的生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610721526.8A CN106330429B (zh) | 2016-08-24 | 2016-08-24 | Sm4算法的s盒的生成方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106330429A true CN106330429A (zh) | 2017-01-11 |
CN106330429B CN106330429B (zh) | 2019-08-06 |
Family
ID=57790297
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610721526.8A Active CN106330429B (zh) | 2016-08-24 | 2016-08-24 | Sm4算法的s盒的生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106330429B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106936569A (zh) * | 2017-05-18 | 2017-07-07 | 北京万协通信息技术有限公司 | 一种抗功耗攻击的sm4算法掩码s盒的实现方法 |
CN110278070A (zh) * | 2018-03-13 | 2019-09-24 | 中国科学技术大学 | 一种sm4算法中s盒的实现方法及装置 |
WO2020173063A1 (zh) * | 2019-02-26 | 2020-09-03 | 清华大学 | 一种新型的密码专用的4×4的s盒构造方法 |
CN111786775A (zh) * | 2020-07-28 | 2020-10-16 | 山东省计算中心(国家超级计算济南中心) | 基于基转换的sm4算法s盒的实现方法及系统 |
CN113836851A (zh) * | 2021-09-23 | 2021-12-24 | 山东华翼微电子技术股份有限公司 | 一种ⅱ型最优正规基与多项式基转换电路 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102396010A (zh) * | 2009-04-24 | 2012-03-28 | 日本电信电话株式会社 | 有限域运算装置、有限域运算方法、程序以及记录介质 |
CN104065473A (zh) * | 2014-06-25 | 2014-09-24 | 成都信息工程学院 | Sm4分组密码算法s盒的紧凑实现方法 |
CN105681026A (zh) * | 2016-03-10 | 2016-06-15 | 中国科学院计算技术研究所 | 适用于轻量级加密算法的动态s盒构造方法及系统 |
-
2016
- 2016-08-24 CN CN201610721526.8A patent/CN106330429B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102396010A (zh) * | 2009-04-24 | 2012-03-28 | 日本电信电话株式会社 | 有限域运算装置、有限域运算方法、程序以及记录介质 |
CN104065473A (zh) * | 2014-06-25 | 2014-09-24 | 成都信息工程学院 | Sm4分组密码算法s盒的紧凑实现方法 |
CN105681026A (zh) * | 2016-03-10 | 2016-06-15 | 中国科学院计算技术研究所 | 适用于轻量级加密算法的动态s盒构造方法及系统 |
Non-Patent Citations (1)
Title |
---|
梁浩: "一种基于复合域的SM4算法的设计与实现", 《微电子学与计算机》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106936569A (zh) * | 2017-05-18 | 2017-07-07 | 北京万协通信息技术有限公司 | 一种抗功耗攻击的sm4算法掩码s盒的实现方法 |
CN110278070A (zh) * | 2018-03-13 | 2019-09-24 | 中国科学技术大学 | 一种sm4算法中s盒的实现方法及装置 |
CN110278070B (zh) * | 2018-03-13 | 2022-07-15 | 中国科学技术大学 | 一种sm4算法中s盒的实现方法及装置 |
WO2020173063A1 (zh) * | 2019-02-26 | 2020-09-03 | 清华大学 | 一种新型的密码专用的4×4的s盒构造方法 |
CN111786775A (zh) * | 2020-07-28 | 2020-10-16 | 山东省计算中心(国家超级计算济南中心) | 基于基转换的sm4算法s盒的实现方法及系统 |
CN113836851A (zh) * | 2021-09-23 | 2021-12-24 | 山东华翼微电子技术股份有限公司 | 一种ⅱ型最优正规基与多项式基转换电路 |
Also Published As
Publication number | Publication date |
---|---|
CN106330429B (zh) | 2019-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106330429A (zh) | Sm4算法的s盒的生成方法及装置 | |
CN104408179B (zh) | 数据表中数据处理方法和装置 | |
Aspinwall et al. | Computation of superpotentials for D-branes | |
Hijazi et al. | Polynomial SDP cuts for optimal power flow | |
CN106850221A (zh) | 信息加密、解密方法及装置 | |
AU2015268671B2 (en) | Information processing apparatus and program | |
CN105245343B (zh) | 一种基于多变量密码技术的在线离线签名系统及方法 | |
CN107680003A (zh) | 工程监理任务的节点树生成方法及装置 | |
Dolinsky | Numerical schemes for G-expectations | |
CN104301089B (zh) | 用于对任意变量的两个布尔函数进行仿射等价的判定方法 | |
Koivisto | Post-Newtonian limit in C-theories of gravitation | |
CN106168959A (zh) | 网页布局方法及装置 | |
CN106780633B (zh) | 一种图像校正方法、装置及双目视觉系统 | |
CN106464484A (zh) | 预定函数的混淆执行 | |
CN105138527A (zh) | 一种数据分类回归方法及装置 | |
CN107276093B (zh) | 基于场景削减的电力系统概率潮流计算方法 | |
CN110806690A (zh) | 无人机航迹规划的无损凸优化实现方法 | |
Matthies | Mapped finite elements on hexahedra. Necessary and sufficient conditions for optimal interpolation errors | |
CN109873806A (zh) | 基于二维码的数控装置注册方法及系统 | |
CN103200034B (zh) | 一种基于谱约束和敏感区划分的网络用户结构扰动方法 | |
Demailly | Holomorphic Morse inequalities and the Green-Griffiths-Lang conjecture | |
CN108011707A (zh) | 一种用于硬件加密设备的频率安全性分析系统及方法 | |
CN106534304B (zh) | 一种基于可取回概率的云存储方法和装置 | |
CN108549985B (zh) | 一种求解区间直流潮流模型的改进蒙特卡洛方法 | |
CN108156614A (zh) | 用于进行发送功率和传输速率的联合优化的通信方法和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |