【技术实现步骤摘要】
一种支持查找表防篡改的白盒SM4密码算法构造方法及装置
[0001]本专利技术属于信息安全与密码
,具体设计一种支持查找表防篡改的白盒SM4密码算法构造方法及装置,能满足白盒环境安全要求,且具有较高效率。
技术介绍
[0002]专利文献1(公开号:CN113111317A公开日:2021年7月13日)公开了一种基于白盒CLEFIA加密方法的软件篡改检测方法。通过设置黑盒加密参数,再构造3类查找表对白盒加密方法进行更新,判断待检测软件是否发生篡改。该方法考虑了白盒密码算法在软件防篡改方面的使用范围,并取得了良好效果。
[0003]专利文献2(公开号:CN111741374B公开日:2022年10月21日)公开了一种获取白盒查找表的方法、装置、电子设备、存储介质及服务端,该专利技术通过服务端获取白盒查找表中的密钥相关部分再向客户端发送密钥相关部分等步骤,再令客户端根据密钥相关部分与密钥无关部分生成白盒查找表。可减少向客户端发送的白盒查找表中的数据的数据量进而节省网络资源。
[0004]通过对以上文献的分析, ...
【技术保护点】
【技术特征摘要】
1.一种支持查找表防篡改的白盒SM4密码算法构造方法及装置,其特征在于,加密步骤如下:步骤S1:SM4分组密码算法轮函数加密流程。加密之前首先对于明文数据进行预处理,将128位的明文数据按位拆分为4组数据,每组长度为32位,即X=(X0,X1,X2,X3);部分明文数据与密钥rk
i
进行异或,将其结果作为S盒的输入数据,即S
in
=X
i+1
⊕
X
i+2
⊕
X
i+3
⊕
rk
i
,将此32位数据拆分后的4个8位数据分别进入4个S盒参与运算,运算后的4个S盒输出数据拼为32位数据S
out
;将S
out
执行多个循环移位后异或,得X
i+4
=S
out
⊕
(S
out
<<<2)
⊕
(S
out
<<<10)
⊕
(S
out
<<<18)
⊕
(S
out
<<<24)
⊕
X
i
;步骤S2:密钥的生成方式与轮函数加密类似,首先主密钥Mk=(K0,K1,K2,K3)仍为128位数据,拆分后的4组32位数据分别异或系统参数FK0,FK1,FK2,FK3,k0=K0⊕
FK0;k1=K1⊕
FK1;k2=K2⊕
FK2;k3=K3⊕
FK3;所得k0‑
k3用于后续轮密钥的生成。后续为S
in
=k
i+1
⊕
k
i+2
⊕
k
i+3
⊕
ck
i
,将此32位数据拆分后的4个8位数据分别进入4个S盒参与运算,运算后的4个S盒输出数据拼为32位数据S
out
;将S
out
执行2个循环移位后...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。