数据加密装置及方法

文档序号:9648876阅读:243来源:国知局
数据加密装置及方法
【技术领域】
[0001]公开的实施例涉及一种数据加密方法,具体地讲,涉及一种利用白盒加密法(ffhite-Box Cryptography:WBC)来确保密码学上的安全性的同时实现高效的数据加密的技术。
【背景技术】
[0002]为了在通信信道上传送需要机密的数据,开发了多种加密方法。现有的许多加密算法(cryptographic algorithm)(假设,AES)假设通信信道上的端点是可信任的。即,这样的算法的目的在于在攻击者只能访问该加密算法的输入/输出的状况下提供足够的安全性。
[0003]通常,在诸如个人计算机、平板电脑或者智能手机的通信装置上,加密算法通过软件来实施。然而,对于加密算法的软件实施而言,攻击者可容易地访问。攻击者不仅可以看到加载到通信装置上的存储器的二进制(binary)值并且可以替换这些值,而且还可以随意控制被实施的加密算法。如果通过如上所述的攻击存储器而使得用于加密(encrypt1n)/解密(decrypt1n)的密钥被暴露于攻击者,则攻击者可容易解读任何密文,而且该加密算法事实上会成为无用之物。
[0004]白盒加密法(WBC)可从根本上解决前述的问题,其主要的概念是,即使加密算法被暴露于攻击者,也使得攻击者难以提取加密密钥。只是,总所周知,该方式与现有的加密算法相比,加密需要更长的时间(例如,数十倍的时间)。由于这样的缺点,当前WBC仅用于短消息(例如,128比特或者256比特的加密密钥)之类的数据的加密,难以用于大量的数据的加密。例如,实际上,很多DRM解决方案为了对数据进行加密/解密而使用与WBC无关的加密/解密算法(例如,AES之类的基于对称密钥的算法),并且仅为了安全地管理用于加密/解密算法的密钥而使用WBC。然而,即使这样管理密钥,仍然存在安全弱点,原因在于在未用WBC实施的加密/解密算法被执行的过程中该密钥可能被暴露于存储器上。因此,需要一种能够坚强地应对存储器攻击的同时用于迅速的加密/解密的新的接入法。
[0005][现有技术文献]
[0006][专利文献]
[0007]美国授权专利第8259934号

【发明内容】

