首页 / 专利库 / 电子零件及设备 / 逻辑门 / 利用加扰电路的白盒实施方案

利用加扰电路的白盒实施方案

阅读:2发布:2020-11-28

专利汇可以提供利用加扰电路的白盒实施方案专利检索,专利查询,专利分析的服务。并且一种用于使用加扰 电路 产生密码函数的白盒实施方案的方法,包括:使用多个 逻辑 门 和多个线通过第一方产生实施所述密码函数的 逻辑电路 ;通过所述第一方对所产生的逻辑电路进行加扰,包括对所述多个 逻辑门 进行加扰以及为所述多个线中的每一个指派两个加扰值;以及向第二方提供所加扰的逻辑电路和第一加扰电路输入值。,下面是利用加扰电路的白盒实施方案专利的具体信息内容。

1.一种用于使用加扰电路产生密码函数的白盒实施方案的方法,其特征在于,包括:
使用多个逻辑和多个线通过第一方产生实施所述密码函数的逻辑电路
通过所述第一方对所产生的逻辑电路进行加扰,包括对所述多个逻辑门进行加扰以及为所述多个线中的每一个指派两个加扰值;以及
向第二方提供所加扰的逻辑电路和第一加扰电路输入值。
2.根据权利要求1所述的方法,其特征在于,密码密钥内嵌于所述密码函数中。
3.根据权利要求1所述的方法,其特征在于,密码密钥是作为第二加扰输入的所述加扰电路的输入,并向所述第二方提供第二加扰输入。
4.根据权利要求1所述的方法,其特征在于,所述密码函数是高级加密标准(AES)函数。
5.根据权利要求1所述的方法,其特征在于,所述密码函数是公钥加密函数。
6.根据权利要求1所述的方法,其特征在于,所述密码函数是数字签名函数。
7.根据权利要求1所述的方法,其特征在于,所述密码函数是消息认证函数。
8.根据权利要求1所述的方法,其特征在于,进一步包括通过所述第二方评估所述所加扰的逻辑电路以产生加扰输出,第二方将所述加扰输出映射到所述密码函数的实际输出值。
9.根据权利要求1所述的方法,其特征在于,所加扰的逻辑电路包括实施所述逻辑门的一部分的多个加扰查找表。
10.一种非暂时性机器可读存储媒体,其特征在于,其经供执行的指令编码以执行用于使用加扰电路产生密码函数的白盒实施方案的方法,包括:
用于使用多个逻辑门和多个线通过第一方产生实施所述密码函数的逻辑电路的指令;
用于通过所述第一方对所产生的逻辑电路进行加扰的指令,包括对所述多个逻辑门进行加扰以及为所述多个线中的每一个指派两个加扰值;以及
向第二方提供所加扰的逻辑电路和第一加扰电路输入值。

说明书全文

利用加扰电路的白盒实施方案

技术领域

[0001] 本文中所公开的各种示例性实施例大体上涉及使用加扰电路的密码函数的白盒实施方案。

背景技术

