一种针对SM3密码算法消息扩展的侧信道分析攻击的方法技术

技术编号:15880155 阅读:351 留言:0更新日期:2017-07-25 18:16
本发明专利技术公开了一种针对SM3密码算法消息扩展的侧信道分析攻击方法,包括以下步骤:S1:选择消息扩展运算的结果为攻击中间变量,选择消息扩展运算中置换函数的输出作为攻击的目标,进行侧信道分析攻击;S2:将攻击结果联立方程组,根据逆置换函数求解方程组,即可破解最终密钥。采用上述分析方法不仅实现了针对SM3密码算法的侧信道分析攻击,而且降低了攻击时数据的搜索空间,增强了攻击灵活性、效率和成功率。

Method for analyzing side channel attack of message expansion of SM3 cipher algorithm

The invention discloses a method for the analysis of attack SM3 cipher message expansion side channel, which comprises the following steps: S1: the chosen message extended operations to attack the intermediate variables, choose the output message extension function replacement in the operation as the target of attack, side channel analysis; S2: the attack results of simultaneous equations according to the inverse permutation function, solving equations, can crack the final key. By using the above analysis method, not only the side channel analysis attack for SM3 cipher algorithm is realized, but also the search space of data is reduced, and the flexibility, efficiency and success rate of attack are enhanced.

