CN105099666A - 混淆轮边界的白盒密码系统和方法 - Google Patents
混淆轮边界的白盒密码系统和方法 Download PDFInfo
- Publication number
- CN105099666A CN105099666A CN201510364025.4A CN201510364025A CN105099666A CN 105099666 A CN105099666 A CN 105099666A CN 201510364025 A CN201510364025 A CN 201510364025A CN 105099666 A CN105099666 A CN 105099666A
- Authority
- CN
- China
- Prior art keywords
- look
- bit
- white box
- table group
- random
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明涉及一种用于执行诸如AES等分组密码算法的白盒密码系统,以及一种增加白盒密码安全性的方法。在给定密钥的情况下,利用共同执行密码操作的多个查找表的网络来完成加密或解密;该查找表网络可被划分为串行执行的若干结构相似的查找表组,这些查找表组中,有的与密钥相关,有的与密钥无关,查找表组的总数量是随机的;通过添加随机数量的混淆查找表组,增加攻击者确定白盒实现中每一轮界限的难度。面对该查找表网络,攻击者难以确定原分组密码的轮边界,这使得利用单轮的输入输出进行攻击的方法变得困难。
Description
技术领域
本发明属于信息技术领域,涉及一种在给定密钥的情况下,利用共同执行密码操作的多个查找表网络,来进行加密或解密的白盒密码系统。本发明还涉及一种增加白盒密码安全性的方法。
背景技术
随着信息技术的发展,越来越多的消费电子产品(CE)被设计为直接访问互联网(或者以PC平台为代理间接访问互联网),以便随时随地获取通过互联网分发的数字内容。这些CE产品包括但不限于数字机顶盒、IPTV、PC以及日益增多的手持装置,例如移动电话、平板电脑。安装在这些CE产品中的软件应用可以对数字内容进行解析、播放等操作。由于互联网的不安全性以及CE产品的系统平台越来越开放,如何经过恶意网络把数字内容传送给合法用户,并能够且仅能够由合法用户进行正确解析和播放等操作,是内容提供商面临的极大挑战。
通常,数字权利管理系统使用一系列加密/解密步骤来处理数字内容,控制数字内容向合法用户分发,对内容提供商的利益提供保护。在分发前,通过DES(数据加密标准)、AES(高级加密标准)等加密算法,数字内容被加密。为了正确操作通过互联网获取的数字内容,CE产品中安装的软件应用必须从许可证数据库获得解密密钥,并放置在存储器中,以便用来对内容进行解密。如果这个解密密钥被泄露,数字内容就会比较容易地在互联网上肆意传播。
攻击者可以通过动态和静态的两种方法攻击CE产品中的解密密钥:1.观察软件应用在解密过程中对存储器的访问,可以获得解密密钥;2.利用逆向工程的方法攻击包含解密密钥的软件模块,从代码中分析出解密密钥。这两种攻击都要求攻击者对操作环境拥有某种形式的控制,除了分析解密模块的输入/输出以外,还能够深入模块的内部进行分析。这样的攻击被称为白盒攻击。随着技术手段的进步,白盒攻击越来越常见。
白盒密码是为了抵抗白盒攻击而提出的一项技术。目前的研究集中在密码算法的白盒实现,即把密码算法的某些或全部操作用模糊技术加以隐藏,尤其是隐藏与密钥有关的操作。攻击者难于提取被隐藏在解密模块整体中的密钥。目前,用于创建白盒实现的常用技术是将密码算法的操作用包含密钥的查找表网络实现,用随机双射对查找表进行编码保护,并通过把密码边界推到包含解密模块的应用中来进一步保护密钥。
在9thAnnualWorkshoponSelectedAreasinCryptography(SAC2002,St.John’s,Newfoundland,Canada,August15-16,2002)中由StanleyChow,PhilEisen,HaroldJohnson以及PaulC.VanOorschot所著的”White-boxCryptographyandanAESImplementation”(以下称为”Chow1”)和在ACMCCS-9WorkshoponDigitalRightsManagement(DRM2002,Washington,DC,USA,November18,2002)中由StanleyChow,PhilEisen,HaroldJohnson以及PaulC.VanOorschot所著的”AWhite-boxDESImplementationforDRMApplications”(以下称为”Chow2”)公开了:创建密码算法的白盒实现的方法,并详述了AES和DES的白盒实现。Chow的方法适用于其他基于代换和线性变换的密码算法的白盒实现。
在15thAnnualWorkshoponSelectedAreasinCryptography(SAC2008,Sackville,NewBrunswick,Canada,2008)中由W.Michiels,P.Gorissen以及H.D.L.Hollmann所著的”CryptanalysisofaGenericClassofWhite-BoxImplementations”(以下称为”Michiels1”)指出了Chow的创建密码算法的白盒实现的方法的一个弱点,即白盒实现中每一轮的线性扩散操作是难以用非线性编码隐藏的。该弱点可被攻击者利用来获得隐藏在白盒实现中的密钥。细节请参考”Michiels1”。
除了”Michiels1”这种针对一类白盒实现的攻击方法外,还有一些针对具体某种密码算法的白盒实现的攻击,例如:针对”Chow1”中的白盒AES的BGE攻击。我们注意到,这些攻击都是在已知白盒实现中每一轮的界限的前提下,利用每一轮的输入和输出进行的。
发明内容
本发明涉及的白盒密码系统对上述Chow的创建密码算法的白盒实现的方法进行改进,将查找表网络划分为结构相似的查找表组,并添加随机数量的混淆查找表组,增加攻击者确定白盒实现中每一轮界限的难度。
本发明采用的技术方案如下:
一种白盒密码系统,用于在给定密钥的情况下执行将输入消息映射到输出消息的密码操作,所述系统包括:由若干结构相似的查找表组构成的查找表网络,其中至少一个查找表组是随机添加的,用来混淆原分组密码的轮边界。
进一步地,所述查找表网络被划分为串行执行的若干结构相似的查找表组,并且查找表组的总数量是随机的。
进一步地,随机添加的用于混淆轮边界的查找表组的数量被设置为安全参数,根据该安全参数控制白盒实现的规模和复杂程度。
—种增加白盒密码安全性的方法,用于在给定密钥的情况下执行将输入消息映射到输出消息的密码操作,所述方法包括:在给定密钥的情况下,生成由若干结构相似的查找表组构成的查找表网络,用随机增加查找表组的方法进行轮边界混淆,利用查找表组完成密码算法。
与现有技术相比,本发明的有益效果如下:
1.本发明提供了一种保护密码算法白盒实现中查找表的机制,特点是如图12所示的白盒密码系统,其中查找表网络由结构相似并且数量随机的查找表组构成,系统对每一个查找表组的操作指令都完全相同。这样的机制使得白盒实现中隐藏了密钥的查找表网络更加整体化,攻击者难于利用部分查找表来提取密钥信息。
2.经过对查找表组的适当调整,本发明可应用于常见的基于代换和线性变换的密码算法的白盒实现中,例如AES、DES和Serpent。与Chow的白盒实现方法相比,本发明不但增加了攻击者提取密钥信息的难度,还提供了一种按照安全参数建立查找表网络总体长度和系统复杂程度可控的白盒应用的方法。本发明设计的白盒密码系统可实现为硬件,例如计算机芯片、PLC、PLD/FPGA,也可以实现为在通用计算机芯片上运行的软件。
3.目前公布的白盒密码都是针对已有密码算法的白盒实现,本发明的方法也可以用在初始设计就考虑在白盒攻击环境中运行的白盒密码上。
附图说明
图1示出了AES中一轮的操作;
图2示出了将查找表用编码进行混淆的例子;
图3示出了混淆轮边界的白盒AES中一轮的查找表网络;
图4示出了TypeIa查找表的结构;
图5示出了TypeIV查找表的结构;
图6示出了TypeIb查找表的结构;
图7示出了TypeIc查找表的结构;
图8示出了TypeII查找表的结构;
图9示出了TypeIII查找表的结构;
图10示出了TypeId查找表的结构
图11示出了混淆轮边界的白盒AES的所有查找表组;
图12示出了混淆轮边界的白盒密码的整体结构;
图13示出了一个混淆轮边界的白盒密码系统实例。
具体实施方式
下面以分组密码AES128(以下简称AES)为例描述本发明的具体实施。当然,本发明还能够应用到其他分组密码的白盒实现,甚至更一般地应用到所有需要混淆轮边界的白盒密码系统。
概要过程如下:首先,我们沿用”Chow1”的方法,利用查找表实现AES每一轮的基本操作,将密钥隐藏在查找表中,为了达到下一步混淆轮边界的目的,我们将”Chow1”的查找表进行改进,将行移位的操作也实现在了查找表中;将AES用查找表实现后,我们可以把这些查找表划分为结构相似的查找表组,随机增加混合双射的数量(等效于随机增加起混淆作用的查找表组),我们得到轮边界被混淆的AES的白盒实现。在利用白盒AES进行加密操作时,除了查表操作外,不需要其他操作。以下,我们将结合附图进行详细说明。
AES是将128-bit明文消息映射到128-bit密文消息的分组密码。一般为了更好地描述AES,消息被组织为4×4字节的状态矩阵(STATE)。明文是初始状态,密文是最终状态。AES包括10轮和11个由主密钥生成的轮密钥k0,k1…k10。每一轮都利用轮密钥对状态矩阵进行相似的操作,包括:异或加轮密钥、字节代换、行移位和列混合。
图1是AES一轮中的主要操作,包括:
异或加轮密钥(211),即将状态的每个字节与轮密钥的每个字节进行异或加运算。
字节代换(212),即用S盒将状态的每个字节进行非线性代换。
行移位(213),即将状态的每一行循环左移一定数量的字节。
列混合(214),即用扩散矩阵按GF(28)下的乘法处理每一列。
字节代换(212)、行移位(213)和列混合(214)是与密钥无关的操作。密钥应用于异或加轮密钥操作(211)中。这些操作都可以用查找表或查找表网络来完成。轮密钥被隐含在这些查找表中,而不是被单独存储,这使得攻击者不能直接观察到密钥。但是这样的密钥隐藏是不安全的,攻击者仍然可以轻易提取密钥信息,所以需要进一步的混淆。
图2展示了”Chow1”利用编码的方法保护查找表,使攻击者提取密钥信息的行为变得困难。令X和Y是两个操作(函数)。考虑221所示的复合操作YοX=Y(X(c)),即对输入值c,在X之后执行Y,ο表示操作的合成。X和Y能够用存储器中存储的查找表来实现。编码是随机选择的双射。222展示了如何利用输入编码F和输出编码H混淆查找表X和Y的内容。如图中所示,X和Y被XοF-1和HοY代替。223展示如何利用编码G使两个表之间的结果也得到保护。这样原来在存储器中的两个表X和Y被代替为编码后的X′=GοXοF-1和Y′=HοYοG-1。224中所示的结果:Y′οX′=(HοYοG-1)ο(GοXοF-1)=HοYοXοF-1。
经过如图2所示编码后的查找表,只要F、G和H保持未知,攻击者就不能从查找表中提取关于X和Y的信息,即不能获得其中隐藏的密钥信息。这样的查找表构成网络就能够完成密码算法。除了利用编码进行混淆外,”Chow1”还通过随机选择的混合双射(可逆线性变换)使扩散步骤得到进一步保护。
这里我们着重说明”Chow1”中如何利用较小规模的查找表完成列混合操作的32-bit到32-bit的矩阵乘法。MC是代表列混合操作的32×32矩阵。MC被分块成4个32×8部分:MC0、MC1、MC2和MC3。通过把状态的一列,即4个字节,分别与这4个部分相乘,然后将得到的4个32-bit向量异或加,可以得到MC代表的列混合操作的结果。32-bit的异或加需要3次。这3次异或加被分成24个4位异或加操作。
综合来看,为了完成对状态中一列的列混合操作,需要4个8-bit到32-bit的查找表,以及24个8-bit到4-bit的查找表。”Chow1”还在MC矩阵后面增加了随机选择的混合双射(32×32可逆矩阵)进行保护,为了抵消混合双射的作用,需要紧接着完成该混合双射的逆变换的查找表,即再需要4个8-bit到32-bit的查找表,以及24个8-bit到4-bit的查找表。
由于”Chow1”公布的白盒AES的结构是固定的,而且行移位操作没有被包含在查找表中,攻击者很容易确定轮边界,然后进行攻击。以下,我们描述为了混淆白盒AES的轮边界如何将”Chow1”的方法进行改进。
首先,我们将原始AES的操作次序进行如下调整,这并不会影响最后的结果(其中Kr是轮密钥,r=0,1,..,9,是将第11个轮密钥进行逆行移位操作后的结果):
明文STATE
FORr=1…9
异或加轮密钥(STATE,Kr-1)
字节代换(STATE)
行移位(STATE)
列混合(STATE)
异或加轮密钥(STATE,K9)
字节代换(STATE)
异或加轮密钥(STATE,)
行移位(STATE)
密文STATE
这样我们可以将行移位操作与列混合操作合并视为128-bit到128-bit的线性变换。
为了完成一个128-bit到128-bit的线性变换,我们需要16个8-bit到128-bit的查找表,以及15次128-bit的异或加操作(需要480个8-bit到4-bit的查找表)。我们将形如这种16(8-bit到128-bit)+480(8-bit到4-bit)个查找表构成的查找表组用图12中的110表示。
其次,我们用随机选择的混合双射(128×128可逆矩阵)对扩散层进行保护,并随机增加混合双射的数量。每增加一个混合双射,查找表网络中会增加一个110查找表组。由于每个110查找表组的结构是类似的,在增加混合双射的数量后,攻击者在定位白盒AES的轮边界时会遇到困难。混合双射的数量越多,攻击的难度越大。
为了详述混淆轮边界的白盒AES,根据8-bit到128-bit的查找表的不同生成方式,110查找表组又可以被细分为TypeIa查找表组111、TypeIb查找表组112、TypeIc查找表组113、TypeII查找表组114、TypeIII查找表组115、TypeId查找表组116,如图11所示。当然,这样的区分对攻击者来说是不可见的。
图4、6、7、8、9、10分别示意了111、112、113、114、115、116查找表组中8-bit到128-bit查找表的生成。这6种8-bit到128-bit的查找表分别记作TypeIa(300)、TypeIb(500)、TypeIc(600)、TypeII(700)、TypeIII(800)和TypeId(900)。
图11展示了混淆轮边界的白盒AES的全部查找表网络。每一轮中可以被随机设置的是TypeIb查找表组的数量。图3展示混淆轮边界的白盒AES中某一轮的查找表网络,其中包括轮首末的114查找表组和113查找表组,以及随机数量的112查找表组。
以下我们详述6种8-bit到128-bit查找表以及图5所示的异或加查找表TypeIV(400)的生成。
图4展示TypeIa查找表300。为了将密码边界推到包含解密模块的应用中来进一步保护密钥,输入白盒系统的消息一般都事先经过外部编码的处理。TypeIa查找表将外部输入编码还原,其中包括将外部编码中非线性部分还原的2个4-bit到4-bit的双射301、将外部编码中线性部分还原的8-bit到128-bit的变换302、起保护作用的128-bit到128-bit的随机混合双射MB(303)和最后的32个4-bit到4-bit的非线性输出编码304。301、302、303和304组合在一起构成了一个8-bit到128-bit的查找表。
图5展示TypeIV查找表400。TypeIV查找表完成将2组4-bit数据异或加的操作,其中包括抵消查找表网络中上一级非线性输出编码的2个4-bit到4-bit的双射401、完成异或加操作的8-bit到4-bit的402和4-bit到4-bit的非线性输出编码403。
图6展示TypeIb查找表500。TypeIb查找表抵消上一个混合双射并增加新的混合双射,其中包括抵消上一级非线性输出编码的2个4-bit到4-bit的双射501、抵消上一个混合双射MBprevious的8-bit到128-bit的变换502、新增加的128-bit到128-bit的随机混合双射MB(503)和32个4-bit到4-bit的非线性输出编码504。
图7展示TypeIc查找表600。TypeIc查找表抵消上一级的混合双射并与TypeII或TypeIII查找表衔接,其中包括抵消上一级非线性输出编码的2个4-bit到4-bit的双射601、抵消上一个混合双射MBprevious的8-bit到128-bit的变换602、16个8-bit到8-bit的随机混合双射603和32个4-bit到4-bit的非线性输出编码604。
图8展示TypeII查找表700。TypeII查找表出现在第1至9轮的开始,完成字节代换、异或加轮密钥、行移位和列混合的操作,其中包括抵消上一个TypeIc查找表中非线性输出编码的2个4-bit到4-bit的双射701、抵消上一个TypeIc查找表中混合双射的8-bit到8-bit的线性变换702、完成字节代换和异或加轮密钥的8-bit到8-bit的(703)、完成列混合操作的8-bit到32-bit的MCi’(704)、随机混合双射32-bit到128-bit的MBj’(705)以及32个4-bit到4-bit的非线性输出编码706。
对一个字节的输入x,其中r表示轮数,i,j表示状态中的位置,S代表字节代换,⊕代表异或加,是一个字节的轮密钥。MCi’和MBj’表示为了完成MC和MB代表的线性变换,将MC分成4个32×8部分中的第i′个,将MB分成4个128×32部分中的第j′个。(i′,j′)是将位置(i,j)经过行移位变换后得到的新位置。
图9展示TypeIII查找表800。TypeIII查找表出现在第10轮的开始,与TypeII查找表不同的是,其中没有列混合变换。TypeIII查找表包括抵消上一个TypeIc查找表中非线性输出编码的2个4-bit到4-bit的双射801、抵消上一个TypeIc查找表中混合双射的8-bit到8-bit的线性变换802、完成字节代换和异或加轮密钥的8-bit到8-bit的(803)、随机混合双射8-bit到128-bit的MB4j’+i’(804)以及32个4-bit到4-bit的非线性输出编码805。
对一个字节的输入x,其中i,j表示状态中的位置,S代表字节代换,⊕代表异或加,是第10个轮密钥中的一个字节,是将第11个轮密钥经过逆行移位变换后的一个字节。MB4j’+i’表示为了完成MB代表的线性变换,将MB分成16个128×8部分中的第4j′+i′个。(i′,j′)是将位置(i,j)经过行移位变换后得到的新位置。
图10展示TypeId查找表900。TypeId查找表抵消上一个混合双射并完成外部输出编码,其中包括抵消上一级非线性输出编码的2个4-bit到4-bit的双射901、抵消上一个混合双射MBprevious的8-bit到128-bit的变换902、128-bit到128-bit的外部编码的线性部分903和32个4-bit到4-bit的外部编码非线性部分904。
由于攻击者难于区分111、112、113、114、115、116查找表组,混淆轮边界的白盒AES最后呈现如图12所示的密码系统100。该系统包括总数量随机的查找表组110。输入消息101进入系统后,从一个110查找表组流向下一个,从最后一个110查找表组流出的即为输出消息102。
本发明并不限于AES这个实例。混淆轮边界的白盒密码方法可以适用于其他基于代换和线性变换的密码算法,如DES、Serpent,白盒实现的查找表结构都如图12所示。当然,由于原始密码算法的不同,110查找表组的结构会有所不同。用混淆查找表组模糊轮边界的思路还可以用于设计新的白盒密码算法,而不是仅仅限于将现有算法白盒实现。
为了进行密码分析,攻击者需要首先确定每一轮的边界。数量随机的混淆查找表组增大了确定轮边界的难度。我们可以将起混淆作用的查找表组的数量设置为安全参数,根据具体实施环境的不同而选择不同的参数。这样我们就可以得到一个查找表总规模可控,攻击难度可控的白盒密码系统。
图13展示了本发明的实施实例。该实例是一个媒体播放器。系统可以通过通信接口235获得内容提供商提供的数字内容,该接口可以是互联网或广播专线等。系统还可以从介质236获得数字内容,例如CD、DVD或U盘。从235或236获得的数字内容可以包括WAV、MP3、WMA、AVI、JPEG、MPEG-1、MPEG-2、MPEG-4等格式。预先内置在存储器232中的安全播放模块不仅需要对数字内容进行解码,基于数字权利管理的目的,还需要先对加密的数字内容进行解密。安全播放模块中的参数和指令包括本发明涉及的查找表网络和相应的查表操作。处理器231可以接受来自用户的输入,来确定需要播放的内容,并将解密解码后的内容呈现在显示器(或音箱)234上。
本发明可以扩展应用至所有适于实施本发明的计算机程序。该程序可以具有源代码、目标代码和部分编译的目标代码等形式。程序的载体可以是能够携带该程序的任何实体或装置,包括:ROM等存储介质、Internet等信息通道传输的信号和嵌入了程序的集成电路等。
以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求书所述为准。
Claims (8)
1.一种白盒密码系统,用于在给定密钥的情况下执行将输入消息映射到输出消息的密码操作,其特征在于,所述系统包括:由若干结构相似的查找表组构成的查找表网络,其中至少一个查找表组是随机添加的,用来混淆原分组密码的轮边界。
2.根据权利要求1所述的白盒密码系统,其特征在于,所述查找表网络被划分为串行执行的若干结构相似的查找表组,并且查找表组的总数量是随机的。
3.根据权利要求2所述的白盒密码系统,其特征在于,随机添加的用于混淆轮边界的查找表组的数量被设置为安全参数,根据该安全参数控制白盒实现的规模和复杂程度。
4.根据权利要求1所述的白盒密码系统,其特征在于,所述系统采用硬件实现,或者通过在硬件上运行的软件实现。
5.—种增加白盒密码安全性的方法,用于在给定密钥的情况下执行将输入消息映射到输出消息的密码操作,其特征在于,所述方法包括:在给定密钥的情况下,生成由若干结构相似的查找表组构成的查找表网络,用随机增加查找表组的方法进行轮边界混淆,利用查找表组完成密码算法。
6.根据权利要求5所述的方法,其特征在于,所述查找表网络被划分为串行执行的若干结构相似的查找表组,并且查找表组的总数量是随机的。
7.根据权利要求6所述的方法,其特征在于,随机增加的用于混淆轮边界的查找表组的数量被设置为安全参数,根据该安全参数控制白盒实现的规模和复杂程度。
8.权利要求5至7中任一项所述方法用于基于代换和线性变换的密码算法,包括AES算法、DES算法、Serpent算法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510364025.4A CN105099666A (zh) | 2015-06-26 | 2015-06-26 | 混淆轮边界的白盒密码系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510364025.4A CN105099666A (zh) | 2015-06-26 | 2015-06-26 | 混淆轮边界的白盒密码系统和方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105099666A true CN105099666A (zh) | 2015-11-25 |
Family
ID=54579312
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510364025.4A Pending CN105099666A (zh) | 2015-06-26 | 2015-06-26 | 混淆轮边界的白盒密码系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105099666A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105681025A (zh) * | 2016-01-29 | 2016-06-15 | 中国科学院信息工程研究所 | 一种国家密码标准算法sm4的安全白盒实现方法和装置 |
WO2017097791A1 (en) * | 2015-12-07 | 2017-06-15 | Koninklijke Philips N.V. | Calculating device and method |
CN107483387A (zh) * | 2016-06-08 | 2017-12-15 | 北京数码视讯软件技术发展有限公司 | 一种安全控制方法及装置 |
CN107968706A (zh) * | 2017-11-21 | 2018-04-27 | 武汉珈港科技有限公司 | 具有流程保护功能的白盒密码方法及系统 |
CN108090349A (zh) * | 2017-12-19 | 2018-05-29 | 武汉珈港科技有限公司 | 一种基于白盒指令和扩展图灵模型的应用程序白盒化保护系统及方法 |
CN108111622A (zh) * | 2017-12-29 | 2018-06-01 | 北京梆梆安全科技有限公司 | 一种下载白盒库文件的方法、装置及系统 |
CN108494546A (zh) * | 2018-02-13 | 2018-09-04 | 北京梆梆安全科技有限公司 | 一种白盒加密方法、装置及存储介质 |
CN109450632A (zh) * | 2019-01-11 | 2019-03-08 | 西安电子科技大学 | 基于白盒分组密码clefia分析的密钥恢复方法 |
CN109661792A (zh) * | 2017-06-09 | 2019-04-19 | 皇家飞利浦有限公司 | 计算分组密码的设备和方法 |
CN109714154A (zh) * | 2019-03-05 | 2019-05-03 | 同济大学 | 代码体积困难白盒安全模型下的白盒密码算法 |
CN110505054A (zh) * | 2019-03-28 | 2019-11-26 | 杭州海康威视数字技术股份有限公司 | 一种基于动态白盒的数据处理方法、装置及设备 |
CN111555862A (zh) * | 2020-05-13 | 2020-08-18 | 华南师范大学 | 基于掩码保护的随机冗余轮函数的白盒aes实现方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101536398A (zh) * | 2006-11-17 | 2009-09-16 | 皇家飞利浦电子股份有限公司 | 用于白盒实现的加密方法 |
CN102461058A (zh) * | 2009-03-10 | 2012-05-16 | 爱迪德有限责任公司 | 具有输入相关编码的白盒密码系统 |
US20120124392A1 (en) * | 2008-10-21 | 2012-05-17 | Apple Inc. | System and method for stream/block cipher with internal random states |
CN102484581A (zh) * | 2009-06-19 | 2012-05-30 | 耶德托公司 | 使用中间数据更改的具有可配置密钥的白盒密码系统 |
-
2015
- 2015-06-26 CN CN201510364025.4A patent/CN105099666A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101536398A (zh) * | 2006-11-17 | 2009-09-16 | 皇家飞利浦电子股份有限公司 | 用于白盒实现的加密方法 |
US20120124392A1 (en) * | 2008-10-21 | 2012-05-17 | Apple Inc. | System and method for stream/block cipher with internal random states |
CN102461058A (zh) * | 2009-03-10 | 2012-05-16 | 爱迪德有限责任公司 | 具有输入相关编码的白盒密码系统 |
CN102484581A (zh) * | 2009-06-19 | 2012-05-30 | 耶德托公司 | 使用中间数据更改的具有可配置密钥的白盒密码系统 |
Non-Patent Citations (1)
Title |
---|
史扬等: "《白盒加密算法及其应用》", 《第十八届全国信息保密学术会议论文集》 * |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018538620A (ja) * | 2015-12-07 | 2018-12-27 | コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. | 計算デバイス及び方法 |
WO2017097791A1 (en) * | 2015-12-07 | 2017-06-15 | Koninklijke Philips N.V. | Calculating device and method |
NL2015911B1 (en) * | 2015-12-07 | 2017-06-28 | Koninklijke Philips Nv | Calculating device and method. |
CN105681025A (zh) * | 2016-01-29 | 2016-06-15 | 中国科学院信息工程研究所 | 一种国家密码标准算法sm4的安全白盒实现方法和装置 |
CN105681025B (zh) * | 2016-01-29 | 2019-04-16 | 中国科学院信息工程研究所 | 一种国家密码标准算法sm4的安全白盒实现方法和装置 |
CN107483387A (zh) * | 2016-06-08 | 2017-12-15 | 北京数码视讯软件技术发展有限公司 | 一种安全控制方法及装置 |
CN109661792A (zh) * | 2017-06-09 | 2019-04-19 | 皇家飞利浦有限公司 | 计算分组密码的设备和方法 |
CN107968706A (zh) * | 2017-11-21 | 2018-04-27 | 武汉珈港科技有限公司 | 具有流程保护功能的白盒密码方法及系统 |
CN107968706B (zh) * | 2017-11-21 | 2020-10-13 | 武汉珈港科技有限公司 | 具有流程保护功能的白盒密码方法及系统 |
CN108090349A (zh) * | 2017-12-19 | 2018-05-29 | 武汉珈港科技有限公司 | 一种基于白盒指令和扩展图灵模型的应用程序白盒化保护系统及方法 |
CN108111622A (zh) * | 2017-12-29 | 2018-06-01 | 北京梆梆安全科技有限公司 | 一种下载白盒库文件的方法、装置及系统 |
CN108494546A (zh) * | 2018-02-13 | 2018-09-04 | 北京梆梆安全科技有限公司 | 一种白盒加密方法、装置及存储介质 |
CN109450632A (zh) * | 2019-01-11 | 2019-03-08 | 西安电子科技大学 | 基于白盒分组密码clefia分析的密钥恢复方法 |
CN109714154A (zh) * | 2019-03-05 | 2019-05-03 | 同济大学 | 代码体积困难白盒安全模型下的白盒密码算法 |
CN110505054A (zh) * | 2019-03-28 | 2019-11-26 | 杭州海康威视数字技术股份有限公司 | 一种基于动态白盒的数据处理方法、装置及设备 |
CN111555862A (zh) * | 2020-05-13 | 2020-08-18 | 华南师范大学 | 基于掩码保护的随机冗余轮函数的白盒aes实现方法 |
CN111555862B (zh) * | 2020-05-13 | 2023-04-28 | 华南师范大学 | 基于掩码保护的随机冗余轮函数的白盒aes实现方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105099666A (zh) | 混淆轮边界的白盒密码系统和方法 | |
CN102461058B (zh) | 具有输入相关编码的白盒密码系统 | |
CN101536398B (zh) | 用于白盒实现的加密方法 | |
CN102484581B (zh) | 使用中间数据更改的具有可配置密钥的白盒密码系统 | |
EP1997265B1 (en) | Integrity of a data processing system using white-box for digital content protection | |
CN105681025B (zh) | 一种国家密码标准算法sm4的安全白盒实现方法和装置 | |
US9515818B2 (en) | Multi-block cryptographic operation | |
CN106411518B (zh) | 一种密钥不固定的对称白盒加密方法和装置 | |
CN105324956B (zh) | 加密明文数据的方法及设备 | |
JP5026275B2 (ja) | 暗号化関数を難読化するための方法及びシステム | |
US9189425B2 (en) | Protecting look up tables by mixing code and operations | |
CN105187364A (zh) | 保护白盒实现方案不受攻击 | |
CN105049400A (zh) | 在白盒实现方案中拆分s盒以防止攻击 | |
CN102016871A (zh) | 密码系统 | |
CN106059752B (zh) | 一种基于扩张密文的白盒密码加解密方法 | |
US8699702B2 (en) | Securing cryptographic process keys using internal structures | |
CN105191206A (zh) | 适用于混淆的电子块密码设备 | |
CN105184115A (zh) | 用于将隐式完整性或可信性检查包括到白箱实现中的方法 | |
CN107273724B (zh) | 为白盒实施方案的输入和输出加水印 | |
CN105978680A (zh) | 在白盒实现方案中实现填充 | |
CN105721134A (zh) | 使用带有多个外部编码的单个白盒实现 | |
Xu et al. | A white-box AES-like implementation based on key-dependent substitution-linear transformations | |
CN105281893A (zh) | 用于引入白箱实现对串集合的依赖性的方法 | |
CN115730296A (zh) | 密码学过程的安全执行 | |
KR101971001B1 (ko) | 화이트박스 암호가 적용된 블록 암호 기반의 난수 생성 방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20151125 |