CN113949500A - 一种针对sm4二阶能量分析攻击方法 - Google Patents

一种针对sm4二阶能量分析攻击方法 Download PDF

Info

Publication number
CN113949500A
CN113949500A CN202010685254.7A CN202010685254A CN113949500A CN 113949500 A CN113949500 A CN 113949500A CN 202010685254 A CN202010685254 A CN 202010685254A CN 113949500 A CN113949500 A CN 113949500A
Authority
CN
China
Prior art keywords
key
matrix
attack
round
box
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
CN202010685254.7A
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.)
Huada Semiconductor Co ltd
Chengdu Xin'an Youlika Information Science & Technology Co ltd
CSG Electric Power Research Institute
Chengdu University of Information Technology
Original Assignee
Huada Semiconductor Co ltd
Chengdu Xin'an Youlika Information Science & Technology Co ltd
CSG Electric Power Research Institute
Chengdu University of Information Technology
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 Huada Semiconductor Co ltd, Chengdu Xin'an Youlika Information Science & Technology Co ltd, CSG Electric Power Research Institute, Chengdu University of Information Technology filed Critical Huada Semiconductor Co ltd
Priority to CN202010685254.7A priority Critical patent/CN113949500A/zh
Publication of CN113949500A publication Critical patent/CN113949500A/zh
Pending legal-status Critical Current

Links

Images

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/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • 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
    • H04L9/0631Substitution 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)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种针对SM4二阶能量分析攻击方法,包括以下步骤:S1:采集时域功耗曲线,建立能量消耗矩阵;S2:将S1的时域功耗转换到频域;S3:猜测轮子密钥字节,计算组合中间值,将组合中间值映射为假设能量消耗矩阵;S4:选择S盒的输入输出异或Sin_Xor_Sout作为攻击点,对功率谱矩阵进行CPA攻击;S5:重复S2、S3、S4过程分别获得一轮的4个S盒的子密钥得到轮密钥;S6:对前/后4轮进行步骤S2、S3、S4、S5操作获得4轮的子密钥,通过密钥逆扩展获得初始密钥。本发明创新的提出了二阶能量分析的一种新方法,将二阶能量分析从时域分析拓展到了频域分析,能有效避免时域CPA中时间点不对齐的问题。

Description

