【技术实现步骤摘要】
本专利技术涉及信息安全领域,具体涉及一种基于查表和扰动置乱相结合的白盒密码非线性编码保护方法。
技术介绍
在传统的密码算法与安全协议的设计和实现,一般是假定密码算法的运行环境终端是安全的、可信的,整个系统的安全性在于密钥的保密性。随着数字化信息技术的不断发展,研究发现密码软件通常运行在一个不安全的环境中,比如恶意病毒和不诚实用户的存在,在这种环境下,攻击者可以通过观察或执行密码软件,很容易捕获密钥信息,一个新的安全挑战是:在软件代码开放式的环境下,如何把密钥信息直接隐藏于算法的实现中,并使攻击者无法抽取出密钥。针对这个问题,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个密码块进行操作,也就是在原始密码算法操作的基础上加上混乱项的个数,从而得到白盒密码的最终输出结果。
【技术特征摘要】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。