一种基于查表和扰动置乱相结合的白盒密码非线性编码保护方法技术

技术编号:15029105 阅读:155 留言:0更新日期:2017-04-05 04:42
本发明专利技术公开了一种基于查表和扰动置乱相结合的白盒密码非线性编码保护方法,包括如下步骤:密码算法运行过程中的32比特敏感变元平均分为四组,即(x0,0,x0,1,x0,2,x0,3),依次经过非线性置乱;加入扰乱信息(β*,Y,Φ*),计算β*=F(x0,0,x0,1,x0,2,x0,3)作为初始扰乱项;再将上述两步结果依次经过T3,T2,T1,T0,Φ*变换;将输出结果作列混淆变换;然后依次经过Q3,Q2,Q1,Y,Q0非线性置换,得到下一轮迭代的输入变元,从而得到白盒的最终输出结果。本发明专利技术将内、外置编码同时采用非线性双射变换,由于单个S盒的代数次数不超过8次,且列混淆部件和外置放射置乱编码并不会提高代数次数,故所需的运算较小;此外,在面对外部代数插值攻击时,不会直接恢复主密钥,而是构建出一个等价的解密布尔系统,因此本发明专利技术的安全性更强。

【技术实现步骤摘要】

本专利技术涉及信息安全领域,具体涉及一种基于查表和扰动置乱相结合的白盒密码非线性编码保护方法
技术介绍
在传统的密码算法与安全协议的设计和实现,一般是假定密码算法的运行环境终端是安全的、可信的,整个系统的安全性在于密钥的保密性。随着数字化信息技术的不断发展,研究发现密码软件通常运行在一个不安全的环境中,比如恶意病毒和不诚实用户的存在,在这种环境下,攻击者可以通过观察或执行密码软件,很容易捕获密钥信息,一个新的安全挑战是:在软件代码开放式的环境下,如何把密钥信息直接隐藏于算法的实现中,并使攻击者无法抽取出密钥。针对这个问题,Chow等人首先提出了白盒攻击环境(White-BoxAttackContext):攻击者对密码算法的软件执行过程完全可见的环境。在这种环境下,攻击者通过观察或执行密码程序,很容易提取密钥。而白盒密码的主要目的是为了在白盒攻击环境中保护密钥,防范攻击者利用密码软件执行过程捕获密钥信息。白盒密码的基本设计思想是:对于给定的密码算法和密钥信息,明文变换到密文的映射也就确定了;把明文到密文的映射进行置乱编码(obfuscationencoding),密码算法的执行过程通过查找表的方法来完成,密钥隐藏在表格中,但是攻击者无法由查找表抽取出密钥。然而,目前有关白盒密码的方案都存在一个共同问题,即利用查找表的输入输出特点,消除内轮置乱编码的非线性部分后,而外置编码仅剩下线性置乱运算,因此在白盒条件下被攻破所需的计算量较小,密码的安全性仍需进一步提高。
技术实现思路
本专利技术的目的是针对现有技术的不足,而提供一种基于查表和扰动置乱相结合的白盒密码非线性编码保护方法,其内置编码与外置编码同时采用非线性双射变换实现,从而能抵抗代数差值攻击,具有安全性高的特点。实现本专利技术目的的技术方案:一种基于查表和扰动置乱相结合的白盒密码非线性编码保护方法,包括如下步骤:1)密码算法运行过程中的32比特敏感变元平均分为四组,每组8比特,即(x0,0,x0,1,x0,2,x0,3),并依次经过非线性置乱;2)加入扰乱信息(β*,Y,Φ*),这里我们选取只加入1组扰乱信息作为说明,计算β*=F(x0,0,x0,1,x0,2,x0,3)作为初始扰乱项,其中F为32比特到8比特的映射;3)将步骤1)和步骤2)的输出依次经过T3,T2,T1,T0,Φ*变换;4)修改列混淆变换(MixColumns)操作,修改后的MixColumns操作相对于原始的4个输入块作用仍然相同,涉及到的扰乱信息在经过MixColumns操作后消除。将3)所有输出结果做列混淆变换(MixColumns);5)将步骤4)的输出结果依次经过Q3,Q2,Q1,Y,Q0非线性置换,且输出结果作为密码算法的下一轮迭代步骤中的输入,即对5个密码块进行操作,也就是在原始密码算法操作的基础上加上混乱项的个数,从而得到白盒密码的最终输出结果。步骤2)中,F映射为哈希算法。步骤3)中,改变原密码算法的加解密流程中每一轮的边界,以AES算法为例:改变AES的轮边界后,把AddRoundKey和SubBytes组合在一起,这两个步骤组合起来可以用T-Box来表示。T-Box的计算公式如下:Ti,jr(x)=S(x⊕Ki,jr-1)r=1,...,9i,j=0,...,3---(1)]]>Ti,j10(x)=S(x⊕Ki,j10)⊕Ksr(i,j)10i,j=0,...,3---(2)]]>其中,Ki,jr为第r轮在单元(i,j)的子密钥,sr(i,j)表示单元(i,j)在经过ShiftRows操作后的位置,S表示AES的S盒。步骤4)中,MixColumn操作每一次作用在一列上,可以用一个32×32(比特)的矩阵MC乘以一个32比特的列向量来表示。如果整个MixColumn用一个表格来表示,这个表格的大小为232×32=16GB。为了防止用如此之大的查找表,把MC按列分成2部分,MixColumn操作可以用如下公式表示:MC·(x0···x31)T=(MC0||MC1)·(x0···x31)T=MC0·(x0···x15)T⊕MC1·(x16···x31)T---(3)]]>其中,MC为MixColumn的表格表示方式,MC0、MC1为MC的左右两部分。因此,MixColumns的计算可以拆分成2个16比特到32比特的变换组成,然后将2个变换结果进行异或得到最后的MixColumn结果。其中,(β*,Y,Φ*)为非线性扰乱信息。这里,Φ*为一个由多项式生成的,在绝大多数情况下取值固定为θ的多项式。因此可以利用这一个之前已经固定好的取值来构造MixColumns矩阵,使得该值在经过MixColumns操作后对原本的矩阵乘法没有影响,即为零元。由Φ*确定的固定值θ这里同样作为秘密信息在实现时确定。本专利技术的有益效果:本专利技术一种基于查表和扰动置乱相结合的白盒密码非线性编码保护方法,内置编码与外置编码同时采用非线性双射变换,由于单个S盒的代数次数不超过8次,且列混淆部件和外置放射置乱编码并不会提高代数次数,故本专利技术所需的运算较小;此外,本专利技术在面对外部代数插值攻击时,不会直接恢复主密钥,而是构建出一个等价的解密布尔系统,因此本专利技术的保密性和安全性更强。附图说明图1为一种基于查表和扰动置乱相结合的白盒密码非线性编码保护方法的关键部件的白盒设计图。具体实施方式下面结合附图对本专利技术做进一步的阐述,但不是对本专利技术的限定。实施例:一种基于查表和扰动置乱相结合的白盒密码非线性编码保护方法,包括如下步骤:1)密码算法运行过程中的32比特敏感变元平均分为四组,每组8比特,即(x0,0,x0,1,x0,2,x0,3),并依次经过非线性置乱;2)加入扰乱信息(β*,Y,Φ*),这里我们选取只加入1组扰乱信息作为说明,计算β*=F(x0,0,x0,1,x0,2,x0,3)作为初始扰乱项,其中F为32比特到8比特的映射;3)将步骤1)和步骤2)的输出依次经过T3,T2,T1,T0,Φ*变换;4)修改列混淆变换(MixColumns)操作,修改后本文档来自技高网
...