[0008]公开的实施例提供一种利用基于WBC的加密算法及基于对称密钥的加密算法来执行数据加密并且据此对密文进行解密的新的方法。
[0009]根据示例性实施例,提供一种数据加密装置,作为对数据加密的装置,包括:密钥确定单元,确定用于基于白盒加密法(White-Box Cryptography:WBC)的加密的加密密钥及与所述加密密钥不同的对称密钥;加密单元,利用所述基于WBC的加密并且利用所述对称密钥和基于对称密钥的加密来生成所述数据的密文。
[0010]所述密文可包含基于对称密钥的密文和为了对所述基于对称密钥的密文进行解密而待解密的基于WBC的密文。
[0011]所述加密单元可包括:基于WBC的加密单元,将所述基于WBC的加密应用于所述数据的一部分而生成所述基于WBC的密文;基于对称密钥的加密单元,将所述基于对称密钥的加密应用于所述数据的其他部分而生成基于对称密钥的密文。
[0012]所述加密单元还可包括:初始化单元,该初始化单元生成用于对所述数据加密的初始化向量,所述基于WBC的加密单元可为了应用所述基于WBC的加密而使用所述初始化矢量。
[0013]所述加密单元可包括:初始化单元,生成用于对所述数据加密的初始化向量;基于WBC的加密单元,将所述基于WBC的加密应用于所述初始化向量而生成所述基于WBC的密文;基于对称密钥的加密单元,将所述基于对称密钥的加密应用于所述数据而生成基于对称密钥的密文。
[0014]所述初始化向量可包含计数器值,所述基于对称密钥的加密单元可为了应用所述基于对称密钥的加密而使用所述计数器值。
[0015]根据示例性实施例,提供一种数据解密装置,作为用于对数据的密文解密的装置,包括:基于WBC的解密单元,将利用加密密钥的基于WBC的解密应用于所述密文的一部分而生成解密的信息;基于对称密钥的解密单元,利用与所述加密密钥不同的对称密钥及所述解密的信息以及基于对称密钥的解密来对所述密文的其他部分进行解密。
[0016]所述解密的信息可以是所述数据的一部分。
[0017]所述解密的信息可以是用于对所述数据加密的初始化向量。
[0018]根据示例性实施例,提供一种数据加密方法,作为对数据加密的方法,包括如下步骤:确定加密密钥及与所述加密密钥不同的对称密钥,所述加密密钥用于基于白盒加密法(ffhite-Box Cryptography:WBC)的加密;利用所述基于WBC的加密并且利用所述对称密钥和基于对称密钥的加密来生成所述数据的密文。
[0019]所述密文可包含基于对称密钥的密文及为了对所述基于对称密钥的密文解密而待解密的基于WBC的密文。
[0020]生成所述密文的步骤可包括如下步骤:将所述基于WBC的加密应用于所述数据的一部分而生成所述基于WBC的密文;将所述基于对称密钥的加密应用于所述数据的其他部分而生成所述基于对称密钥的密文。
[0021]生成所述密文的步骤还可包括如下步骤:生成用于对所述数据加密的初始化向量,生成所述基于WBC的密文的步骤可包括如下步骤:为了应用所述基于WBC的加密而使用所述初始化矢量。
[0022]生成所述密文的步骤可包括如下步骤:生成用于对所述数据加密的初始化向量;将所述基于WBC的加密应用于所述初始化向量而生成所述基于WBC的密文;将所述基于对称密钥的加密应用于所述数据而生成基于对称密钥的密文。
[0023]所述初始化向量可包含计数器值,生成所述基于对称密钥的密文的步骤可包括如下步骤:可为了应用所述基于对称密钥的加密而使用所述计数器值。
[0024]根据示例性实施例,提供一种数据解密方法,作为用于对数据的密文解密的方法,包括如下步骤:将利用加密密钥的基于WBC的解密应用于所述密文的一部分而生成解密的信息;利用与所述加密密钥不同的对称密钥及所述解密的信息和基于对称密钥的解密对所述密文的其他部分进行解密。
[0025]所述解密的信息可以是所述数据的一部分。
[0026]所述解密的信息可以是用于对所述数据加密的初始化向量。
[0027]根据示例性实施例,提供一种与硬件结合且为了执行所述数据加密方法而存储于介质的计算机程序。
[0028]根据示例性实施例,提供一种与硬件结合且为了执行所述数据解密方法而存储于介质的计算机程序。
[0029]根据特定的实施例的数据加密方法针对攻击者的存储器攻击实现安全且高效的加密及解密。
[0030]根据特定的实施例的数据加密方法利用基于WBC的加密算法,因此不需要密钥管理。
[0031]根据特定的实施例的数据加密方法可适用多种基于WBC的加密算法。
【附图说明】
[0032]图1是示出根据示例性实施例的数据加密装置的图。
[0033]图2是示出根据示例性实施例的数据解密装置的图。
[0034]图3a及图3b是用于说明根据示例性实施例的用于块加密操作的填充密码块链接(PCBC:Propagating Cipher Block Chaining)模式的图。
[0035]图4a及图4b是用于说明根据示例性实施例的用于块加密操作的输出反馈(0FB:Output Feedback)模式的图。
[0036]图5a及图5b是用于说明根据示例性实施例的用于块加密操作的PCBC模式的图。
[0037]图6a及图6b是用于说明根据示例性实施例的用于块加密操作的0FB模式的图。
[0038]图7a及图7b是用于说明根据示例性实施例的用于块加密操作的计数器(counter)模式的图。
[0039]图8是示出根据示例性实施例对数据进行加密的过程的流程图。
[0040]图9是示出根据示例性实施例对数据进行解密的过程的流程图。
[0041]符号说明:
[0042]100:数据加密装置
[0043]102:数据
[0044]104:加密的数据
[0045]110:密钥确定单元
[0046]120:加密单元
[0047]124:加密密钥
[0048]126:对称密钥
[0049]128:初始化向量
[0050]140:基于WBC的加密单元
[0051]160:基于对称密钥的加密单元
[0052]180:初始化单元
[0053]200:数据解密装置
[0054]202:解密的数据
[0055]240:基于WBC的解密单元
[0056]260:基于对称密钥的解密单元
【具体实施方式】
[0057]以下,将参照附图对本发明的【具体实施方式】进行描述。提供以下的详细说明,以有助于对本说明书所记载的方法、装置和/或系统的全面理解。然而,这只不过是示例,并且本发明不限于此。
[0058]在对本发明的实施例进行描
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1