一种针对SM4二阶能量分析攻击方法
技术领域
本发明涉及密码算法分析检测领域,尤其针对具有掩码防护的SM4密码算法实现二阶频域侧信道能量分析,特别是涉及对S盒输入输出中间掩码值相同的SM4密码算法进行二阶频域侧信道能量分析。
背景技术
随着信息和分析电路技术的发展,对硬件密码电子设备的破解不再单纯的停留在协议和算法上,而是从其处理数据的过程中泄露的信息入手,进行破解。硬件密码电子设备在处理信息的工程中存在能量、电磁、错误和时间等信息的泄露,利用这些泄露的信息对密码电子设备进行攻击,就是所谓的侧信道攻击(Side Channel Attacks),侧信道攻击可分为能量分析攻击、电磁攻击和错误攻击等,其中能量分析攻击因效率较高,成为侧信道的主要手段。
侧信道能量分析攻击是通过采集加密芯片等硬件密码电子设备在进行加、解密或签名等操作时产生的能量消耗,利用密码学和统计学原理等,分析和破译密钥信息的一种攻击方式,侧信道能量分析攻击又分为简单能量分析攻击(Simple Power Analysis,SPA)、差分能量分析攻击(Differential Power Analysis,DPA)和相关性能量分析攻击(Correlation Power Analysis,CPA)。
在侧信道能量分析攻击中, CPA和DPA相比SPA具有更强的攻击性,所以能量分析攻击中比较常用的是CPA和DPA。
其中, DPA攻击的过程如下:
(1)随机选择N组不相同明文或密文Mi(i∈[1,N])进行加/解密运算,采集每组明文进行加密运算时设备产生的能量曲线Ti(t),t∈{1,2,…,k},其中k为能量轨迹的采样点数。
(2)选择密钥
Figure RE-438591DEST_PATH_IMAGE001
(ζ∈Ω,Ω为密钥空间),计算在
Figure RE-486181DEST_PATH_IMAGE001
和Mi条件下,密码算法进行加密运算时在被攻击点产生的中间值
Figure RE-608989DEST_PATH_IMAGE002
(3)根据中间值
Figure RE-742030DEST_PATH_IMAGE003
确定选择函数F(Mi,
Figure RE-107021DEST_PATH_IMAGE001
),根据选择函数将Ti(t)分为两个子集S0和S1,定义式如下:
S0={Ti(t)|F(Mi,
Figure RE-9118DEST_PATH_IMAGE001
)=0}
S1={Ti(t)|F(Mi,
Figure RE-302827DEST_PATH_IMAGE001
)=1}
(4)计算每个采样点上两个子集的能量平均之差,如
S=
Figure RE-595268DEST_PATH_IMAGE004
Figure RE-452366DEST_PATH_IMAGE004
-
Figure RE-146652DEST_PATH_IMAGE005
Figure RE-860530DEST_PATH_IMAGE005
所示,其中|S0|和|S1|分别表示集合S0和S1中元素的个数。
Figure RE-905847DEST_PATH_IMAGE001
选择不正确,当N比较大时,两个子集均值差S将趋近于零;若Kζ选择正确,在均值差S中将会出现一个最大尖峰,通过该尖峰即可确定
Figure RE-301056DEST_PATH_IMAGE001
选择正确。
CPA攻击的过程如下:
(1)随机选择N组不相同明文或密文Mi(i∈[1,N])进行加/解密运算,采集每组明文进行加密运算时设备产生的能量曲线Ti(t),t∈{1,2,…,k},其中k为能量轨迹的采样点数。
(2)选择密钥
Figure RE-39730DEST_PATH_IMAGE001
(ζ∈Ω,Ω为密钥空间),计算在
Figure RE-190088DEST_PATH_IMAGE001
和Mi条件下,密码算法进行加密运算时在被攻击点产生的中间值
Figure RE-768706DEST_PATH_IMAGE003
(3)取中间值Di,ζ的汉明距离或者汉明重量建立能量模型hi,ζ,根据
Figure RE-29923DEST_PATH_IMAGE006
式计算Ti(t)和
Figure RE-433222DEST_PATH_IMAGE007
相关性ρi
(4)取相关系数最大值时对应的
Figure RE-692165DEST_PATH_IMAGE001
,即为实际密钥。
侧信道能量分析攻击技术的不发展对侧信道的防御技术提出了新挑战,其中掩码防御是抵抗侧信道能量分析攻击的一种重要手段。掩码防护根据掩码值是否随机又分为固定掩码和随机掩码,根据重用情况又可分为横向重用型掩码、纵向重用型掩码和非重用型掩码。根据掩码时的运算方式的不同又可分乘法掩码、加法掩码,以及在布尔和算数掩码之间转换的方法等。
掩码的目标为使每一个中间值在计算过程中始终处于被掩码状态,这样可以使计算过程中难于猜测到中间值而抵抗一阶侧信道能量分析攻击。在理想的掩码算法中,需要保证每个中间值具有不同的掩码,虽然一阶掩码可以抵抗一阶能量分析,但不能抵抗二阶能量分析,而二阶掩码不能抵抗三阶能量分析,尽管理论上掩码阶数越高越好,但在实际的应用中,需要考虑掩码引入所带来的额外开销,所以目前常用的掩码为一阶掩码。常见的SM4掩码方案包括S盒输入输出中间值掩码相同/不同;每一轮4个S盒的输入中间值相同/不同;每一轮4个S盒的输出中间值相同/不同;轮输入中间值相同/不同。
高阶二阶相关性能量攻击是针对于一阶掩码防御算法的有一种攻击手段,其攻击思想为利用联合泄露,该联合泄露依赖于密码设备所处理的与同一个掩码相关的两个中间值。针对掩码为布尔异或掩码的算法,所选取的两个中间值um,vm需满足:1)um=u⊕m且vm=v⊕m,其中u,v均为掩码为0时的中间值,m为掩码;2)um,vm中至少有一个与密钥k的一部分有关;3)两个中间值um,vm的组合中间值um⊕vm与掩码无关。
SM4算法是分组长度和密钥长度均为128bit,加密算法和解密算法均为32轮的非线性迭代密码算法,其加密算法和解密算法结构相同,只是运算时轮密钥使用的顺序相反,解密轮密钥是加密轮密钥的逆序。SM4加密算法的详细流程如图1所示。
在图1中Xi∈Z2 32(Z2 e表示e比特的向量集),明文输入为(X0,X1,X2,X3)∈(Z2 32)4,密文输出为(Y0,Y1,Y2,Y3),其中Xi、Xi+1、Xi+2和Xi+3为轮迭代运算函数F的输入,rki∈Z2 32为每轮的轮密钥,i∈ { 0,1,2,…,31}。
从加密的流程可以看出,轮迭代函数F包括的运算有异或、非线性变换τ和线性变换L,轮迭代函数的表达式为:Xi+4=F(Xi,Xi+1,Xi+2,Xi+3,rki)=Xi⊕T(Xi+1⊕Xi+2⊕Xi+3⊕rki),在改表达式中,T表示合成置换,是由非线性变换τ和线性变换L复合而成,迭代函数F的详细的流程如图2所示,在整个SM4密码算法的加解密过程中,一共要执行32轮这样的轮迭代函数F。
令resi=T(Xi+1⊕Xi+2⊕Xi+3⊕rki),则:Xi+4=F(Xi,Xi+1,Xi+2,Xi+3,rki)=Xi⊕T(Xi+1⊕Xi+2⊕Xi+3⊕rki)变为:
Xi+4=F(Xi,Xi+1,Xi+2,Xi+3,rki)=Xi⊕resi
非线性变换τ是由4个并行S盒子构成,每个S盒子为固定的8bit输入8bit输出的置换,记为Sbox(.)。
设输入为Ai=ai,0||ai,1||ai,2||ai,3=Xi+1⊕Xi+2⊕Xi+3⊕rki,其中ai,j∈Z2 32,表示第i轮第j(j∈ { 0,1,2,3 })个S盒子的输入,||表示两个数据bit的拼接,输出为Bi=bi,0||bi,1||bi,2||bi,3,bi,j∈Z2 32,bi,j表示第i轮、第j个S盒子的输出,则非线性变换τ为:Bi=τ(Ai)=Sbox(ai,0)||Sbox(ai,1)||Sbox(ai,2)||Sbox(ai,3)。
线性变换L的描述如下所示,
Ci=L(Bi)=Bi⊕(Bi<<<2)⊕(Bi<<<10)⊕(Bi<<<18)⊕(Bi<<<24)
在该式中,C i ∈Z2 32,Bi∈Z2 32,Ci为线性变换L的输出,Bi为线性变换L的输入,同时也是非线性变换τ的输出。
对SM4 密码算法的能量分析方法通常选取S盒的输出、L移位的输出作为攻击对象,使用汉明重量、单比特模型,利用DPA 和CPA 方法进行分析。这些方法仅利用了典型的分析点。
SM4的密钥扩展算法:轮密钥由加密密钥通过密钥扩展算法生成,其结构与加密变换类似。设加密密钥为MK=(MK0,MK1,MK2,MK3),MKi∈Z2 32,i=0,1,2,3;令Ki∈Z2 32,i=0,1,2,…,35,轮密钥rki∈Z2 32,i=0,1,2,…,31,则轮密钥生成方法如下式所示:
(K0,K1,K2,K3)=(MK0⊕FK0,MK1⊕FK1,MK2⊕FK2,MK3⊕FK3)
rki=Ki+4= Ki⊕T(Ki+1⊕Ki+2⊕Ki+3⊕CKi)
其中,T变换与加密变换中的T 变换基本相同,只是其中的线性变换L必须修改为以下L:
L(B)=B⊕(B<<<13)⊕(B<<<23)
系统参数FKi(i=0,1,2,3)的取值,采用16进制表示为:
FK0=A3B1BAC6,FK1=56AA3350,FK2=677D9197,FK3= B27022DC
固定参数CK的取值方法为设cki,j为CKi的第j字节(i=0,1,2,…,31;j=0,1,2,3),即CKi=(cki,0,cki,1,cki,2,cki,3,)∈(Z2 32),则cki,j=(4i+j)×7(mod256)。32个固定参数CKi用16进制表示为:
00070e15, 1c232a31, 383f464d, 545b6269,
70777e85, 8c939aa1, a8afb6bd, c4cbd2d9,
e0e7eef5, fc030a11, 181f262d, 343b4249,
50575e65, 6c737a81, 888f969d, a4abb2b9,
c0c7ced5, dce3eaf1, f8ff060d, 141b2229,
30373e45, 4c535a61, 686f767d, 848b9299,
a0a7aeb5, bcc3cad1, d8dfe6ed, f4fb0209,
10171e25, 2c333a41, 484f565d, 646b7279
根据密钥扩展算法,反推出密钥的方法如下:
a、已知加密明文/解密密文:
对于已知加密明文/解密密文,攻击出前四轮的轮子密钥rk0、rk1、rk2、rk3,根据密钥扩展算法得下式:
rk0=K4= K0⊕T(K1⊕K2⊕K3⊕CK0) (1)
rk1=K5= K1⊕T(K2⊕K3⊕K4⊕CK1) (2)
rk2=K6= K2⊕T(K3⊕K4⊕K5⊕CK2) (3)
rk3=K7= K3⊕T(K4⊕K5⊕K6⊕CK3) (4)
由(1)、(2)、(3)和(4)式可得K3,如(5)式所示。
K3= rk3⊕T(rk0⊕rk1⊕rk2⊕CK3) (5)
由(3)和(5)式得K2,如(6)式所示。
K2= rk2⊕T(K3⊕rk0⊕rk1⊕CK2) (6)
由(2)、(5)和(6)式得K1,如(7)式所示。
K1= rk1⊕T(K2⊕K3⊕rk0⊕CK1) (7)
由(2)、(5)和(6)式得K0,如(8)式所示。
K0= rk0⊕T(K1⊕K2⊕K3⊕CK0) (8)
又(K0,K1,K2,K3)=(MK0⊕FK0,MK1⊕FK1,MK2⊕FK2,MK3⊕FK3),所以可得密钥为MK0=K0⊕FK0,MK1=K1⊕FK1,MK2=K2⊕FK2,MK3=K3⊕FK3
b、已知加密密文/解密明文:
对于已知加密密文/解密明文,攻击出后四轮的轮子密钥rk0、rk1、rk2、rk3,根据密钥扩展算法得下式:
rk0=K35=K31⊕T(K32⊕K33⊕K34⊕CK31) (9)
rk1=K34=K30⊕T(K31⊕K32⊕K33⊕CK30) (10)
rk2=K33=K29⊕T(K30⊕K31⊕K32⊕CK29) (11)
rk3=K32=K28⊕T(K29⊕K30⊕K31⊕CK28) (12)
由(9)、(10)、(11)和(12)式子,得到K32、K33、K34和K35,i取31到0,计算Ki= Ki+4⊕T(Ki+1⊕Ki+2⊕Ki+3⊕CKi),即可得到K0,K1,K2,K3,又(K0,K1,K2,K3)=(MK0⊕FK0,MK1⊕FK1,MK2⊕FK2,MK3⊕FK3),所以可得密钥为MK0=K0⊕FK0,MK1=K1⊕FK1,MK2=K2⊕FK2,MK3=K3⊕FK3
目前,也有选择轮函数的输出作为攻击对象的能量分析方法,即以轮函数输出vi,j k=(L-1(Xi+4 k))j=(L-1(Xi k))j⊕τ(Xi+1,j k⊕Xi+2,j k⊕Xi+3,j k⊕rki,j)实施侧信道能量分析攻击,其中vi,j k是输入第k组明文或密文时,第i轮轮密钥第j个字节的攻击对象,i∈{0,1,2,3},j∈{0,1,2,3},L-1(X)是对L(X)的逆运算。而此攻击对象的计算方法:vi,j k=(L-1(Xi+4 k))j=(L-1(Xi k))j⊕τ(Xi+1,j k⊕Xi+2,j k⊕Xi+3,j k⊕rki,j),决定了在对SM4密码算法实施CPA或DPA侧信道能量分析攻击时,只能是按照字节的倍数进行攻击,而不能以轮函数输出的任意比特例如单比特进行CPA或DPA侧信道能量分析攻击。
发明内容
本发明的目的是提供一种针对SM4二阶能量分析攻击方法,特别是针对S盒输入输出中间值掩码值相同的SM4密码算法实现了二阶频域侧信道能量分析方法。本方法首次提出了二阶能量分析的频域分析方法,频域分析较时域分析在曲线对齐问题上有较好的效果。
实现上述发明的技术方案为,一种针对SM4二阶能量分析攻击方法,具体包括以下步骤:
S1:采集功耗曲线,建立能量消耗矩阵;
S2:将S1的时域功耗转换到频域;
S3:猜测轮子密钥字节,计算组合中间值,将组合中间值映射为假设能量消耗矩阵;
S4:选择S盒的输入输出异或Sin_Xor_Sout作为攻击点,对功率谱矩阵进行CPA攻击;
S5:重复S2、S3、S4过程分别获得一轮的4个S盒的子密钥得到轮密钥;
S6:对前/后4轮进行步骤S2、S3、S4、S5操作获得4轮的子密钥,通过密钥逆扩展获得初始密钥。
进一步地,S1具体包括以下步骤:
随机选择组明文(密文),通过密码设备进行加密(解密)操作,采集密码设备的能量消耗曲线,将N条功耗曲线存为矩阵
Figure RE-259544DEST_PATH_IMAGE008
,第n次加/解密,对应t时刻的能量消耗记为
Figure RE-996556DEST_PATH_IMAGE010
,n∈{1,2,…,N},t∈{1,2,…,T}。
进一步地,S2具体包括以下步骤:
在N条能量迹上选取包含S盒输入输出部分关键点信息的能量迹,记为
Figure RE-582258DEST_PATH_IMAGE011
,且集合{a,a+1,…,b}包含于集合{1,2,…,T},a,b∈N+
Figure RE-12102DEST_PATH_IMAGE012
=b-a+1,对
Figure RE-988149DEST_PATH_IMAGE014
(N*
Figure RE-528852DEST_PATH_IMAGE015
)进行傅里叶变换将时域信号转换到频域,记为E(ω)=FFT(
Figure RE-498555DEST_PATH_IMAGE016
(N*
Figure RE-833722DEST_PATH_IMAGE018
)),对E(ω)求功率谱矩阵,记为
Figure RE-624960DEST_PATH_IMAGE019
进一步地,S3具体包括以下步骤:
猜测轮子密钥字节,每一组明文/密文下针对一个S盒密钥猜测28次密钥,此时S盒输入中间值矩阵为
Figure RE-516824DEST_PATH_IMAGE020
、S盒输出的中间值矩阵
Figure RE-77118DEST_PATH_IMAGE021
,组合中间值为
Figure 5
,Sn i=SINn i⊕SOUTn i。采用汉明重量模型将组合中间值矩阵S(N*28)映射为假设能量消耗矩阵,所求假设能量消耗矩阵记为
Figure RE-110988DEST_PATH_IMAGE023
,hn i=HW(Sn i)。
进一步地,S4具体包括以下步骤:
选择S盒的输入输出异或Sin_Xor_Sout作为攻击点,对功率谱矩阵进行CPA攻击的步骤包括:对假设能量消耗矩阵H(N*256)的每一列hi和所处理后得到的功率谱矩阵Ep的每一列Pi计算皮尔逊相关系数
Figure 100002_1
,得到的矩阵大小为
Figure RE-408294DEST_PATH_IMAGE026
的相关系数矩阵
Figure RE-350843DEST_PATH_IMAGE027
。对
Figure RE-601826DEST_PATH_IMAGE028
的值进行判断,找出相关系数矩阵中
Figure RE-84760DEST_PATH_IMAGE026
的最大值,最大值对应的猜测密钥即为正确密钥。
进一步地,S5具体包括以下步骤:
重复S2、S3、S4过程由于一轮SM4密码运算中包含4个S盒运算,所以需要重复攻击一轮中的4个不同S盒才能够获得4个字节的轮密钥。
进一步地,S6具体包括以下步骤:
对前/后4轮进行步骤S2、S3、S4、S5操作获得4轮的子密钥的方法应用于:加密/解密运算已知明文/密文攻击前4轮,已知密文/明文攻击后4轮;最后通过密钥逆扩展获得初始密钥。
本发明的技术方案具有以下优点:
当前对具有掩码防护措施的SM4密码算法没有从频域分析的具体攻击方法。本发明对对S盒输入输出中间掩码值相同的SM4密码算法创新地提出了频域的二阶能量分析方法,扩展了对SM4密码算法攻击的研究手段,使用本方法能够更高效地对SM4密码算法实现二阶能量分析;本发明提出的方法在曲线对齐问题上具有更好的对齐效果。
附图说明
图1为SM4加密算法流程图;
图2为迭代函数F的流程图;
图3为S盒输入输出掩码值相同的防御方案;
图4为S盒输入输出掩码值相同的SM4算法的攻击点;
图5为一种针对SM4二阶能量分析攻击的流程图。
具体实施方式
下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
一种针对SM4二阶能量分析攻击的方法,适用于S盒输入输出中间值相同的SM4密码算法,但不局限于SM4密码算法S盒输入输出中间值相同的密码算法,对于具备S盒输入输出中间值相同的其他密码算法S盒具有同样的攻击效果。本实施以针对S盒输入输出中间值相同的SM4加密算法,其二阶频域攻击方法包括以下步骤:
S1:采集功耗曲线,建立能量消耗矩阵;
S2:将S1的时域功耗转换到频域;
S3:猜测轮子密钥字节,计算组合中间值,将组合中间值映射为假设能量消耗矩阵;
S4:选择S盒的输入输出异或Sin_Xor_Sout作为攻击点,对功率谱矩阵进行CPA攻击;
S5:重复S2、S3、S4过程分别获得一轮的4个S盒的子密钥得到轮密钥;
S6:对前/后4轮进行步骤S2、S3、S4、S5操作获得4轮的子密钥,通过密钥逆扩展获得初始密钥。
其中,S1具体包括以下步骤:
随机选择N组明文(密文),通过密码设备进行加密(解密)操作,采集密码设备的能量消耗曲线,将N条功耗曲线存为矩阵
Figure RE-557330DEST_PATH_IMAGE008
,第n次加/解密,对应t时刻的能量消耗记为
Figure RE-719715DEST_PATH_IMAGE029
,n∈{1,2,…,N},t∈{1,2,…,T}。
S2具体包括以下步骤:
已知加密明文/解密密文情况下,选取N组能量迹上第一轮的第m个包含S盒输入和S盒输出两个关键点信息的能量迹;已知加密密文/解密明文情况下,选取N组能量迹上第32轮的第m个包含S盒输入和S盒输出两个关键点信息的能量迹,m∈{1,2,3,4},记选取的能量迹矩阵为
Figure RE-644945DEST_PATH_IMAGE011
,且集合{a,a+1,…,b}包含于集合{1,2,…,T},a,b∈N+
Figure RE-931570DEST_PATH_IMAGE030
=b-a+1,对
Figure RE-258646DEST_PATH_IMAGE031
(N*
Figure RE-356046DEST_PATH_IMAGE033
)进行傅里叶变换将时域信号转换到频域,记为E(ω)=FFT(
Figure RE-768573DEST_PATH_IMAGE031
(N*
Figure RE-530993DEST_PATH_IMAGE034
)),对E(ω)求功率谱矩阵,记为
Figure RE-774892DEST_PATH_IMAGE019
接下来,S3具体包括以下步骤:
猜测S2中所选取S盒的轮子密钥字节,每一组明文/密文下针对一个S盒密钥猜测28次密钥,此时S盒输入中间值矩阵为
Figure 100002_3
、S盒输出的中间值矩阵
Figure RE-129967DEST_PATH_IMAGE021
,组合中间值为
Figure 4
,Sn i=SINn i⊕SOUTn i。采用汉明重量模型将组合中间值矩阵S(N*28)映射为假设能量消耗矩阵,所求假设能量消耗矩阵记为
Figure RE-43751DEST_PATH_IMAGE023
,hn i=HW(Sn i)。
S4具体包括以下步骤:
选择S盒的输入输出异或Sin_Xor_Sout作为攻击点,对功率谱矩阵进行CPA攻击的步骤包括:对假设能量消耗矩阵H(N*256)的每一列hi和所处理后得到的功率谱矩阵Ep的每一列Pi计算皮尔逊相关系数
Figure 100002_2
,得到的矩阵大小为
Figure RE-DEST_PATH_IMAGE035
的相关系数矩阵
Figure RE-119341DEST_PATH_IMAGE027
。对
Figure RE-36612DEST_PATH_IMAGE028
的值进行判断,找出相关系数矩阵
Figure RE-DEST_PATH_IMAGE037
中的最大值,若最大值为ρt d则正确猜测密钥为d。
S5具体包括以下步骤:
已知加密明文/解密密文情况下,重复S2、S3、S4过程分析第1轮的4个S盒,即m取1到4,得到第一轮轮密钥rk0;已知加密密文/解密明文情况下重复S2、S3、S4过程,分析第32轮的4个S盒,得到第32轮轮密钥rk31
S6具体包括以下步骤:
对于已知加密明文/解密密文的攻击前4轮,在S5中分析出第一轮轮密钥rk0后,重复步骤S2、S3、S4、S5,依次获得rk1,rk2,rk3;对于已知加密密文/解密明文的攻击后4轮,在S5中分析出第一轮轮密钥rk31后,重复步骤S2、S3、S4、S5,依次获得rk30,rk29,rk28,最后通过密钥逆扩展获得初始密钥。

