SM4算法的一种新型白盒实现
发布时间:2022-02-16 08:29
在白盒攻击环境中,攻击者能够访问密码算法的实现过程,观测密码算法的动态执行,掌握算法的内部细节,并任意修改. Chow等人提出白盒密码的概念,以应对白盒攻击环境,并给出白盒AES实现和白盒DES实现.本文提出一种SM4算法的新型白盒实现方案,对密码算法的内部状态进行扩充并在密码算法运行的过程中加入随机数对密钥进行混淆,使每一轮通过查找表加密后有一半信息是有用的,一半信息是混淆的.整个加密过程使用查找表与仿射变换进行表示,该方案需占用内存空间276.625 KB,查找表对应的白盒多样性与白盒含混度的值分别为2646与286.该方案针对林婷婷等人的分析方法的复杂度为O(251),针对潘文伦等人的分析方法的密钥空间为61 200·232,针对仿射等价算法的时间复杂度为O(297),可以有效抵抗代码提取攻击以及BGE攻击.
【文章来源】:密码学报. 2020,7(03)CSCD
【文章页数】:17 页
【部分图文】:
数字内容传输Figure1Digitalcontenttransmission
姚思等:SM4算法的一种新型白盒实现361线性变换L:非线性变换τ的输出是线性变换L的输入.设输入为B∈Z322,输出为C∈Z322,则C=L(B)=B⊕(B2)⊕(B10)⊕(B18)⊕(B24)SM4算法加密过程:设算法输入明文为(X0,X1,X2,X3),输出密文为(Y0,Y1,Y2,Y3),轮密钥为rki(i=0,1,···,31).则算法的加密变换为:Xi+4=F(Xi,Xi+1,Xi+2,Xi+3,rki)=Xi⊕T(Xi+1⊕Xi+2⊕Xi+3⊕rki),i=0,1,···,31(Y0,Y1,Y2,Y3)=R(X32,X33,X34,X35)=(X35,X34,X33,X32)SM4算法的解密过程与加密过程相同,不同的是轮密钥的使用顺序.加密过程轮密钥使用顺序为:(rk0,rk1,···,rk31).解密过程轮密钥使用顺序为:(rk31,rk30,···,rk0).图2SM4算法的加密过程Figure2EncryptionprocessofSM4algorithm3SM4算法的新型白盒实现本节给出SM4算法的一种新型白盒实现方案,即内部状态扩充的SM4算法的白盒实现方案(简称WSISE算法),并对WSISE算法进行效率分析.3.1初始化阶段SM4算法中的线性变换表示成矩阵形式:L=B1B2B2B3B3B1B2B2B2B3B1B2B2B2B3B1.其中,B1,B2,B3为8比特×8比特矩阵分块(0表示一个比特),定义如下.
计算T(Xi+1⊕Xi+2⊕Xi+3⊕rki)Figure4ComputeT(Xi+1⊕Xi+2⊕Xi+3⊕rki)
【参考文献】:
期刊论文
[1]对两个SM4白盒方案的分析[J]. 潘文伦,秦体红,贾音,张立廷. 密码学报. 2018(06)
[2]对白盒SMS4实现的一种有效攻击[J]. 林婷婷,来学嘉. 软件学报. 2013(09)
博士论文
[1]白盒密码研究[D]. 林婷婷.上海交通大学 2016
本文编号:3627654
【文章来源】:密码学报. 2020,7(03)CSCD
【文章页数】:17 页
【部分图文】:
数字内容传输Figure1Digitalcontenttransmission
姚思等:SM4算法的一种新型白盒实现361线性变换L:非线性变换τ的输出是线性变换L的输入.设输入为B∈Z322,输出为C∈Z322,则C=L(B)=B⊕(B2)⊕(B10)⊕(B18)⊕(B24)SM4算法加密过程:设算法输入明文为(X0,X1,X2,X3),输出密文为(Y0,Y1,Y2,Y3),轮密钥为rki(i=0,1,···,31).则算法的加密变换为:Xi+4=F(Xi,Xi+1,Xi+2,Xi+3,rki)=Xi⊕T(Xi+1⊕Xi+2⊕Xi+3⊕rki),i=0,1,···,31(Y0,Y1,Y2,Y3)=R(X32,X33,X34,X35)=(X35,X34,X33,X32)SM4算法的解密过程与加密过程相同,不同的是轮密钥的使用顺序.加密过程轮密钥使用顺序为:(rk0,rk1,···,rk31).解密过程轮密钥使用顺序为:(rk31,rk30,···,rk0).图2SM4算法的加密过程Figure2EncryptionprocessofSM4algorithm3SM4算法的新型白盒实现本节给出SM4算法的一种新型白盒实现方案,即内部状态扩充的SM4算法的白盒实现方案(简称WSISE算法),并对WSISE算法进行效率分析.3.1初始化阶段SM4算法中的线性变换表示成矩阵形式:L=B1B2B2B3B3B1B2B2B2B3B1B2B2B2B3B1.其中,B1,B2,B3为8比特×8比特矩阵分块(0表示一个比特),定义如下.
计算T(Xi+1⊕Xi+2⊕Xi+3⊕rki)Figure4ComputeT(Xi+1⊕Xi+2⊕Xi+3⊕rki)
【参考文献】:
期刊论文
[1]对两个SM4白盒方案的分析[J]. 潘文伦,秦体红,贾音,张立廷. 密码学报. 2018(06)
[2]对白盒SMS4实现的一种有效攻击[J]. 林婷婷,来学嘉. 软件学报. 2013(09)
博士论文
[1]白盒密码研究[D]. 林婷婷.上海交通大学 2016
本文编号:3627654
本文链接:https://www.wllwen.com/kejilunwen/xinxigongchenglunwen/3627654.html