[发明专利]基于SM3算法的密码模块的防攻击方法及装置有效
申请号: | 201510337230.1 | 申请日: | 2015-06-17 |
公开(公告)号: | CN106330424B | 公开(公告)日: | 2019-11-05 |
发明(设计)人: | 郭丽敏;王立辉;张志敏;李大为;罗鹏;莫凡 | 申请(专利权)人: | 上海复旦微电子集团股份有限公司;国家密码管理局商用密码检测中心 |
主分类号: | H04L9/00 | 分类号: | H04L9/00;H04L29/06 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 张凤伟;吴敏 |
地址: | 200433 上海市杨浦区*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供了一种基于SM3算法的密码模块的防攻击方法及装置。所述方法包括:在所述密码模块调用SM3算法的压缩函数对消息m′的第i个消息分组B(i)进行迭代运算以前,获取随机数r0,0,r0,1,r0,2,r0,3,r0,4,r0,5,r0,6,r0,7;将所获取到的随机数分别与对应的所述第一寄存器的值进行第一运算,并将第一运算后的结果作为第1轮迭代运算中所述寄存器的起始值;当所述密码模块调用SM3算法的压缩函数对所述消息分组B(i)进行迭代运算时,将所述压缩函数中的所有运算的输入进行掩码转换,并计算前M轮迭代运算的每一轮迭代运算中各个第一寄存器的值及对应的掩码。应用所述方法可以提高所述密码模块的安全性。 | ||
搜索关键词: | 基于 sm3 算法 密码 模块 攻击 方法 装置 | ||
【主权项】:
1.一种基于SM3算法的密码模块的防攻击方法,其特征在于,所述密码模块包括第一寄存器A,B,C,D,E,F,G,H,所述密码模块对接收到的消息m进行扩展后得到消息m′,且消息m′=B(0)B(1)...B(i)...B(n‑1),B(i)为消息m′的第i个消息分组,i和n为整数,0≤i≤n‑1;所述方法包括:在所述密码模块调用SM3算法的压缩函数对消息m′的第i个消息分组B(i)进行迭代运算以前,获取分别与所述第一寄存器A,B,C,D,E,F,G,H对应的随机数r0,0,r0,1,r0,2,r0,3,r0,4,r0,5,r0,6,r0,7并分别存储在第二寄存器中;将所获取到的随机数分别与对应的所述第一寄存器的值进行第一运算,并将第一运算后的结果作为第1轮迭代运算中所述寄存器的起始值A′0,B′0,C′0,D′0,E′0,F′0,G′0,H′0;当所述密码模块调用SM3算法的压缩函数对所述消息分组B(i)进行迭代运算时,将所述压缩函数中的所有运算的输入进行掩码转换,并计算前M轮迭代运算的每一轮迭代运算中各个第一寄存器的值及对应的掩码;将第M轮迭代运算获得的各个第一寄存器的值分别与对应的掩码进行第一运算,并将第一运算后的结果作为第M+1轮迭代运算中各个寄存器的起始值,其中1≤M≤64;其中,所述计算前M轮迭代运算的每一轮迭代运算中各个第一寄存器的值及对应的掩码,包括:根据所述第一寄存器的起始值及对应的掩码调用SM3算法,可以获得本轮第一寄存器的值及对应的掩码;将本轮第一寄存器的值及对应的掩码,分别作为下一轮迭代运算中各个第一寄存器的起始值及对应的掩码。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海复旦微电子集团股份有限公司;国家密码管理局商用密码检测中心,未经上海复旦微电子集团股份有限公司;国家密码管理局商用密码检测中心许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201510337230.1/,转载请声明来源钻瓜专利网。
- 上一篇:一种解决干扰的方法及用户设备
- 下一篇:基于一维移位相乘混沌序列的产生方法