Claims (7)

1.一种针对SM4二阶能量分析攻击方法,其特征在于,所述方法包括以下步骤:
S1:采集功耗曲线,建立能量消耗矩阵;
S2:将S1的时域功耗转换到频域;
S3:猜测轮子密钥字节,计算组合中间值,将组合中间值映射为假设能量消耗矩阵;
S4:选择S盒的输入输出异或Sin_Xor_Sout作为攻击点,对功率谱矩阵进行CPA攻击;
S5:重复S2、S3、S4过程分别获得一轮的4个S盒的子密钥得到轮密钥;
S6:对前/后4轮进行步骤S2、S3、S4、S5操作获得4轮的子密钥,通过密钥逆扩展获得初始密钥。
2.根据权利要求1所述的一种针对SM4二阶能量分析攻击方法,其特征在于,所述S1具体过程为:随机选择N组明文(密文),通过密码设备进行加密(解密)操作,采集密码设备的能量消耗曲线,将N条功耗曲线存为矩阵
Figure RE-91712DEST_PATH_IMAGE001
,第n次加/解密,对应t时刻的能量消耗记为
Figure RE-139303DEST_PATH_IMAGE002
,n∈{1,2,…,N},t∈{1,2,…,T}。
3.根据权利要求1所述的一种针对SM4二阶能量分析攻击方法,其特征在于,所述S2中将S1的时域功耗转换到频域为选取一个S盒运算部分转换到频域,所述S2具体过程为:在N条能量迹上选取包含S盒输入输出部分关键点信息的能量迹,记为
Figure RE-262111DEST_PATH_IMAGE003
,且集合{a,a+1,…,b}包含于集合{1,2,…,T},a,b∈N+
Figure RE-332835DEST_PATH_IMAGE004
=b-a+1,对
Figure RE-386242DEST_PATH_IMAGE005
(N*
Figure RE-288339DEST_PATH_IMAGE004
)进行傅里叶变换将时域信号转换到频域,记为E(ω)=FFT(
Figure RE-768999DEST_PATH_IMAGE005
(N*
Figure RE-387672DEST_PATH_IMAGE004
)),对E(ω)求功率谱矩阵,记为
Figure RE-244770DEST_PATH_IMAGE006
4.根据权利要求1所述的一种针对SM4二阶能量分析攻击方法,其特征在于,所述S3中猜测轮子密钥字节,每一组明文/密文下针对一个S盒密钥猜测28次密钥,此时S盒输入中间值矩阵为
Figure 1
、S盒输出的中间值矩阵
Figure RE-731563DEST_PATH_IMAGE008
,组合中间值为
Figure 2
,Sn i=SINn i⊕SOUTn i,采用汉明重量模型将组合中间值矩阵S(N*28)映射为假设能量消耗矩阵,所求假设能量消耗矩阵记为
Figure RE-172089DEST_PATH_IMAGE010
,hn i=HW(Sn i)。
5.根据权利要求1所述的一种针对SM4二阶能量分析攻击方法,其特征在于,所述S4选择S盒的输入输出异或Sin_Xor_Sout作为攻击点,对功率谱矩阵进行CPA攻击的步骤包括:
对假设能量消耗矩阵H(N*256)的每一列hi和所处理后得到的功率谱矩阵Ep的每一列Pi计算皮尔逊相关系数
Figure 3
,得到的矩阵大小为
Figure RE-605661DEST_PATH_IMAGE012
的相关系数矩阵
Figure RE-872695DEST_PATH_IMAGE013
,对
Figure RE-383179DEST_PATH_IMAGE014
的值进行判断,找出相关系数矩阵
Figure RE-786479DEST_PATH_IMAGE012
中的最大值,最大值对应的猜测密钥即为正确密钥。
6.根据权利要求1所述的一种针对SM4二阶能量分析攻击方法,其特征在于,所述S5重复S2、S3、S4过程由于一轮SM4密码运算中包含4个S盒运算,所以需要重复攻击一轮中的4个不同S盒才能够获得4个字节的轮密钥。
7.根据权利要求1所述的一种针对SM4二阶能量分析攻击方法,其特征在于,所述S6中的对前/后4轮进行步骤S2、S3、S4、S5操作获得4轮的子密钥的方法应用于:加密/解密运算已知明文/密文攻击前4轮,已知密文/明文攻击后4轮;最后通过密钥逆扩展获得初始密钥。
CN202010685254.7A 2020-07-16 2020-07-16 一种针对sm4二阶能量分析攻击方法 Pending CN113949500A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010685254.7A CN113949500A (zh) 2020-07-16 2020-07-16 一种针对sm4二阶能量分析攻击方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010685254.7A CN113949500A (zh) 2020-07-16 2020-07-16 一种针对sm4二阶能量分析攻击方法

