一种密钥不固定的对称白盒加密方法和装置制造方法及图纸

技术编号:14636299 阅读:156 留言:0更新日期:2017-02-15 10:25
本申请提供一种密钥不固定的对称白盒加密方法,包括步骤1:使用对称加密方法进行密钥扩展,得到多轮的加密密钥Kn;步骤2:对所述多轮的加密密钥Kn进行置换,得到置换后的密钥Kn′;步骤3:生成白盒库;步骤4:将白盒库和置换后的密钥Kn′传给用户;步骤5:用户利用置换后的密钥Kn′对待加密的数据进行白盒加密,白盒加密时利用白盒库进行查表,得到密文;其中,n表示对称加密方法的加密轮数。本发明专利技术不仅实现了白盒加密的密钥隐藏,而且白盒库与密钥相分离,用户可以自己设定密钥,方便灵活。

【技术实现步骤摘要】

本专利技术涉及计算机安全领域,更具体地,本专利技术涉及一种密钥不固定的对称白盒加密方法和装置
技术介绍
随着无线通信、互联网等技术的发展,许多设备都能联网,这些设备包括智能手机、平板电脑、汽车、机顶盒、穿戴设备、智能家电(如空气净化器)、智能家居(智能摄像机)等。这些设备的联网给人类生活和生产带来了便利,同时也给不法分子可乘之机,不法分子通过一些方式可以完全控制和访问硬件和软件,在当前的攻击手段中,很容易通过对二进制文件的反汇编、静态分析,对运行环境的控制结合使用控制CPU断点、观测寄存器、内存分析等来获取密码,对设备使用者的人身安全、财产安全造成一定的影响,这导致了白盒密码技术的发展。白盒加密算法是为应对白盒攻击而产生的算法,白盒攻击有别于传统密码模型中定义的黑盒攻击类型,它假设攻击者对设备终端(即应用程序的运行环境)拥有完全的控制能力。攻击者可以自如地观察动态密码运行的过程,并且内部算法详细内容完全可见、可随意更改。Chow等人在2002年首先提出白盒攻击环境(White-BoxAttackContext)的概念,他假设:(1)充分享有特权的攻击软件与密码学软件共享一个主机,攻击软件对密码算法的执行完全可以访问。(2)动态执行(与某个固定的密钥一起)是可以被观测的。(3)密码算法的内部细节是完全可见和可任意更改的。chow首次提出了白盒加密算法,密钥不以明文的形式出现在加密运算过程中,chow的AES白盒的主要设计方法是:首先,把轮密钥加(AddRoundKey)和字节代替(SubBytes)组合用T盒(T-Box)表示,选定一个密钥,计算出所有的T-Box,把列混淆(MixColumns)与T-Box组合在一起,在两端输入输出置乱编码,将结果用查找表表示,然后利用一个额外的矩阵来计算行移位(ShiftRows)以及抵消相邻两轮查表表的输入输出置乱编码。整个AES的执行过程可以由查找表和矩阵乘法完成。但是这种白盒加密算法,密钥是固定的,即密钥未进行变换直接跟算法的非线性变换结合,形成算法中固定的一部分。这种密钥固定的白盒加密算法不能满足用户自己设定密钥,加密的时候只要输入明文,不需要输入密钥。在物联网设备中,一旦使用,就是一批设备的密钥都相同,其安全性令人担忧,因此在物联网环境下,迫切需要有密钥可以动态设定的白盒加密系统。
技术实现思路
为克服上述现有技术中的缺陷,本专利技术提出一种密钥不固定的对称白盒加密方法。密钥不固定的对称白盒加密方法是在对称加密方法的基础上的改进。对称加密方法(通常也称为对称加密算法)中运算包括AddRoundKey、SubBytes、ShiftRows、MixColumns等。白盒加密过程中对这些运算进行组合变成查找表的形式。查找表的数据是先抵消上一个查找表的置乱码,再完成实际的运算,最后再加入置乱码得到的。根据本专利技术的一个方面,提出了一种密钥不固定的对称白盒加密方法,包括:步骤1:使用对称加密方法进行密钥扩展,得到多轮的加密密钥Kn;步骤2:对多轮的加密密钥Kn进行置换,得到置换后的密钥Kn′;步骤3:生成白盒库;步骤4:将白盒库和置换后的密钥Kn′传给用户;步骤5:用户利用置换后的密钥Kn′对待加密的数据进行白盒加密,白盒加密时利用白盒库进行查表,得到密文;其中,n表示对称加密方法的加密轮数。优选的,步骤1、步骤2和步骤3在安全可控的环境下操作。根据本专利技术的另一方面,还提供了一种密钥不固定的对称白盒加密装置,包括:密钥扩展模块、密钥转换模块、加密数据变换模块、白盒加密引擎模块和白盒库;其中,密钥扩展模块,用于通过对称加密方法将加密密钥扩展为各轮的轮密钥Kn;密钥转换模块,用于将各轮的轮密钥Kn变换为白盒加密引擎模块中使用的密钥Kn′;白盒库生成模块,用于对对称加密方法中的置换函数Pn进行变换,生成白盒库Tn并传送给白盒加密引擎模块;白盒加密引擎模块,用于对待加密数据、密钥Kn′进行白盒加密,加密时通过白盒库Tn进行查表,并输出密文;其中,n表示对称加密方法的加密轮数。为了减少查找表的存储大小,轮密钥加AddRoundKey和字节代替SubBytes不会像chow提出的固定密钥白盒一样组合变成一个查找表,而是将字节替换SubBytes、列混淆MixColumns以及行移位ShiftRows组合变成一个表,轮密钥加AddRoundKey单独变成一个表,整个白盒加密过程采用的还是查表的方式进行。置换函数Pn在每轮中至少表示两种变换,一种是与轮密钥加的变换,一种是与字节替换SubBytes、列混淆MixColumns以及行移位ShiftRows的组合的变换。An可以是线性变换,可以是非线性变换,也可以是线性变换和非线性变换合成的变换。合成变换的优点:隐藏变换中涉及的变换,增加变换的多样性,提高密钥破解的难度。与现有技术相比,本专利技术的密钥不固定的动态白盒不仅实现了白盒加密的密钥隐藏,而且白盒库与密钥是分离的,用户可以自己设定密钥,方便灵活;同时,整个加密算法的加密引擎部分可以是相同的,只有加密密钥扩展生成的加密轮密钥不同,这符合物联网设备对加密算法烧制要求——大部分内容是相同,小部分不同。附图说明图1是本专利技术一个实施例的密钥不固定的对称白盒加密方法的流程图;图2是本专利技术一个实施例的密钥不固定的对称白盒加密装置的结构示意图。如图所示,为了能明确实现本专利技术的实施例的流程,在图中描述了特定的设备和运行顺序,但这仅为示意需要,并非意图将本专利技术限定在该特定设备、顺序、器件和环境中,根据具体需要,本领域的普通技术人员可以将这些器件和环境进行调整或者修改,所进行的调整或者修改仍然包括在后附的权利要求的范围中。具体实施方式下面结合附图和具体实施例对本专利技术提供的一种密钥不固定的对称白盒加密方法和装置进行详细描述。在以下的描述中,将描述本专利技术的多个不同的方面,然而,对于本领域内的普通技术人员而言,可以仅仅利用本专利技术的一些或者全部结构或者流程来实施本专利技术。为了解释的明确性而言,阐述了特定的数目、配置和顺序,但是很明显,在没有这些特定细节的情况下也可以实施本专利技术。在其他情况下,为了不混淆本专利技术,对于一些众所周知的特征将不再进行详细阐述。根据本专利技术的一个实施例,提供了一种密钥不固定的对称白盒加密方法,包括:步骤1:使用对称加密方法进行密钥扩展,得到多轮的加密密钥Kn;步骤2:对多轮的加密密钥Kn进行置换,得到置换后的密钥Kn′;步骤3:生成白盒库;步骤4:将白盒库和置换后的密钥Kn′传给用户;步骤5:用户利用置换后的密钥Kn′对待加密的数据进行白盒加密,白盒加密时利用白盒库进行查表,得到密文;其中,n表示对称加密方法的加密轮数。优选的,步骤1、步骤2和步骤3在安全可控的环境下操作。下面将根据本专利技术的上述专利技术原理,以SM4对称加密方法为例,来对本专利技术方法的主要实现原理进行详细的阐述和说明。SM4的密钥与白盒库结合的白盒加密过程如下:首先是密钥的扩展,将128比特的密钥扩展为32轮的轮密钥Kn,每轮的密钥长度还是128比特;其次,根据密钥生成白盒库,白盒库是白盒加密过程中的查找表集合,每轮密钥对应一个查找表,也就是对轮密钥Kn进行置换,设置换函数为Tn。查找表可以用矩阵Tn(Kn)表示(即白盒库),32轮本文档来自技高网
...
一种密钥不固定的对称白盒加密方法和装置

