抵抗白盒攻击的SM2解码方法技术

技术编号:38048699 阅读:12 留言:0更新日期:2023-06-30 11:14
本发明专利技术公开了一种抵抗白盒攻击的SM2解码方法,本发明专利技术的主要设计构思在于,先将密钥中的私钥编码为解密查找表并进行替换,在对密文解密时使用生产的该查找表进行解密计算,而将私钥编码成查找表的安全性依赖于强(M,Z)space困难问题,从而能够有效抵抗白盒攻击,大幅提升用户解密密钥的安全性,并可以便捷地应用在任何解密终端装置上予以实现。用在任何解密终端装置上予以实现。用在任何解密终端装置上予以实现。

【技术实现步骤摘要】
抵抗白盒攻击的SM2解码方法


[0001]本专利技术涉及信息安全
,尤其涉及一种抵抗白盒攻击的SM2解码方法。

技术介绍

[0002]随着网络技术的发展,出现了越来越多的智能终端,同时也涌现出了大量的新业务,例如移动支付、移动办公等。这些新业务通常在智能终端上进行操作,为了保护业务隐私的安全,通过使用移动终端软件来进行保护。然而,移动终端软件将加密密钥直接存放在终端内存中,容易受到攻击,非常不安全。
[0003]白盒密码技术当前主要以分组密码算法为主,一般以仿射变换+查找表的方式最为常见。而公钥密码算法的白盒技术,一般还是借鉴传统的分组密码算法的仿射查找表思想来实现,这种方式计算效率较差,同时也缺乏安全性证明,并不适合真实的解密场景。

技术实现思路

[0004]鉴于上述,本专利技术旨在提供一种抵抗白盒攻击的SM2解码方法,以解决在不受信任的终端上实现安全解密,确保无法在白盒攻击环境下窃取用户的解密私钥。
[0005]本专利技术采用的技术方案如下:
[0006]本专利技术提供了一种抵抗白盒攻击的SM2解码方法,其中包括:
[0007]步骤S1、预先生成国密SM2算法的密钥对,其中包括私钥;
[0008]步骤S2、将所述私钥替换为矩阵形式的解密查找表;
[0009]步骤S3、在接收到密文后,提取所述密文中预设的第一变量进行验证;
[0010]步骤S4、验证通过后,基于所述解密查找表以及所述第一变量进行计算,得到计算结果;
[0011]步骤S5、根据所述密文中预设的第二变量与所述计算结果,解密得到明文;
[0012]步骤S6、结合所述计算结果以及所述明文,与所述密文中预设的第三变量进行验证;
[0013]步骤S7、验证通过后,输出所述明文作为最终的解密结果。
[0014]在其中至少一种可能的实现方式中,所述步骤S2包括:
[0015]基于shamir秘密分享机制构造拉格朗日插值多项式;
[0016]利用所述拉格朗日插值多项式,将所述私钥表征为多项式形式的解密私钥;
[0017]结合所述解密私钥生成矩阵大小为n
×
(n+1)的解密查找表,并删除原始的所述私钥。
[0018]在其中至少一种可能的实现方式中,所述提取所述密文中预设的第一变量进行验证包括:验证所述第一变量是否在国密SM2算法的曲线上。
[0019]在其中至少一种可能的实现方式中,所述提取所述密文中预设的第一变量进行验证还包括:验证所述第一变量是否合法。
[0020]在其中至少一种可能的实现方式中,所述基于所述解密查找表以及所述第一变量
进行计算包括:利用所述解密查找表与所述第一变量进行相乘计算。
[0021]在其中至少一种可能的实现方式中,所述根据所述密文中预设的第二变量与所述计算结果,解密得到明文包括:
[0022]将所述计算结果输入至预设函数,计算出中间变量;
[0023]利用所述中间变量与第二变量进行解密计算,得到所述明文。
[0024]在其中至少一种可能的实现方式中,所述结合所述计算结果以及所述明文,与所述密文中预设的第三变量进行验证包括:
[0025]将所述计算结果以及所述明文输入至Hash函数获得哈希值;
[0026]比对所述哈希值与所述第三变量,若二者一致则表示解密验证通过。
[0027]本专利技术的主要设计构思在于,先将密钥中的私钥编码为解密查找表并进行替换,在对密文解密时使用生产的该查找表进行解密计算,可以有效抵抗白盒攻击,而将私钥编码成查找表的安全性依赖于强(M,Z)space困难问题,从而能够有效抵抗白盒攻击,大幅提升用户解密密钥的安全性,并可以便捷地应用在任何解密终端装置上予以实现。
附图说明
[0028]为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术作进一步描述,其中:
[0029]图1为本专利技术实施例提供的抵抗白盒攻击的SM2解码方法的流程图。
具体实施方式
[0030]下面详细描述本专利技术的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本专利技术,而不能解释为对本专利技术的限制。
[0031]本专利技术提出了一种抵抗白盒攻击的SM2解码方法的实施例,具体来说,如图1所示,其中包括:
[0032]步骤S1、生成国密SM2加密算法的密钥对,其中包括私钥以及公钥;
[0033]具体地,这里涉及的私钥是指若干随机数,且d∈(0,n),然后可以根据私钥得到公钥pk=dG,此为成熟技术,对此不作赘述。
[0034]步骤S2、将所述私钥替换为矩阵形式的解密查找表;
[0035]步骤S3、在接收到密文后,提取所述密文中预设的第一变量进行验证;
[0036]步骤S4、验证通过后,基于所述解密查找表以及所述第一变量进行计算,得到计算结果;
[0037]步骤S5、根据所述密文中预设的第二变量与所述计算结果,解密得到明文;
[0038]步骤S6、结合所述计算结果以及所述明文,与所述密文中预设的第三变量进行验证;
[0039]步骤S7、验证通过后,则输出所述明文作为最终的解密结果。
[0040]具体来说,对于步骤S2可以包括如下步骤:
[0041]首先,基于shamir秘密分享机制构造拉格朗日插值多项式;
[0042]然后,利用所述拉格朗日插值多项式,将所述私钥表征为多项式形式的解密私钥;
[0043]最后,结合所述解密私钥生成矩阵大小为n
×
(n+1)的解密查找表,并删除原始的所述私钥。
[0044]这里提供如下具体实现过程:首先,基于shamir秘密分享机制(t,m)(其中t<m)构造拉格朗日插值多项式f(x):
[0045][0046]其中,该多项式次数为t