Publications (1)

Publication Number Publication Date
CN113949500A true CN113949500A (zh) 2022-01-18

Family

ID=79326688

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010685254.7A Pending CN113949500A (zh) 2020-07-16 2020-07-16 一种针对sm4二阶能量分析攻击方法

Country Status (1)

Country Link
CN (1) CN113949500A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115270204A (zh) * 2022-09-28 2022-11-01 南方电网数字电网研究院有限公司 芯片电路信息泄露的检测方法、系统、存储介质及设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104753665A (zh) * 2015-03-19 2015-07-01 成都信息工程学院 一种针对sm4密码轮函数输出的侧信道能量攻击方法
CN104753668A (zh) * 2015-03-19 2015-07-01 成都信息工程学院 一种针对sm4密码线性变换输出的侧信道能量攻击方法
CN105553638A (zh) * 2015-12-07 2016-05-04 成都芯安尤里卡信息科技有限公司 针对sm4一阶掩码算法的二阶频域能量分析攻击

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104753665A (zh) * 2015-03-19 2015-07-01 成都信息工程学院 一种针对sm4密码轮函数输出的侧信道能量攻击方法
CN104753668A (zh) * 2015-03-19 2015-07-01 成都信息工程学院 一种针对sm4密码线性变换输出的侧信道能量攻击方法
CN105553638A (zh) * 2015-12-07 2016-05-04 成都芯安尤里卡信息科技有限公司 针对sm4一阶掩码算法的二阶频域能量分析攻击

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115270204A (zh) * 2022-09-28 2022-11-01 南方电网数字电网研究院有限公司 芯片电路信息泄露的检测方法、系统、存储介质及设备
CN115270204B (zh) * 2022-09-28 2023-03-07 南方电网数字电网研究院有限公司 芯片电路信息泄露的检测方法、系统、存储介质及设备