[0002] 白盒加密旨在保护私用密钥不被公开于密码或安全函数的软件实施方案中。在此背景中,假设攻击者(通常是“合法”用户或恶意软件)还可控制软件实施方案的执行环境。这与更传统的安全模型相反,在更传统的安全模型中,攻击者仅具有对研究中的密码函数的黑盒接入(即,输入/输出)。
[0003] 白盒实施方案旨在重写密钥具现化版本以使得有关密钥的所有信息都隐藏在密码或安全函数的软件实施方案中。换句话说,对于每一私用密钥,实施密钥定制软件以使得不需要密钥输入。在其它实施例中,私用密钥可被输入到白盒实施方案。在此情况下,密钥可进行编码。
[0004] 大部分对称分组密码,包括AES和DES,都使用替换盒和线性变换实施。想象此类密码是实施为巨大查询表的白盒,所述查询表将任何明文采用为输入并针对给定密钥返回对应的密文。观察到白盒实施方案具有与黑盒背景中的相同密码完全相同的安全性:对手只能了解到匹配的明文/密文对。实际上,在明文通常为64位或128位值的情况下,这种理想方法由于所得查找表的大小而无法实施。
[0005] 当前白盒实施方案将上述基本构思应用到密码函数的较小分量。这些白盒实施方案将每一分量表示为一系列查找表,并在查找表上插入随机输入和输出对射编码以引入模糊性,以使得所得算法呈现为具有随机化值的一系列查找表的组合物。
[0006] 为了进一步保护,可以通过用组合物E′K=GοEKοF-1(或E′K-1=FοEK-1οG-1)替代加密函数EK(或解密函数EK-1)来使用外部(独立于密钥的)编码。输入编码函数F和输出解码函数G-1(或G和F-1)不应在计算E′K(或E′K-1)的平台上提供,从而使得白盒实施方案无法用于计算EK(或EK-1)。尽管所得实施方案并不是标准,但是此类方法适用于多种应用程序。发明内容
[0007] 各种示例性实施例的简要概述在下文呈现。在以下概述中可以做出一些简化和省略,其意在突出并介绍各种示例性实施例的一些方面,但不限制本发明的范畴。足以允许本领域的一般技术人员做出并且使用发明性概念的示例性实施例的详细描述将在稍后章节呈现。
[0008] 根据本发明的第一方面,提供一种用于使用加扰电路产生密码函数的白盒实施方案的方法,包括:
[0009] 使用多个逻辑和多个线通过第一方产生实施所述密码函数的逻辑电路
[0010] 通过所述第一方对所产生的逻辑电路进行加扰,包括对所述多个逻辑门进行加扰以及为所述多个线中的每一个指派两个加扰值;以及
[0011] 向第二方提供所加扰的逻辑电路和第一加扰电路输入值。
[0012] 根据本发明的第二方面,提供一种非暂时性机器可读存储媒体,其经供执行的指令编码以执行用于使用加扰电路产生密码函数的白盒实施方案的方法,包括:
[0013] 用于使用多个逻辑门和多个线通过第一方产生实施所述密码函数的逻辑电路的指令;
[0014] 用于通过所述第一方对所产生的逻辑电路进行加扰的指令,包括对所述多个逻辑门进行加扰以及为所述多个线中的每一个指派两个加扰值;以及
[0015] 向第二方提供所加扰的逻辑电路和第一加扰电路输入值。
[0016] 描述各种实施例,其中密码密钥内嵌于密码函数中。
[0017] 描述各种实施例,其中密码密钥是作为第二加扰输入的加扰电路的输入,并向第二方提供第二加扰输入。
[0018] 描述各种实施例,其中密码函数为高级加密标准(AES)函数。
[0019] 描述各种实施例,其中密码函数是公钥加密函数。
[0020] 描述各种实施例,其中密码函数是数字签名函数。
[0021] 描述各种实施例,其中密码函数是消息认证函数。
[0022] 描述各种实施例,另外包括通过第二方评估所加扰的逻辑电路以产生加扰输出,第二方将所述加扰输出映射到密码函数的实际输出值。
[0023] 描述各种实施例,其中所加扰的逻辑电路包括实施逻辑门的一部分的多个加扰查找表。
[0024] 描述各种实施例,其中查找表LUT中的一个接收输入x=(x0,...,xm-1)2∈{0,1}m,产生输出y=LUT(x)=(y0,...,yn-1)2∈{0,1}n,并且其中为多个线中的每一个指派两个加扰值包括向每一个线 指派两个加扰值 和其中 且 另外包括:
将加扰LUT计算如下:对于所有可能的x,
[0025] 描述各种实施例,其中为多个线中的每一个指派两个加扰值包括向每一个线指派两个加扰值 和 其中且
附图说明
[0026] 为了更好地理解各种示例性实施例,参考附图,其中:
[0027] 图1示出加扰或门;以及
[0028] 图2示出具有m个输入位和n个输出位的门。
[0029] 为了便于理解,相同的附图标号已用于指代具有大体上相同或类似结构和/或大体上相同或类似功能的元件。

具体实施方式

