一种白盒SM4算法的防护方法及装置制造方法及图纸

技术编号:38436504 阅读:9 留言:0更新日期:2023-08-11 14:21
针对现有SM4白盒可能会受到高级攻击,安全性存在技术隐患的问题,本发明专利技术提供了一种白盒SM4算法的防护方法及装置,在隐藏密钥的查找表中,引入了随机掩码,同时结合了非线性编码,降低了密钥与加密过程中查表结果之间的相关性,增加了查表结果输出的不确定性,可以有效抵抗侧信道攻击,解决现有技术安全性不够的问题。问题。问题。

【技术实现步骤摘要】
一种白盒SM4算法的防护方法及装置


[0001]本专利技术涉及信息安全领域,具体涉及一种白盒SM4算法的防护方法及装置。

技术介绍

[0002]在密码学中,我们总是假设密码算法的运行环境(终端)是安全的,只要保护好密钥就足够了。但是近几年随着数字化信息的广泛应用,很多时候密码运行在一个不安全的环境中,攻击者对设备终端拥有完全的控制能力。Chow等在2002年提出了白盒攻击(White

BoxAttack)的概念,攻击者对加密系统的运行环境和可执行程序拥有完全控制的能力,可以观察和修改任意的内部操作和数据,包括设备的CPU、寄存器、内存数据等等,这样攻击者很容易就可以获得密钥信息。
[0003]白盒密码(white

box cryptography,WBC)实现是指能够抵抗白盒攻击的密码技术,通过密钥与算法融合和混淆,使得密钥与加密程序不可区分,即使攻击者掌握了对白盒密码系统的控制能力,也无法进一步获取原始的密钥信息。SM4密码算法是我国商用密码管理办公室公布的商用分组密码标准,广泛地应用于无线局域网产品的保护。SM4算法是分组密码算法,算法的分组长度为128比特,密钥长度为128比特,加密算法与密钥扩展算法都采用32轮非线性迭代结构,解密过程与加密过程结构相同,只是轮密钥的使用顺序相反,解密算法的轮密钥是加密算法的轮密钥的逆序。
[0004]现有的SM4白盒实现在设计时更多考虑的是理论分析的安全性,对于白盒环境中的侧信道攻击防护往往采用非线性混淆的方式,对查找表的输出进行混淆,以隐藏嵌入查找表的密钥与加密过程中查表结果之间的相关性
[0005]现有技术,虽然通过非线性混淆的方式提升了安全性,但实际上隐藏嵌入查找表的密钥与加密过程中查表结果之间仍然存在着一定的相关性,仍然可能会受到高级攻击。

技术实现思路

[0006]本专利技术的目的在于克服上述现有技术的不足,提供一种白盒SM4算法的防护方法及装置,以通过在查表过程中引入随机性,增加了查表结果的熵,可以有效抵抗侧信道攻击,解决现有技术安全性不够的问题。
[0007]为实现上述目的,本专利技术的技术方案是:
[0008]第一方面,本专利技术提供一种白盒SM4算法的防护方法,在隐藏密钥的查找表中,引入了随机掩码,同时结合非线性编码。
[0009]进一步地,假设X
i
,X
i+1
,X
i+2
,X
i+3
,i=0,

,31分别表示第i轮四个32比特的输入,X
i+4
表示该轮32比特的输出;
[0010]则,所述在隐藏密钥的查找表中,引入了随机掩码,同时结合非线性编码包括:
[0011]计算
[0012]计算rk
i
表示第i轮的轮密钥,SM表示这里的S盒输出是带掩码的;
[0013]计算X
i+4

其中,RO
i
为本轮运算结束时所添加的编码;
[0014]为上一轮次变换中所添加的编码,L为SM4算法L变换,为非线性输出编码N
i
的逆变换,N
i
(m)为m掩码经过N
i
编码后的值,合并为复合编码,合并为复合编码,合并为复合查表LL
i

[0015]进一步地,在计算时,每一次计算之前需要抵消上一轮次变换中所添加的编码并在本运算结束时添加输出编码SI
i
,计算过程为分别计算SI
i
。然后将j分别取1,2,3时对应的这三部分异或。
[0016]进一步地,所述合并为复合编码TI
i

