[发明专利]一种可抵御能量分析攻击的SM4方法有效

专利信息
申请号: 201410704525.3 申请日: 2014-11-26
公开(公告)号: CN104333447B 公开(公告)日: 2017-10-10
发明(设计)人: 周玉洁;朱念好 申请(专利权)人: 上海爱信诺航芯电子科技有限公司
主分类号: H04L9/06 分类号: H04L9/06
代理公司: 上海信好专利代理事务所(普通合伙)31249 代理人: 张妍,徐雯琼
地址: 200241 上海*** 国省代码: 上海;31
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 抵御 能量 分析 攻击 sm4 方法
【权利要求书】:

1.一种可抵御能量分析攻击的SM4方法,其特征在于,该方法采用一阶掩码密钥扩展引擎对输入的密钥执行密钥扩展运算,输出轮密钥给二阶掩码加解密引擎,二阶掩码加解密引擎对输入的明文和轮密钥执行32轮循环迭代运算后,输出密文,或者二阶掩码加解密引擎对输入的密文和轮密钥执行32轮循环迭代运算后,输出明文;

一阶掩码密钥扩展引擎和二阶掩码加解密引擎同时工作,一阶掩码密钥扩展引擎每一轮生成一个轮密钥,输出给二阶掩码加解密引擎执行加解密运算;

所述的一阶掩码密钥扩展引擎对输入的密钥执行密钥扩展运算中,32轮循环迭代过程中使用了4个补偿变换,一阶掩码密钥扩展引擎的4个补偿变换C0、C1、C2、C3定义为:

C0((k1ir1),r0,r1)=(k1ir1)r0r1C1((k2ir2),r1,r2)=(k2ir2)r1r2C2((k3ir3),r2,r3)=(k3ir3)r2r3C3(x,r3,r1)=xr3L(S(r1r2r3))r1;]]>

其中,表示按比特异或,128比特的随机数从左到右按字划分成4个部分,记为r0、r1、r2、r3,在32轮循环迭代中,随机数一直保持不变,设第i轮循环迭代的输入值在没有掩码的情况下记为k0i、k1i、k2i、k3i,i=1~32,每一轮补偿变换后的值存储在四个32比特的寄存器Reg0、Reg1、Reg2、Reg3中;

将寄存器Reg1、寄存器Reg2、寄存器Reg3中的值与CKi做异或操作,作为一阶掩码型S盒MS变换的输入:

(k1ir1)(k2ir2)(k3ir3)CKi;]]>

其中,CKi的值采用SM4算法文本中的标准值;

MS变换的构造采用公式表示如下:

MS((k1ir1)(k2ir2)(k3ir3)CKi))S(k1ik2ik3iCKi)S(r1r2r3);]]>

将MS变换的结果作为L′变换的输入:

L(S(k1ik2ik3iCKi)S(r1r2r3));]]>

L′变换是SM4算法文本中规定的线性变换,L′变换的构造采用公式表示如下:

L(S(k1ik2ik3iCKi)S(r1r2r3))=L(S(k1ik2ik3iCKIi)L(S(r1r2r3));]]>

将寄存器Reg0的值与L′变换的结果做异或操作,作为补偿变换C3的输入:

x=L(S(k1ik2ik3iCKii))L(S(r1r2r3))(k0ir1);]]>

所述的二阶掩码加解密引擎对输入的明文或密文和轮密钥执行32轮循环迭代运算中,32轮循环迭代过程中使用了4个补偿变换,二阶掩码加解密引擎的4个补偿变换C0、C1、C2、C3定义为:

C0((a1ir1i),r0i+1,r1i)=(a1ir1i)r0i+1r1i;]]>

C1((a2ir2i),r1i+1,r2i)=(a2ir2i)r1i+1r2i;]]>

C2((a3ir3i),r2i+1,r3i)=(a3ir3i)r2i+1r3i;]]>

C3(x,r3i+1,r1i)=xr3i+1L(S(r3i+1))r1i;]]> 1

其中,设第i轮循环迭代的初始值在没有掩码的情况下记为ai,从左到右分成4个字,依次记为a0i、a1i、a2i、a3i,第i轮对应的随机数为ri,从左到右分成4个字,依次记为r0i、r1i、r2i、r3i,i=1~32,32轮循环迭代过程均使用不同的随机数,即每轮的随机数都会更新,每一轮补偿变换后的值存储在四个32比特的寄存器Reg0、Reg1、Reg2、Reg3中;

将寄存器Reg1、寄存器Reg2、寄存器Reg3中的值与轮密钥rki做异或操作,作为二阶掩码型S盒MS变换的输入:

ms_in=(a1ir1i)(a2ir2i)(a3ir3i)rki;]]>

rki为第i轮的轮密钥;

MS变换的构造采用公式表示如下:

MS((a1ir1i)(a2ir2i)(a3ir3i)rki))=S(a1ia2ia3irki)S(r3i+1);]]>

将MS变换的结果作为L变换的输入:

L(S(a1ia2ia3irki)S(r3i+1));]]>

L变换为SM4算法文本中规定的线性变换,L变换的构造采用公式表示如下:

L(S(a1ia2ia3irki)S(r3i+1))=L(S(a1ia2ia3irki))L(S(r3i+1));]]>

将寄存器Reg0的值与L变换的结果做异或操作,作为补偿变换C3的输入:

x=L(S(a1ia2ia3irki))L(S(r3i+1))(a0ir1i).]]>

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海爱信诺航芯电子科技有限公司,未经上海爱信诺航芯电子科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201410704525.3/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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