【技术实现步骤摘要】
一种针对SM3密码算法消息扩展的侧信道分析攻击的方法
本专利技术涉及密码算法分析检测领域,尤其涉及一种针对SM3密码算法消息扩展的侧信道分析攻击的方法。
技术介绍
随着信息和分析电路技术的发展,对硬件密码电子设备的破解不再单纯的停留在协议和算法上,而是从其处理数据的过程中泄露的信息入手,进行破解。硬件密码电子设备在处理信息的工程中存在能量、电磁、错误和时间等信息的泄露,利用这些泄露的信息,结合密码学和统计学原理等,对密码电子设备进行攻击,就是所谓的侧信道分析攻击(SideChannelAttacks)。在侧信道分析攻击中,比较常用的是差分分析攻击和相关性分析攻击。其中,差分分析攻击的过程如下:(1)随机选择N组不相同明文或密文Mi(i∈[1,N])进行加/解密运算,采集每组明文进行加密运算时设备产生的能量或者电磁曲线Ti(t),t∈{1,…,k},其中k为曲线轨迹的采样点数;(2)选择密钥Kl(l∈Ω,Ω为密钥空间),计算在Kl和Mi条件下,密码算法进行加密运算时在被攻击点产生的中间值Di,l;(3)根据中间值Di,l确定选择函数F(Mi,Kl),根据选择函数将Ti(t)分为两个子集S0和S1,定义式如下:S0={Ti(t)|F(Mi,Kl)=0}S1={Ti(t)|F(Mi,Kl)=1}(4)计算每个采样点上两个子集的能量平均之差,如S=QUOTE-QUOTE所示,其中︱S0︳和︱S1︳分别表示集合S0和S1中元素的个数。若Kl选择不正确,当N比较大时,两个子集均值差S将趋近于零;若Kl选择正确,在均值差S中将会出现一个最大尖峰,通过该尖峰即可确定Kl选择正确。相关性攻击的过程如下:(1)随机选择N组不相同明文或密文Mi(i∈[1,N])进行加/解密运算,采集每组明文进行加密运算时设备产生的能量或者电磁曲线Ti(t),t∈{1,…,k},其中k为曲线轨迹的采样点数;(2)选择密钥Kl(l∈Ω,Ω为密钥空间),计算在Kl和Mi条件下,密码算法进行加密运算时在被攻击点产生的中间值Di,l;(3)取中间值Di,l的汉明距离或者汉明重量建立能量模型hi,l,根据=式计算Ti和hi,l相关性ρl;(4)取相关系数最大值时对应的Kl,即为实际密钥。动态令牌是动态口令系统的重要组成部分,是一种一定周期内生成一个动态口令的设备,每个口令各不相同,为用户提供身份认证。动态令牌使用杂凑算法或分组算法,结合截位函数,根据用户密钥和时间产生动态口令,基于SM3密码算法的动态令牌实现过程如下所示:(1)S=F(K,ID),其中F为SM3杂凑密码算法,S为SM3杂凑密码算法的输出,K是长度不少于128bit的运算密钥,ID是长度不少于128bit变化的信息;(2)OD=Truncate(S),其中,Truncate()是截位函数,OD为截位函数的输出;(3)P=OD%(10^N),N是令牌或其它终端显示口令的位数,P为最终显示的动态口令。SM3密码杂凑算是杂凑值为256bit的国产商用密码算法,运算过程包括消息填充、消息扩展和迭代压缩。消息扩展是将512比特的消息分组B按以下方法扩展生成132个字W0,W1,…,W67,W0',W1',…,W63',消息扩展过程描述如下:(1)将消息分组划分为16个字W0,W1,…,W15;(2)FORj=16To67Wj<-P1(Wj-16⊕Wj-9⊕(Wj-3<<<15))⊕(Wj-13<<<15)⊕Wj-6ENDFORFORj=0To63W1'=Wj⊕Wj+4ENDFOR其中,P1为置换函数,为P1(X)=X⊕(X<<<15)⊕(X<<<23)迭代压缩是利用压缩函数生成256bit杂凑值,压缩函数Vi+1=CF(V(i),B(i))(0in-1)的计算过程描述如下:ABCDEFGH<-ViFORj=0To63SS1<-((A<<<12)+E+(Tj<<<j))<<<7SS2<-SS1⊕(A<<<12)TT1<-FFj(A,B,C)+D+SS2+Wj'TT2<-GGj(E,F,G)+H+SS1+WjD<-CC<-B<<<9B<<<AA<<<TT1H<<<GG<-F<<<19F<<<EE<-P0(TT2)ENDFORVi+1=ABCDEFGH⊕Vi在压缩函数中,FFj(X,Y,Z)={X^Y^Z0≤j≤15;(X&Y)|(X&Z)|(Y&Z)16≤j≤63}和GGj(X,Y,Z)={X^Y^Z0≤j≤15;(X&Y)|(~X&Z)16≤j≤63},P0(X)=X^(X<<<9)^(X<<<17)为置换函数,Tj={79cc45190≤j≤15;7a879d8a16≤j≤63}。目前,尚未有选择SM3密码算法消息扩展Wj作为攻击点,选择消息扩展中置换函数的输出作为攻击的目标,针对SM3密码算法的侧信道分析攻击。
技术实现思路
本专利技术的目的是提供针对SM3密码算法消息扩展的侧信道分析攻击方法,解决置换函数P1(X)的扩散混淆作用导致直接对SM3密码算法进行侧信道分析攻击破解密钥,存在密钥搜索空间大和攻击时间长的问题。本专利技术首先侧信道分析攻击出消息扩展运算中置换函数的运算结果后,将所有的攻击结果联立方程组,根据置换函数的逆置换函数,对方程组求解,即可破解出动态令牌中的密钥。从而不仅实现了针对SM3密码算法的侧信道分析攻击,而且降低了密钥的搜索空间和减少了侧信道分析攻击样本数,增强了攻击效率、灵活性、有效性和成功率。为解决上述技术问题,本专利技术提供针对SM3密码算法消息扩展的侧信道分析攻击方法,具体包括以下步骤:S1:选择消息扩展运算的结果为攻击中间变量,选择消息扩展运算中置换函数的输出作为攻击的目标,进行侧信道分析攻击;S2:将攻击结果联立方程组,根据逆置换函数求解方程组,即可破解最终密钥。进一步,S1具体包括以下步骤:S11:初始化i=16;S12:选择SM3进行扩展运算Wi作为攻击的中间变量;S13:根据SM3密码算法消息,进行侧信道分析攻击,如果i=16,选择K1=P1(W0)⊕(W3<<<7)作为攻击目标,如果i=17,选择K2=P1(W1)作为攻击目标,如果i=18,选择K3=P1(W2)作为攻击目标,如果i=19,选择K4=P1(W3)⊕P1(K1<<<15)作为攻击目标,所述侧信道分析攻击方法采用相关性攻击方法或差分攻击方法;S14:使i自增1,返回步骤S12继续进行攻击,直到最终攻击出K1、K2、K3、K4。进一步,S2具体包括以下步骤:S21:将K1、K2、K3、K4联立构建关于W0、W1、W2、W3的方程组;S22:根据逆置换函数X=Y⊕(Y<<<5)⊕(Y<<<13)⊕(Y<<<14)⊕(Y<&l本文档来自技高网
...
一种针对SM3密码算法消息扩展的侧信道分析攻击的方法

【技术保护点】
针对SM3密码算法消息扩展的侧信道分析攻击方法,其特征在于,所述方法包括以下步骤:S1:选择消息扩展运算的结果为攻击中间变量,选择消息扩展运算中置换函数的输出作为攻击的目标,进行侧信道分析攻击;S2:将攻击结果联立方程组,根据逆置换函数求解方程组,即可破解最终密钥。

【技术特征摘要】
1.针对SM3密码算法消息扩展的侧信道分析攻击方法,其特征在于,所述方法包括以下步骤:S1:选择消息扩展运算的结果为攻击中间变量,选择消息扩展运算中置换函数的输出作为攻击的目标,进行侧信道分析攻击;S2:将攻击结果联立方程组,根据逆置换函数求解方程组,即可破解最终密钥。2.根据权利要求1所述的针对SM3密码算法消息扩展的侧信道分析攻击方法,其特征在于,所述S1具体包括以下步骤:S11:初始化i=16;S12:选择SM3进行扩展运算Wi作为攻击的中间变量;S13:根据SM3密码算法消息,进行侧信道分析攻击,如果i=16,选择K1=P1(W0)⊕(W3<<<7)作为攻击目标,如果i=17,选择K2=P1(W1)作为攻击目标,如果i=18,选择K3=P1(W2)作为攻击目标,如果i=19,选择K4=P1(W3)⊕P1(K1<...

【专利技术属性】
技术研发人员:杜之波张雪莲吴震王敏向春玲
申请(专利权)人:成都信息工程大学成都芯安尤里卡信息科技有限公司
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1