Similar Documents

Publication Publication Date Title
US7899190B2 (en) Security countermeasures for power analysis attacks
Renauld et al. Algebraic side-channel attacks on the AES: Why time also matters in DPA
Saha et al. RK-AES: an improved version of AES using a new key generation process with random keys
CN105553638A (zh) 针对sm4一阶掩码算法的二阶频域能量分析攻击
Jaffe A first-order DPA attack against AES in counter mode with unknown initial counter
US20170366339A1 (en) Method of encryption with dynamic diffusion and confusion layers
Takahashi et al. Improved differential fault analysis on CLEFIA
CN107204841B (zh) 一种抵御差分功耗攻击的分组密码多s盒实现的方法
Bogdanov Linear slide attacks on the KeeLoq block cipher
Razaq et al. A novel technique for the construction of safe substitution boxes based on cyclic and symmetric groups
Liang et al. Design of a masked S-box for SM4 based on composite field
AlTawy et al. Fault analysis of Kuznyechik
Li et al. Differential fault analysis on Camellia
Shorin et al. Linear and differential cryptanalysis of Russian GOST
CN113949500A (zh) 一种针对sm4二阶能量分析攻击方法
CN111030820B (zh) 一种基于掩码sm4算法的选择明文相关碰撞攻击方法
Boscher et al. Masking does not protect against differential fault attacks
Chou et al. A high performance, low energy, compact masked 128-bit AES in 22nm CMOS technology
Hou et al. DNFA: Differential no-fault analysis of bit permutation based ciphers assisted by side-channel
JP3782210B2 (ja) 暗号装置
Guo et al. Differential power analysis on dynamic password token based on SM3 algorithm, and countermeasures
Saha et al. Diagonal fault analysis of Gr⊘ stl in dedicated MAC mode
Keliher et al. Modeling linear characteristics of substitution-permutation networks
Wang et al. An area-efficient shuffling scheme for AES implementation on FPGA
Park et al. Improved differential fault analysis on block cipher ARIA

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