1,而在本专利技术的一些优选实施例中选择t=m

1,m可选20~100之间整数。
[0047]然后,基于上述拉格朗日插值多项式将私钥d表示为:
[0048][0049]最后,生成解密查找表T的过程可以参考如下:令i=0执行到n,j=0执行到n,生成t次多项式fi(x);解密查找表T中的元素a
i,j
=f
i
(j),i,j∈(0,n),生成t次多项式g(x),令私钥d=g(0),生成t次多项式h(x),令0=h(0);令x
i
=g(i),b
i
=h(i),将x
i
+b
i
,i∈(0,n)作为所述解密查找表T的第n+1列元素,在一些实施例中,查找表的规模为32n(n+1)字节。最后,删除私钥d,输出解密查找表T作为变更后的私钥。(此过程与公钥PK无关)
[0050]本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种抵抗白盒攻击的SM2解码方法,其特征在于,包括:步骤S1、预先生成国密SM2算法的密钥对,其中包括私钥;步骤S2、将所述私钥替换为矩阵形式的解密查找表;步骤S3、在接收到密文后,提取所述密文中预设的第一变量进行验证;步骤S4、验证通过后,基于所述解密查找表以及所述第一变量进行计算,得到计算结果;步骤S5、根据所述密文中预设的第二变量与所述计算结果,解密得到明文;步骤S6、结合所述计算结果以及所述明文,与所述密文中预设的第三变量进行验证;步骤S7、验证通过后,输出所述明文作为最终的解密结果。2.根据权利要求1所述的抵抗白盒攻击的SM2解码方法,其特征在于,所述步骤S2包括:基于shamir秘密分享机制构造拉格朗日插值多项式;利用所述拉格朗日插值多项式,将所述私钥表征为多项式形式的解密私钥;结合所述解密私钥生成矩阵大小为n
×
(n+1)的解密查找表,并删除原始的所述私钥。3.根据权利要求1所述的抵抗白盒攻击的SM2解码方法,其特征在于,所述提取所述密文中预设的...

【专利技术属性】
技术研发人员:杨传真陶刚李淳唐峻杨绍平甘志雄余洋罗晖杨帆李欣明赵桂艳刘海恩
申请(专利权)人:云南中烟工业有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1