[发明专利]抵抗白盒攻击的SM2解码方法在审
| 申请号: | 202211106232.6 | 申请日: | 2022-09-09 |
| 公开(公告)号: | CN116318642A | 公开(公告)日: | 2023-06-23 |
| 发明(设计)人: | 杨传真;陶刚;李淳;唐峻;杨绍平;甘志雄;余洋;罗晖;杨帆;李欣明;赵桂艳;刘海恩 | 申请(专利权)人: | 云南中烟工业有限责任公司 |
| 主分类号: | H04L9/08 | 分类号: | H04L9/08;G06F21/60;H04L9/30;H04L9/06 |
| 代理公司: | 北京维澳知识产权代理有限公司 11252 | 代理人: | 常小溪 |
| 地址: | 650231 云*** | 国省代码: | 云南;53 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 抵抗 攻击 sm2 解码 方法 | ||
本发明公开了一种抵抗白盒攻击的SM2解码方法,本发明的主要设计构思在于,先将密钥中的私钥编码为解密查找表并进行替换,在对密文解密时使用生产的该查找表进行解密计算,而将私钥编码成查找表的安全性依赖于强(M,Z)space困难问题,从而能够有效抵抗白盒攻击,大幅提升用户解密密钥的安全性,并可以便捷地应用在任何解密终端装置上予以实现。
技术领域
本发明涉及信息安全技术领域,尤其涉及一种抵抗白盒攻击的SM2解码方法。
背景技术
随着网络技术的发展,出现了越来越多的智能终端,同时也涌现出了大量的新业务,例如移动支付、移动办公等。这些新业务通常在智能终端上进行操作,为了保护业务隐私的安全,通过使用移动终端软件来进行保护。然而,移动终端软件将加密密钥直接存放在终端内存中,容易受到攻击,非常不安全。
白盒密码技术当前主要以分组密码算法为主,一般以仿射变换+查找表的方式最为常见。而公钥密码算法的白盒技术,一般还是借鉴传统的分组密码算法的仿射查找表思想来实现,这种方式计算效率较差,同时也缺乏安全性证明,并不适合真实的解密场景。
发明内容
鉴于上述,本发明旨在提供一种抵抗白盒攻击的SM2解码方法,以解决在不受信任的终端上实现安全解密,确保无法在白盒攻击环境下窃取用户的解密私钥。
本发明采用的技术方案如下:
本发明提供了一种抵抗白盒攻击的SM2解码方法,其中包括:
步骤S1、预先生成国密SM2算法的密钥对,其中包括私钥;
步骤S2、将所述私钥替换为矩阵形式的解密查找表;
步骤S3、在接收到密文后,提取所述密文中预设的第一变量进行验证;
步骤S4、验证通过后,基于所述解密查找表以及所述第一变量进行计算,得到计算结果;
步骤S5、根据所述密文中预设的第二变量与所述计算结果,解密得到明文;
步骤S6、结合所述计算结果以及所述明文,与所述密文中预设的第三变量进行验证;
步骤S7、验证通过后,输出所述明文作为最终的解密结果。
在其中至少一种可能的实现方式中,所述步骤S2包括:
基于shamir秘密分享机制构造拉格朗日插值多项式;
利用所述拉格朗日插值多项式,将所述私钥表征为多项式形式的解密私钥;
结合所述解密私钥生成矩阵大小为n×(n+1)的解密查找表,并删除原始的所述私钥。
在其中至少一种可能的实现方式中,所述提取所述密文中预设的第一变量进行验证包括:验证所述第一变量是否在国密SM2算法的曲线上。
在其中至少一种可能的实现方式中,所述提取所述密文中预设的第一变量进行验证还包括:验证所述第一变量是否合法。
在其中至少一种可能的实现方式中,所述基于所述解密查找表以及所述第一变量进行计算包括:利用所述解密查找表与所述第一变量进行相乘计算。
在其中至少一种可能的实现方式中,所述根据所述密文中预设的第二变量与所述计算结果,解密得到明文包括:
将所述计算结果输入至预设函数,计算出中间变量;
利用所述中间变量与第二变量进行解密计算,得到所述明文。
在其中至少一种可能的实现方式中,所述结合所述计算结果以及所述明文,与所述密文中预设的第三变量进行验证包括:
将所述计算结果以及所述明文输入至Hash函数获得哈希值;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于云南中烟工业有限责任公司,未经云南中烟工业有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211106232.6/2.html,转载请声明来源钻瓜专利网。





