基于类似SM4结构的白盒密码加解密方法技术

技术编号:33536347 阅读:44 留言:0更新日期:2022-05-19 02:18
本发明专利技术公开一种类似SM4结构的白盒密码加解密方法,主要解决现有加解密方法运行效率低及存储空间成本高的问题。其实现方案是:生成由128个查找表组成的加密密钥和由这些查找表逆序排列组成解密密钥;构建明文分组,并对其对进行异或操作,对异或操作后的明文分组利用生成的加密密钥依次进行第一次查表、线性变换、第二次查表的轮函数操作,得到新的明文分组;对新的明文分组进行反序变换,得到明文分组加密后的密文分组;对密文分组进行异或操作,并利用生成的解密密钥对其进行逆轮函数操作,得到新的密文分组:对新的密文分组进行反序变换,得到密文分组解密后的明文分组。本发明专利技术加解密运行效率高,存储空间成本低,可用于数字版权管理。数字版权管理。数字版权管理。

【技术实现步骤摘要】
基于类似SM4结构的白盒密码加解密方法


[0001]本专利技术属于网络信息安全
,更进一步涉及一种加解密方法,可用于数字版权管理。

技术介绍

[0002]随着密码应用的普及,密码算法已渗透到日常生活的方方面面,如数字内容分发、移动支付、无线传感器网络、物联网、云计算等场景。在这些场景中,密码算法所运行的终端处于不可信的开放环境,因此黑盒攻击模型不再适用。例如在数字版权管理DRM场景中,内容提供商向消费者提供经过加密的文本、音频、视频等数字内容,消费者在客户端解密数字内容。为了获取利益,恶意的消费者可能会提取客户端中的密钥并非法分发。为了刻画这种攻击,Chow等人于2002年提出了白盒攻击环境,也称白盒模型的概念。该白盒模型是一个理论研究的模型,它给定了一个更加极端的假设,给攻击者更大的权限。白盒攻击环境假定,加密软件运行在不安全的终端,攻击者可以完全访问加密算法和相关执行环境,获得观察和改变这些实现的全部或部分内部细节以及执行动态的能力,攻击者甚至可以随意更改中间值,或加密逻辑。在此模型下,攻击者对密码算法的实现有完全访问权。具体地,攻击本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种类似SM4结构的白盒密码加解密方法,其特征在于:使用与中国商用密码算法SM4相似的结构,改变其标准SM4的输入与输出,在加解密中分别依次执行异或操作和轮函数操作后,进行i轮迭代后,再进行反序变换,具体实现包括如下:(1)生成加解密密钥:1a)用主密钥生成伪随机序列,即将128比特主密钥输入到一个伪随机数发生器,生成伪随机比特序列;1b)利用随机置换生成算法,将伪随机比特序列变换为128*256个8bit的随机置换,每个查找表按输入字典序排列,将每256个8bit的随机置换排列在一张查找表中,一共生成128个查找表;1c)用这128个查找表一起组成加密密钥,用这128个查找表的逆序排列成解密密钥;(2)构建明文分组,对其进行异或操作,并利用(1)生成的加密密钥进行轮函数操作,得到新的明文分组:2a)选择128位随机的比特串作为明文分组,将每个128位的明文分组切分为4个32比特的小块,将4个小块按照从左到右的顺序排列得到明文分组(X
i
,X
i+1
,X
i+2
,X
i+3
),i为任意正整数;2b)对明文分组中的后三个小块X
i+1
,X
i+2
,X
i+3
进行异或操作,得到异或后的32比特的明文小块X,再对该小块X利用加密密钥进行类似SM4结构的白盒密码轮函数操作,得到更新后的32比特的明文小块X';2c)将更新后的32位比特的明文小块X'与明文分组中的第一个小块X0进行异或操作,得到第五个明文小块X
i+4
;2d)将该小块X
i+4
排列在明文分组中的三个小块X
i+1
,X
i+2
,X
i+3
之后,组成当前的明文分组(X
i+1
,X
i+2
,X
i+3
,X
i+4
);2e)重复步骤2b)

2d)共i次,产生的新的明文分组为(X
i+1
,X
i+2
,X
i+3
,X
i+4
);(3)对新的明文分组(X
i+1
,X
i+2
,X
i+3
,X
i+4
)进行如下反序变换:R(X
i+1
,X
i+2
,X
i+3
,X
i+4
)=(X
i+4
,X
i+3
,X
i+2
,X
i+1
),得到明文分组加密后的密文分组(X
i+4
,X
i+3
,X
i+2
,X
i+1
);(4)对密文分组进行异或操作,并利用(1)生成解密密钥进行逆轮函数操作,得到新的密文分组:4a)对密文分组(X
i+4
,X
i+3
,X
i+2
,X
i+1
)中的后三位X
i+3
,X
i+2
,X
i+1
进行异或操作,得到异或后的32比特的密文小块Y;4b)对异或后的32比特的密文小块Y利用解密密钥进行类似SM4结构的白盒密码逆轮函数操作,得到更新后的32位比特密文小块Y';4c)将更新后的32位比特密文小块Y'与(4a)中密文分组的第一个小块X
i+4
进行异或操作得到X
i
;4d)将密文分组的后3个32比特的小块X
i+3
,X
i+2
,X
i+1
与X
i
依次排列,组成当前的密文分组(X
i+3
,X
i+2
,X
i+1
,X
i
);4e)重复步骤4b)

4d)共i次,产生的新的密文分组为(X
i+3
,X
i+2
,X
i+1
,X
i
);(5)对新密文分组(X
i+3
,X
i+2
,X
i+1
,X
i
)进行反序变换R(X
i+3
,X
i+2
,X
i+1
,X
i
)=(X
i
,X
i+1
,X
i+2
,X
i+3
),得...

【专利技术属性】
技术研发人员:翟宇莹刘君
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:

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

1