发明名称 一种针对SM4密码算法轮输入汉明重量的模板攻击方法
摘要 本发明公开了一种针对SM4密码算法模板攻击的方法。该方法以SM4算法轮输入作为攻击点,选择汉明重量建立模板,以较少的模板数量就能实现完整的SM4模板攻击;同时在模板匹配阶段以选择性的明文输入作为基础,利用支持向量机作为判别分析的工具,只需要两次匹配就可以破解出子密钥的一个比特。该方法有效解决了现阶段其他方法针对模板攻击模板数据过多、计算量过大的问题。
申请公布号 CN104717055A 申请公布日期 2015.06.17
申请号 CN201510134735.8 申请日期 2015.03.25
申请人 成都信息工程学院;成都芯安尤里卡信息科技有限公司;国家密码管理局商用密码检测中心;北京南瑞智芯微电子科技有限公司 发明人 王敏;吴震;饶金涛;李大为;罗鹏;赵东艳;张海峰;唐晓柯;胡晓波;甘杰;刘辉志
分类号 H04L9/06(2006.01)I 主分类号 H04L9/06(2006.01)I
代理机构 代理人
主权项 针对SM4密码算法基于汉明重量的模板攻击的方法,以SM4算法的轮输入作为模板攻击的目标,其特征在于,所述方法包括以下步骤:S1:建立模板阶段,选择性的输入明文或者密文X<sub>0</sub>、X<sub>1</sub>、X<sub>2</sub>和X<sub>3</sub>与随机的已知密钥,建立轮输入M=(X<sub>i+1</sub>⊕X<sub>i+2</sub>⊕X<sub>i+3</sub>⊕rk<sub>i</sub>)(i=0,1,2,3)为运算中间值的汉明重量的模板,每轮轮输入运算建立33个模板;S2:模板匹配阶段,分别将每轮的33个模板建立对应的33个支持向量机分类器,针对每一个模板建立分类器时,当前模板为正类,其余的模板为负类;通过选择性明文或密文的输入,建立未知密钥的模板T;更新当前轮X=(X<sub>i+1</sub>⊕X<sub>i+2</sub>⊕X<sub>i+3</sub>⊕rk<sub>i</sub>),(i=0,1,2,3)结果的第<img file="dest_path_image001.GIF" wi="108" he="31" />比特,建立新的未知模板T’,利用分类器分别对模板<img file="450536dest_path_image002.GIF" wi="13" he="22" />和<img file="dest_path_image003.GIF" wi="17" he="24" />进行匹配,得出其对应的汉明重量分别为W和W’,比较W和W’的大小,即可得出当前轮密钥的第j比特,重复上面的过程,直到恢复出前4轮的字密钥;S3:在S2的基础上得出前四轮的字密钥,运用SM4密钥扩展算法推出未知的SM4的密钥。
地址 610225 四川省成都市西南航空港经济开发区学府路一段24号