[0017]进一步地,所述SM表示这里的S盒输出是带掩码的,具体计算方法为其中N
i
为非线性输出编码。
[0018]进一步地,所述合并为复合查表SS
i

[0019]进一步地,所述复合查表SS表还有另外一个输出N
i
(m),m是S盒的输出掩码。
[0020]第二方面,本专利技术提供一种白盒SM4算法的防护装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上任一所述方法的步骤。
[0021]第三方面,本专利技术提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上任一所述方法的步骤。
[0022]本专利技术与现有技术相比,其有益效果在于:
[0023]本专利技术在隐藏密钥的查找表中,引入了随机掩码,同时结合了非线性编码,降低了密钥与加密过程中查表结果之间的相关性,增加了查表结果输出的不确定性,可以有效抵抗侧信道攻击,在抵消掩码时,去掩操作与输出编码相结合,有效保护了轮中间运算结果,解决现有技术安全性不够的问题。
附图说明
[0024]图1为本专利技术实施例1提供的一种白盒SM4算法的防护方法过程原理图;
[0025]图2为本专利技术实施例2提供的一种白盒SM4算法的防护装置的组成示意。
具体实施方式
[0026]下面结合附图和实施例对本专利技术的技术方案做进一步的说明。
[0027]实施例1:
[0028]本实施例提供的白盒SM4算法的防护方法在隐藏密钥的查找表中,引入了随机掩码,同时结合了非线性编码,降低了密钥与加密过程中查表结果之间的相关性,增加了查表结果输出的不确定性,可以有效抵抗侧信道攻击,解决现有技术安全性不够的问题。
[0029]具体地,参阅图1所示,本实施例提供的白盒SM4算法的防护方法具体包括如下步骤:
[0030]计算在此步骤中,为保证计算的正确性,每一次计算之前需
要抵消上一轮次变换中所添加的编码并在本运算结束时添加输出编码SI
i
,计算过程为分别计算然后将j分别取1,2,3时对应的这三部分异或。进一步合并为复合编码TI
i
,以增强实现的安全性。
[0031]计算rk
i
表示第i轮的轮密钥,SM表示这里的S盒输出是带掩码的,也就是说SM的输出带随机掩码,即引入了随机掩码。的具体计算方法为的具体计算方法为其中N
i
为非线性输出编码。进一步合并为复合查表SS
i
,即引入了随机掩码,同时结合了非线性编码,降低了密钥与加密过程中查表结果之间的相关性,增加了查表结果输出的不确定性,可以有效抵抗侧信道攻击,增强实现安全性。由于引入了随机掩码,为了保证最终运算结果的正确性,引入的掩码最终是要消掉的,因此需要知道带的输出掩码是多少,故,除了Y之外,SS
i
表还有另外一个输出N
i
(m),m是S盒的输出掩码。
[0032]计算X
i+4
。。
[0033]其中,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种白盒SM4算法的防护方法,其特征在于,在隐藏密钥的查找表中,引入了随机掩码,同时结合非线性编码。2.如权利要求1所述的白盒SM4算法的防护方法,其特征在于,假设X
i
,X
i+1
,X
i+2
,X
i+3
,i=0,...,31分别表示第i轮四个32比特的输入,X
i+4
表示该轮32比特的输出;则,所述在隐藏密钥的查找表中,引入了随机掩码,同时结合非线性编码包括:计算计算rk
i
表示第i轮的轮密钥,SM表示这里的S盒输出是带掩码的;计算X
i+4
;;其中,RO
i
为本轮运算结束时所添加的编码;为上一轮次变换中所添加的编码,L为SM4算法L变换,为非线性输出编码N
i
的逆变换,N
i
(m)为m掩码经过N
i
编码后的值,合并为复合编码,合并为复合编码,合并为复合查表LL
i
。3.如权利要求2所述的白盒SM4算法的防护方法,其特征在于,在计算3.如权利要求2所述的白盒SM4算法的防...

【专利技术属性】
技术研发人员:李果崔超李嘉添尹家悦
申请(专利权)人:广州南网科研技术有限责任公司
类型:发明
国别省市:

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

1