【技术实现步骤摘要】
本专利技术属于信息安全
,具体涉及计算终端密码系统的保护,尤其涉及数字产权系统中密码组件的防护。可用于防止恶意用户非法获取其控制的计算终端中运行的密码算法的密钥,防止恶意用户非法传播其非法获取的密钥并从中获利。
技术介绍
随着软件、硬件、网络等技术的发展,越来越多的软件发布到个人计算机、平板电脑、手机等计算终端运行,各种应用层出不穷,如电子邮件、数字媒体播放器、数字内容阅读器等等。然而,这些应用软件往往运行在不可信的计算终端,恶意用户可以通过合法购买或攻击破解等方式控制这个终端,并利用各种逆向工程技术、工具来控制终端上软件执行的整个过程,包括获取所有的中间计算结果、设置程序断点等。在这种不可信的计算终端中,恶意用户可以很容易地非法获取软件中密码模块的密钥,并通过非法传播这些密钥而获利。目前,很多服务提供商采用白盒密码技术来保护密码算法的密钥,防止密钥在恶意用户控制的不安全终端中被非法窃取。主流白盒密码技术着眼于设计密码算法的安全实现,通过将密钥嵌入到查找表中,并使用随机选取的编码对查找表进行保护,从而实现保护密钥的目的。目前,Irdeto公司提出了AES和DES的白盒实现方案,上海交通大学的来学嘉等人也提出了AES的白盒防护方案。然而,这些实现方案都有共同的弱点:虽然局部地破解单个查找表是非常困难的,但将一轮的查找表组合起来会大大地降低破解难度。这是因为,将查找表组合起来会抵消掉嵌入在查找表中的大的线性编码 ...
【技术保护点】
一种SM4密码算法的安全白盒实现方法,其特征在于,以128比特数据(x0,x1,x2,x3)作为输入,经过32轮变换后,以128比特数据(x35,x34,x33,x32)为输出,其中xi为32比特数据;所述32轮变换中,每轮需要16个TTC查找表和4个TRT查找表,其中TTC查找表用于将本轮输入数据的32比特仿射编码转为4个8比特仿射编码,TRT查找表用于实现SM4算法的轮变换;所述32轮变换中,第r(1≤r≤32)轮变换以4个32比特数值xr‑1,xr,xr+1,xr+2作为输入,输出一个32比特数值xr+3。
【技术特征摘要】
1.一种SM4密码算法的安全白盒实现方法,其特征在于,以128比特数据(x0,x1,x2,x3)作
为输入,经过32轮变换后,以128比特数据(x35,x34,x33,x32)为输出,其中xi为32比特数据;所
述32轮变换中,每轮需要16个TTC查找表和4个TRT查找表,其中TTC查找表用于将本轮输入
数据的32比特仿射编码转为4个8比特仿射编码,TRT查找表用于实现SM4算法的轮变换;所
述32轮变换中,第r(1≤r≤32)轮变换以4个32比特数值xr-1,xr,xr+1,xr+2作为输入,输出一
个32比特数值xr+3。
2.如权利要求1所述的方法,其特征在于,所述第r(1≤r≤32)轮变换的计算步骤如下:
1) s r , 0 ← ⊕ i = 1 3 [ TTC r , i , 0 ( x r + i - 1 , 0 ) ⊕ TTC r , i , 1 ( x r + i - 1 , 1 ) ] ; ]]>2) s r , 0 ← ⊕ i = 1 3 [ TTC r , i , 2 ( x r + i - 1 , 2 ) ⊕ TTC r , i , 3 ( x ...
【专利技术属性】
技术研发人员:白琨鹏,武传坤,
申请(专利权)人:中国科学院信息工程研究所,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。