【技术保护点】
一种基于查表和扰动置乱相结合的白盒密码非线性编码保护方法,其特征在于,包括如下步骤:1)密码算法运行过程中的32比特敏感变元平均分为四组,每组8比特,即(x0,0,x0,1,x0,2,x0,3),并依次经过非线性置乱;2)加入扰乱信息(β*,Y,Φ*),这里我们选取只加入1组扰乱信息作为说明,计算β*=F(x0,0,x0,1,x0,2,x0,3)作为初始扰乱项,其中F为32比特到8比特的映射;3)将步骤1)和步骤2)的输出依次经过T3,T2,T1,T0,Φ*变换;4)修改列混淆变换(MixColumns)操作,修改后的MixColumns操作相对于原始的4个输入块作用仍然相同,涉及到的扰乱信息在经过MixColumns操作后消除。将3)所有输出结果做列混淆变换(MixColumns);5)将步骤4)的输出结果依次经过Q3,Q2,Q1,Y,Q0非线性置换,且输出结果作为密码算法的下一轮迭代步骤中的输入,即对5个密码块进行操作,也就是在原始密码算法操作的基础上加上混乱项的个数,从而得到白盒密码的最终输出结果。

【技术特征摘要】
1.一种基于查表和扰动置乱相结合的白盒密码非线性编码保护方法,其特征在于,包括如
下步骤:
1)密码算法运行过程中的32比特敏感变元平均分为四组,每组8比特,即
(x0,0,x0,1,x0,2,x0,3),并依次经过非线性置乱;
2)加入扰乱信息(β*,Y,Φ*),这里我们选取只加入1组扰乱信息作为说明,计算β*=
F(x0,0,x0,1,x0,2,x0,3)作为初始扰乱项,其中F为32比特到8比特的映射;
3)将步骤1)和步骤2)的输出依次经过T3,T2,T1,T0,Φ*变换;
4)修改列混淆变换(MixColumns)操作,修改后的MixColumns操作相对于原始的4个
输入块作用仍然相同,涉及到的扰乱信息在经过MixColumns操作后消除。将3)所有输出
结果做列混淆变换(MixColumns);
5)将步骤4)的输出结果依次经过Q3,Q2,Q1,Y,Q0非线性置换,且输出结果作为密码算
法的下一轮迭代步骤中的输入,即对5个密码块进行操作,也就是在原始密码算法操作的基
础上加上混乱项的个数,从而得到白盒密码的最终输出结果。
2.根据权利要求1所述的基于查表和扰动置乱相结合的白盒密码非线性编码保护方法,其
特征在于,步骤2)中计算β*=F(x0,0,x0,1,x0,2,x0,3)作为初始扰乱项,其中F为32比特到
8比特的映射。
3.根据权利要求1所述的基于查表和扰动置乱相结合的比特白盒密码非线性编码保护方
法,其特征在于,步骤3)中改变原密码算法的加解密流程中每一轮的边界,以AES算法为
例:改变AES的轮边界后,把AddRoundKey和SubBytes组合在一起,这两个步骤组合起
来可以用T-Box来表示,T-Box的计算公式如下:
Ti,jr(x)=S(x⊕Ki,jr-1),r=1,...,9,i,j=0,...,3---(1)]]>Ti,j10(x)=S...

【专利技术属性】
技术研发人员:熊婉君韦永壮李灵琛丁勇
申请(专利权)人:桂林电子科技大学
类型:发明
国别省市:广西;45

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

1