[发明专利]一种对SM3密码算法HMAC模式的侧信道能量分析方法有效

专利信息
申请号: 201310310011.5 申请日: 2013-07-23
公开(公告)号: CN103457719A 公开(公告)日: 2013-12-18
发明(设计)人: 罗鹏;曹伟琼;李大为 申请(专利权)人: 国家密码管理局商用密码检测中心
主分类号: H04L9/06 分类号: H04L9/06;H04L29/06
代理公司: 北京东正专利代理事务所(普通合伙) 11312 代理人: 刘瑜冬
地址: 100036*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要: 一种对SM3密码算法HMAC模式的侧信道能量分析方法,该方法分析了SM3密码算法及其HMAC模式的实现特征,基于DPA和CPA的攻击方法,结合SM3密码算法HMAC模式的特征及能量消耗泄漏点,成功地破解SM3密码算法HMAC模式,可任意伪造输出摘要。技术方案要点是:一、采集HMAC的能量迹;二、分析得到Kin,Kin为第1次杂凑运算中的中间状态值,三、分析获得Kout,Kout为第2次杂凑运算中的中间状态值,其中三中的方法与二中方法一致。本发明的技术方案为SM3密码算法的侧信道分析实施提供了解决方案。
搜索关键词: 一种 sm3 密码 算法 hmac 模式 信道 能量 分析 方法
【主权项】:
一种对SM3密码算法HMAC模式的侧信道能量分析方法,其特征在于:所述方法包括以下步骤:步骤一、采集HMAC的能量迹基于DPA及CPA分析方法,根据需求采集N组不同明文消息输入的SM3算法HMAC运算的能量迹,并分析SM3杂凑算法的HMAC模式特征,HMAC(K,m)=H((K⊕opad)‖H((K⊕ipad)‖m))  式(1)式(1)中:H代表一个杂凑算法函数;K为鉴别密钥;m代表一个不定长的消息输入;在HMAC处理过程中,定义K⊕ipad,m1,m2,…,mn,K⊕opad为输入的消息分组,分别为M(0)M(1)…M(n‑1),K⊕ipad、K⊕opad分别为第1、2次杂凑运算的第1组输入消息分组,是固定未知,经过压缩运算后仍得到固定未知值Kin=f(K⊕ipad,IV)、Kout=f(K⊕opad,IV),Kin,h1,h2,…,hn‑1,hn,Kout为每次杂凑运算的中间状态;第2组输入消息分组m1为已知可变,SM3算法的压缩函数V(i+1)=CF(V(i),M(i))(0≤i≤n‑1)的计算过程如下:A0B0C0D0E0F0G0H0←V(i)   式(5)for j=1 to 641.SS1j←((Aj‑1<<<12)+Ej‑1+(Tj‑1<<<(j‑1))<<<72.SS2j←SS1j⊕(Aj‑1<<<12)3.TT1j←FFj‑1(Aj‑1,Bj‑1,Cj‑1)+Dj‑1+SS2j+Wj‑1′4.TT2j←GGj‑1(Ej‑1,Fj‑1,Gj‑1)+Hj‑1+SS1j+Wj‑15.Dj←Cj‑16.Cj←Bj‑1<<<97.Bj←Aj‑18.Aj←TT1j9.Hj←Gj‑110.Gj←Fj‑1<<<1911.Fj←Ej‑112.Ej←P0(TT2j)end    式(6)由于Kin、Kout固定未知,且压缩函数中存在明显能量消耗泄漏,分别选择杂凑运算第2组消息分组m1、H((K⊕ipad)‖m)即hn、在式(6)压缩函数运算中第j=1,2轮迭代中的第1、2、3、4步运算的能量消耗作为分析部分;步骤二、分析得到Kin选择压缩函数CF(.)中的能量消耗泄漏点,不断改变第2组消息分组m1的输入值,一层层地分析出Kin,见式(6);由式(6)压缩函数可知,当对第2组输入消息分组输入m1进行压缩运算时,Kin为压缩函数CF(.)的初始状态(A0,B0,C0,D0,F0,G0,H0),是固定值,若想得到完整的Kin,必须分别分析获得(A0,B0,C0,D0,F0,G0,H0)各自的值,根据式(6)的压缩步骤,分析如下:当j=1时,由Kin固定可知SS11=((A0<<<12)+E0+T0)<<<7、SS21=SS11⊕(A0<<<12)均为固定值;步骤二一、分析得到TT11、X(j=1)对于式(6)中的第3步,由SM3算法的消息扩展中的式(4)可知,for j=0 to 63Wj′=Wj⊕Wj+4  式(4)endW′j‑1为已知变量,其余均未知;设TT11=FF0(A0,B0,C0)+D0+SS21+W0′中的FF0(A0,B0,C0)+D0+SS21为X,易知X值固定,W0′根据攻击者的输入改变,且TT11存在能量消耗泄漏,满足DPA/CPA分析条件,改变输入W0′,采集能量迹,使用DPA/CPA分析得到X,并推出TT11;步骤二二、分析得到TT21、Y(j=1)同理,对于式(6)中的第4步,Wj‑1为已知可变输入,其余均未知;设TT21=GG0(E0,F0,C0)+H0+SS11+W0中的GG0(E0,F0,C0)+H0+SS11为Y,易知Y值固定,W0根据攻击者的输入改变,且TT21存在能量消耗泄漏,满足DPA/CPA分析条件,改变输入W0,采集能量迹,使用DPA/CPA分析得到Y,并推出TT21;步骤二三、分析得到A1、E1、A0、E0(j=1)当j=1时,由式(6)中的第8步和第12步,可分别得到A1,E1;由于TT11和TT21为已知变量,A0、E0为固定未知值,且A0和A1、E0和E1的寄存器比特转换时存在能量消耗泄漏,体现在能量迹上,满足DPA/CPA分析,使用汉明距离模型hd(TT11,A0)、hd(P0(TT21),E0),进行DPA/CPA分析可得到A0,E0;其中,hd(x,y)表示为x⊕y中比特为1的个数;当j=2时,由于A1、E1为已知变量,由式(6)中第1步和第2步可知,SS12=((A1<<<12)+E1+(T1<<<1)<<<7,SS22=SS12⊕(A1<<<12)为已知变量;步骤二四、分析得到C1,G1,B0,F0(j=2)分别对式(6)的第3、4步中存在能耗泄漏的函数FF1和GG1进行分析,由上述可知,B1=A0为已知固定值,A1为已知变量,C1=B0>>>9为固定未知,利用DPA/CPA分析对式(6)中的第3步中的函数FF1进行分析,得出C1,推导出FF1,进而可恢复出B0;F1=E0为已知固定值,E1为已知变量, G1=F0<<<19为未知常量,同理对函数GG1进行DPA/CPA分析,恢复出G1,推导出GG1,进而恢复出F0;步骤二五、分析得到D1、H1、C0、G0(j=2)再次分别对存在能耗泄漏的式(6)中的第3、4步进行分析,由上可知,SS12、SS22、W1、W1′、FF1(A1,B1,C1)和GG1(E1,F1,G1)均为已知变量,D1和H1为固定未知值,满足DPA/CPA分析条件,分别使用DPA/CPA分析得到D1和H1,进而由式(6)中的第5步和第9步得到C0和G0;步骤二六、推算得到D0、H0(j=1),从而获得Kin当j=1时,由于等式X=FF0(A0,B0,C0)+D0+SS21和Y=GG0(E0,F0,C0)+H0+SS11中除D0、H0外均为已知值,从而可推算得到D0和H0,从而得到Kin;三、同步骤二中方法分析获得Kout通过改变输入的消息分组m1,可得到不同的hn,则hn为已知可变,Kout为hn进行压缩运算时的初始状态(A0,B0,C0,D0,F0,G0,H0),为未知固定,不断改变第2组消息分组m1的输入值,进而改变hn的值,一层层地分析出Kout,具体的分析步骤与Kin一致;对于Kin和Kout,分别使用了8次DPA/CPA分析,即可恢复出Kin和Kout,从而成功分析出SM3密码算法HMAC模式的敏感信息。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国家密码管理局商用密码检测中心,未经国家密码管理局商用密码检测中心许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201310310011.5/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top