【技术保护点】
一种密钥不固定的对称白盒加密方法,包括:步骤1:使用对称加密方法进行密钥扩展,得到多轮的加密密钥Kn;步骤2:对所述多轮的加密密钥Kn进行置换,得到置换后的密钥Kn′;步骤3:生成白盒库;步骤4:将白盒库和置换后的密钥Kn′传给用户;和步骤5:用户利用置换后的密钥Kn′对待加密的数据进行白盒加密,白盒加密时利用白盒库进行查表,得到密文;其中,n表示所述对称加密方法的加密轮数。

【技术特征摘要】
1.一种密钥不固定的对称白盒加密方法,包括:步骤1:使用对称加密方法进行密钥扩展,得到多轮的加密密钥Kn;步骤2:对所述多轮的加密密钥Kn进行置换,得到置换后的密钥Kn′;步骤3:生成白盒库;步骤4:将白盒库和置换后的密钥Kn′传给用户;和步骤5:用户利用置换后的密钥Kn′对待加密的数据进行白盒加密,白盒加密时利用白盒库进行查表,得到密文;其中,n表示所述对称加密方法的加密轮数。2.根据权利要求1所述的方法,其中,所述步骤1、步骤2和步骤3在安全可控的环境下操作。3.根据权利要求1所述的方法,其中,所述步骤2中的所述置换包括线性置换或非线性置换。4.根据权利要求1所述的方法,其中,所述步骤3包括:步骤31:设定变换函数A1、A2、...、An、An+1:步骤32:对所述对称加密方法使用的置换函数Pn进行变换,得到变换矩阵Tn:T1=A1P1T2=A1-1P2A2T3=A2-1P3A3...Tn=An-1-1PnAnTn+1=An-1Pn变换矩阵Tn组成白盒库。5.一种密钥不固定的对称白盒加密方法,包括:步骤1:设定变换函数A1、A2、...、An、An+1,对所述对称加密方法使用的置换函数Pn进行变换,得到变换矩阵Tn:T1=A1P1T2=A1-1P2A2T3=A2-1P3A3...Tn=An-1-1PnAnTn+1=An-1Pn;其中,n表示所述对称加密方...

【专利技术属性】
技术研发人员:阚志刚彭建芬王全洲李世杰卢佐华陈彪
申请(专利权)人:北京洋浦伟业科技发展有限公司
类型:发明
国别省市:北京;11

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

1