[0030] 描述和附图说明本发明的原理。将了解,本领域的技术人员将能够设计各种布置,尽管本文中未明确地描述或示出所述布置,但其体现本发明的原理且包括在本发明的精神和范围内。此外,本文中所述的所有例子主要明确地意在用于教学目的以辅助读者理解本发明的原理及由发明人所提供的概念,从而深化所属领域,且所有例子不应解释为限于此类特定所述例子及条件。另外,如本文中所使用,除非另有指示(例如,“或另外”或“或在替代方案中”),否则术语“或”是非排他性的或(即,和/或)。并且,本文所描述的各种实施例不一定相互排斥,因为一些实施例可与一个或多个其它实施例组合从而形成新的实施例。
[0031] 在基础版本中,姚协议(Yao′s protocol)(也称为加扰电路)允许在存在半诚实的对手的情况下,对函数f(x1,x2)进行双方评估。协议在输入所有者之间运行(ai表示用户i的私人输入)。在协议结束时,获得f(a1,a2)的值,但是双方都只能了解到这一输出值所揭示的内容。
[0032] 协议操作如下。被称作加扰者的第一方构建用于计算函数f的电路的加扰版本。双方在加扰之前都知道函数f和电路。接着,第一方将加扰电路以及对应于a1的加扰电路输入值(且只有那些用于a1)提供给被称作评估者的第二方。记号GI(a1)用于表示这些输入值。第一方还提供加扰电路输出值和实际位值之间的映射。在接收到电路后,评估者参与进与加扰者的二取一不经意传输协议(1-out-of-2 oblivious transfer protocol),所述加扰者扮演选择者的色,以便不经意地获得对应于其私人输入a2的加扰电路输入值GI(a2)。根据GI(a1)和GI(a2),评估者可因此使用f及GI(a1)和GI(a2)的加扰版本来计算f(a1,a2)。
[0033] 更详细地说,协议通过布尔型电路评估函数f。对于电路的每一个线wi,加扰者关联两个随机密码密钥 和 它们分别对应于位值bi=0和bi=1。然后,对于具有输入线(wi,wj)和输出线wk的每一二进制门g(例如,或门),加扰者计算四个密文其中bi,bj∈{0,1}。
[0034] 图1示出实施上述函数的加扰或门。这一组四个随机排序的密文定义了加扰门,如下表中所示。
[0035]
[0036] 通过一对密钥加密的对称加密算法ε在选定明文攻击下具有难以区分的加密。还应注意,对于给定的一对密钥 对应的解密过程根据构成加扰门的四个密文明确地恢复 的值。值得注意的是,对 的了解只能得到 的值,且针
对此门,无法恢复所有其它输出值。因此,评估者可逐门评估整个加扰电路,以使得没有关于中间计算的额外信息泄露。
[0037] 根据上文描述,可看出加扰电路是一种极有的工具。但是存在一个相当大的限制:当提供超过一个电路输入时,安全性会受到损害。因此,当在新输入上计算f时需要创建电路(和输入)的不同加扰版本。通常,实施加扰电路包括数个步骤,包括:
[0038] 确定逻辑电路以实施函数f;
[0039] 通过第一方,即加扰者,对此电路进行加扰;
[0040] 向第二方,即评估者,提供此加扰电路f和加扰电路输入值GI(a1)和GI(a2),所述加扰电路输入值GI(a1)和GI(a2)对应于(可映射到)电路的实际输入值a1和a2(使用不经意传输);以及
[0041] 通过第二方评估电路并获得加扰电路输出,所述加扰电路输出由可通过加扰者映射到实际输出值a3=f(a1,a2)的GO(a3)表示。
[0042] 现将描述在白盒模型中使用加扰电路具现化密码函数f的实施例。密码函数f的加扰可一次完成,并且可被提供到需要计算密码函数f的目标平台或用户。出于安全性原因,可以定期更新f的此电路实施方案。
[0043] f的加扰电路可表示为具有门的电路,其中门具有两个或更多个输入。此方法可用于具现化固定和动态的具现化白盒实施方案。
[0044] 在固定密钥的情况下,固定私用密钥已经内嵌于密码算法中。密码算法和固定密钥的这一组合用作其中创建加扰电路的函数f。评估者的输入仅是需要通过密码函数f进行加密/解密或签名的消息的加扰输入值。
[0045] 在动态密钥的情况下,使用目标密码原语的加扰电路f。算法的输入是值(GI(a1),GI(a2))的元组,其中a1是私用密钥,且a2是算法的输入消息。可替换的是,a1可以是算法的输入消息,且a2可以是私用密钥。
[0046] 在白盒加密的情况下,惯例是允许在算法的输入和输出值上进行外部编码。因此,可假设加扰输入值对应于外部输入编码,且加扰输出值在其顶部上具有外部编码。这大大简化了方法。不需要不经意传输,因为仅仅将加扰输入发送到目标平台。f的例子可为计算消息的解密的分组密码,其中输入和输出均应用有外部编码。
[0047] 现将描述如何利用m个输入位和n个输出位加扰查找表(LUT)。图2示出具有m个输入位和n个输出位的门。二进制门一般是使用m=2和n=1。使用加扰电路实施密码函数的方法可如下:
[0048] 1.向每一输入线 指派两个加扰值 和其中 κ是密钥长度,并且 且
[0049] 2.对每一输出线 执行同一操作;
[0050] 3.对于所有可能的x=(x0,...,xm-1)2∈{0,1)m,
[0051] a.使y=LUT(x)=(y0,...,yn-1)2∈{0,1}n,以及
[0052] b.计算:
[0053]
[0054] 返回加扰表格
[0055] 为了评估这一加扰表格,评估者接收以下作为输入;
[0056] 以及
[0057]
[0058] 评估者计算输出,如下:
[0059] 计算 以及
[0060] 计算 并得到
[0061] 本文中所描述的实施例可适用于任何密码算法,包括公钥算法、键控散列算法、数字签名算法和消息认证算法。它们可用作设计在白盒背景中受保护的实施方案的构建
[0062] 在处理器上运行以实施本发明的实施例的特定软件的任何组合构成特定专门机器。
[0063] 如本文所使用,术语“非暂时性机器可读存储媒体”应理解为排除暂时传播的信号但包括所有形式的易失性和非易失性存储器。此外,如本文中所使用,术语“处理器”应理解为涵盖多种装置,例如微处理器现场可编程门阵列(FPGA)、专用集成电路(ASIC)和其它类似处理装置。当软件在处理器上实施时,所述组合变为单一特定机器。
[0064] 本领域的技术人员应了解,本文中的任何框图表示体现本发明的原理的说明性电路的概念视图。
[0065] 尽管已特定参考各种示例性实施例的特定示例性方面详细地描述各种示例性实施例,但应理解,本发明能够具有其它实施例,且能够在各种显而易见的方面修改本发明的细节。对于本领域的技术人员来说显而易见的是,可以实现变化和修改,同时保持在本发明的精神和范围内。因此,前述公开内容、描述和图式仅出于说明性目的并且不以任何方式限制本发明,本发明仅由权利要求书限定。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