本发明专利技术公开了一种基于扩张密文的白盒密码加解密方法。本发明专利技术包括隐含了伪随机比特流的扩张密文,以及用来解密的n比特到m比特(n>m)的查找表,该查表操作是三个函数的复合:与密钥K相关的n比特输入到n比特输出的一一映射函数F(K,n→n)、n比特输入到m比特输出的函数Cn→m以及与密钥K相关的m比特输入到m比特输出的一一映射函数F(K,m→m)。本发明专利技术加密时服务器端将伪随机比特流作为掩码与明文结合并置乱,得到扩张密文;解密时通过一次查表操作将n比特密文解密为对应m比特明文。本发明专利技术能够明显提高解密效率。
【技术实现步骤摘要】
本专利技术属于信息
,涉及一种可应用于智能手机、数字机顶盒等不可信环境中,基于扩张密文的白盒密码加解密方法。
技术介绍
传统的密码算法在设计之初总是假设运行于黑盒环境中,即攻击者仅能够观察到算法的输入和输出。然而随着信息技术的发展,这种假设不再成立。当前,各种电子设备随处可得,并能够直接或间接访问互联网,人们获取数字内容的途径越来越多。这些设备包括但不限于数字机顶盒、IPTV、PC以及日益增多的手持装置,例如移动电话、平板电脑等。随着这些设备的智能化,其中的软件所在的运行环境可能是不可信的,设备的合法用户也有可能成为主动攻击者,因此传统的密码算法不再可靠。例如,服务器端对数字内容进行加密,控制其向合法用户分发。用户终端软件得到密文后,利用密钥进行解密,以得到可以使用的数字内容。然而,由于终端软件运行环境的不安全性,攻击者可以任意观察解密过程,轻易截获密钥并传播给非法用户。这种不可信的软件运行环境被称为白盒环境。在白盒环境中,攻击者对运行环境拥有高权限的控制,除了能够任意观察软件的运行,还可能移植/修改代码、修改运行时的中间结果等。这种对软件直接的攻击被称为白盒攻击。白盒密码是为了抵抗白盒攻击而提出的一项技术,其概念最早由Stanley Chow等人在“White-box Cryptography and anAES Implementation”(SAC,2002)中提出。Chow等人将AES(高级加密标准)的操作用包含密钥的查找表网络实现,用随机双射对查找表进行编码保护,并通过把密码边界推到包含解密模块的应用中来进一步保护密钥。沿用类似Chow的方法,白盒DES、SM4等相继被提出。然而,所有已公布的针对已有密码算法的白盒化工作都被证明是不够安全的。证明方法都与Alex Biryukov等人在“Structural Cryptanalysis of SASAS”(Journal ofCryptologly,2010)中提出的结构化分析方法类似。目前,最新的白盒密码研究集中在构造专用的白盒密码。Alex Biryukov等人在“Cryptographic Schemes Based on the ASASA Structure:Black-box,White-box,and Public-key”(ASIACRYPT,2014)中提出了基于ASASA结构的白盒密码;Andrey Bogdanov等人在“White-box Cryptography Revisited:Space-Hard Ciphers”(22nd ACM SIGSAC Conference,2015)中提出了名为SPACE的专用分组白盒密码。其中,前者已经被证明是不安全的,因为ASASA结构的查找表已经被成功分解。用SPACE对明文加密时,为了获得良好的密文性质,明文需要经过若干轮的加密处理,相应地,在解密时也需要经过若干轮白盒解密模块的处理,而且每一轮包含若干查表操作,解密速度较慢。构造专用的白盒密码时,需要满足以下三个安全目标:1.密文安全性;2.密钥不可提取性;3.抗代码移植性。密文安全性是指:密文空间足够大,而且密文满足一定的密码学特性,能够抗黑盒攻击。密钥不可提取性是指:白盒实现的代码由密钥控制生成的,从代码逆推密钥是困难的。抗代码移植性是指:白盒实现必须作为一个整体被使用,不能被修改或者压缩。专用的白盒密码会给出整体代码量可控的策略,代码量的实际大小由实施者根据安全需求和实际应用环境确定。
技术实现思路
本专利技术涉及的基于扩张密文的白盒密码系统是一种新型专用白盒密码加解密方法,可被运行于白盒环境中的软件采用,用来抵抗白盒攻击。系统中的白盒实现是位于终端的n比特输入m比特输出(n>m)的查找表,此查找表是由服务器生成然后分发到终端,分发过程可以是网络传输、出厂预置、载体复制等等分发方式。本专利技术中的解密仅需要一次查表操作,效率高很多。本专利技术中的密文性质由作为掩码的伪随机比特流保证。本专利技术采用的技术方案如下:一种基于扩张密文的白盒密码加密方法,其步骤为:1)将m比特明文用映射函数F(K,m→m)的逆函数进行映射,得到m比特的中间结果Ab;其中,F(K,m→m)为与密钥K相关的m比特到m比特的映射函数;2)利用一n-m比特随机数据PRN和函数Cn→m的随机逆函数将该中间结果Ab扩张为n比特;其中,Cn→m为n比特输入到m比特输出函数;随机逆函数为:在函数Cn→m的作用下,一个m比特输出对应有K个n比特原像(即多个n比特原像),利用伪随机数据PRN从该K个原像中选定一个的过程称为Cn→m的随机逆函数;3)利用映射函数F(K,n→n)的逆函数对扩展后的中间结果Ab进行映射,得到密文Ad;其中,为与密钥K相关的n比特到n比特的映射函数。进一步的,步骤1)中,首先将一向量IV与m比特明文进行计算,得到m比特的中间结果Aa;然后将该中间结果Aa用映射函数F(K,m→m)的逆函数进行映射,得到m比特的中间结果Ab。进一步的,该向量IV的长度为m比特,将m比特的初始化向量IV与m比特明文进行异或加计算,得到m比特的中间结果Aa。进一步的,采用分组加密方法对明文进行加密,其中,m为明文的分组长度,n为密文的分组长度;取第i分组密文中的低m比特数据更新向量IV,重复步骤1)~3)对第i+1分组明文进行加密,直至所有明文分组加密完毕。进一步的,步骤2)中,将该中间结果Ab扩张为n比特的方法为:将该n-m比特随机数据R和Ab进行联接R||Ab。一种基于扩张密文的白盒密码解密方法,解密端利用加密端分发的查找表对n比特密文进行查表操作,解密端利用加密端分发的查找表对n比特密文进行查表操作,得到对应的m比特明文;其中,该查找表为三个函数的复合:与密钥K相关的n比特输入到n比特输出的一一映射函数F(K,n→n)、n比特输入到m比特输出的函数Cn→m以及与密钥K相关的m比特输入到m比特输出的一一映射函数F(K,m→m)。进一步的,该n比特密文为加密端将一向量IV与m比特明文进行计算后进行加密的密文,解密端将得到的该m比特明文与该向量IV进行计算得到最终的明文。进一步的,该向量IV的长度为m比特,解密端将该m比特向量IV与该m比特明文进行异或加计算,得到最终的明文。进一步的,该密文为采用分组加密方法对明文进行加密得到的密文,其中,m为明文的分组长度,n为密文的分组长度;解密端用第i分组密文的低m比特数据更新该向量IV,与对第i+1分组密文解密后的m比特明文进行异或加计算,直至所有密文分组解密完毕。本专利技术提供的一种白盒密码系统,用于在给定密钥的情况下执行将输入消息映射到输出消息的密码操作,其特征在于,所述系统包括:隐含了伪随机比特流的扩张密文,以及用来解密的n比特到m比特(n>m)的查找表。进一步地,服务器端将伪随机比特流作为掩码与明文结合并置乱,得到扩张密文,其中的置乱操作与密钥相关。进一步地,用来完成解密操作的查找表是一个与密钥相关的映射,其作用是去掉密文中的掩码信息。进一步地,m和n被设置为安全参数,根据该安全参数控制白盒密码实现的代码规模和复杂程度。—种将伪随机比特流应用于白盒密码的方法,用于在给定密钥的情况下执行将输入消息映射到本文档来自技高网...
【技术保护点】
一种基于扩张密文的白盒密码加密方法,其步骤为:1)将m比特明文用映射函数F(K,m→m)的逆函数进行映射,得到m比特的中间结果Ab;其中,F(K,m→m)为与密钥K相关的m比特到m比特的映射函数;2)利用一n‑m比特随机数据PRN和函数Cn→m的随机逆函数将该中间结果Ab扩张为n比特;其中,Cn→m为n比特输入到m比特输出函数;随机逆函数为:在函数Cn→m的作用下,一个m比特输出对应有K个n比特原像,利用伪随机数据PRN从该K个原像中选定一个的过程称为Cn→m的随机逆函数;3)利用映射函数F(K,n→n)的逆函数对扩展后的中间结果Ab进行映射,得到密文Ad;其中,为与密钥K相关的n比特到n比特的映射函数。
【技术特征摘要】
1.一种基于扩张密文的白盒密码加密方法,其步骤为:1)将m比特明文用映射函数F(K,m→m)的逆函数进行映射,得到m比特的中间结果Ab;其中,F(K,m→m)为与密钥K相关的m比特到m比特的映射函数;2)利用一n-m比特随机数据PRN和函数Cn→m的随机逆函数将该中间结果Ab扩张为n比特;其中,Cn→m为n比特输入到m比特输出函数;随机逆函数为:在函数Cn→m的作用下,一个m比特输出对应有K个n比特原像,利用伪随机数据PRN从该K个原像中选定一个的过程称为Cn→m的随机逆函数;3)利用映射函数F(K,n→n)的逆函数对扩展后的中间结果Ab进行映射,得到密文Ad;其中,为与密钥K相关的n比特到n比特的映射函数。2.如权利要求1所述的方法,其特征在于,步骤1)中,首先将一向量IV与m比特明文进行计算,得到m比特的中间结果Aa;然后将该中间结果Aa用映射函数F(K,m→m)的逆函数进行映射,得到m比特的中间结果Ab。3.如权利要求2所述的方法,其特征在于,该向量IV的长度为m比特,将m比特的初始化向量IV与m比特明文进行异或加计算,得到m比特的中间结果Aa。4.如权利要求1或2或3所述的方法,其特征在于,采用分组加密方法对明文进行加密,其中,m为明文的分组长度,n为密文的分组长度;取第i分组密文中的低m比特数据更新向量I...
【专利技术属性】
技术研发人员:许涛,武传坤,薛锐,
申请(专利权)人:中国科学院信息工程研究所,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。