当前位置: 首页 > 专利查询>罗伯特专利>正文

用预先计算数据改进多方计算中AES效率的系统和方法技术方案

技术编号:34366848 阅读:16 留言:0更新日期:2022-07-31 09:12
提供了用预先计算数据改进多方计算中AES效率的系统和方法。一种利用密码技术的分布式计算机网络,其包括一个或多个处理器,其中一个或多个处理器被编程为接收秘密输入状态和一个或多个元组,用一个或多个元组掩蔽秘密输入状态并利用揭露来计算掩蔽输入,在掩蔽输入上计算六个乘法,计算两个秘密值的乘法以输出中间输出,掩蔽来自中间输出的第三秘密值并揭露第三秘密值以计算交互,利用交互来计算多方

System and method of improving AES efficiency in multiparty computing with pre calculated data

【技术实现步骤摘要】
用预先计算数据改进多方计算中AES效率的系统和方法


[0001]本公开涉及安全性,例如密码技术。此外,本公开可涉及用于密码技术的高级加密标准(AES)。

技术介绍

[0002]安全多方计算(MPC)是密码技术中的一个领域,它为多方提供了可以在私有输入上联合计算函数的方法。在MPC中,各方获得了他们想要在其上计算函数的输入的一些“份额(share)”。MPC可以提供一种方式使输入对于MPC参与者保持私有。此外,许多公司使用MPC联合计算他们感兴趣的一些函数,而不公开他们的私有输入。
[0003]由于MPC可能允许系统在协议参与者之间“分发”信任,MPC的一个非常重要的应用可能是安全地保护长期秘密密钥。当原本很难以管理此类密钥的安全性时,这可能允许公司管理秘密。因此,可以通过分成份额来在参与者之间分发秘密密钥,使得当运行MPC协议需要时特定参与者子集可以加密或解密数据,而不揭露密钥。一种合期望的加密/解密机制是标准分组密码高级加密标准(AES)。
[0004]最有效的MPC协议之一称为SPDZ(安全多方计算)。SPDZ使用线性秘密共享方法,以便用私有方式共享函数输入。从信息论的角度来看,秘密共享算法可以看作是加密方法。SPDZ方法还使得有可能在MPC设置中进行AES计算。
[0005]AES可以是本领域已知的标准分组密码。AES在标准系统中的安全性和效率已得到认可,因为它是AES的快速标准软件和硬件实现,其中系统每秒可以加密/解密数百万128个块。然而,AES可能不是特别为MPC计算而设计的。MPC中的分组密码计算效率低于其普通实现,这可能是由于形成轮的非线性层造成的。例如,AES

128可能有10轮,每轮由16个Sbox计算组成,对应于每轮中仅有的非线性函数层。每个Sbox作用于128比特状态的字节。每轮中的所有其他函数都是线性的,并因此直接在MPC设置中实现,因为它们不需要交互。
[0006]AES

128输入和输出128比特,并且每层和每轮操作128比特。AES操作可以用两种不同的电路设计来表示:布尔电路和代数电路。布尔电路表示可以在比特级计算利用布尔门(与和异或)的所有操作。代数电路表示可以依赖于称为AES代数有限域或伽罗瓦域的算术结构,该结构在字节级别定义代数(输入和所有内部状态将被视为16字节)。
[0007]在其四个层之间,子字节层可以执行非线性操作。子字节(又称Sbox)层可以对每16个字节应用置换。实现Sbox置换的方式不止一种。最后,实现AES子字节意味着应用表示置换的16个Sbox操作。在MPC中,其余层的成本可以忽略不计。因此,下面的公开将讨论Sbox操作,这是下面仅有的非线性操作。
[0008]MP

SPDZ可以允许系统在二进制有限域(诸如GF(2
40
))以及奇特性素数有限域(如Z
p
)中实现函数。标准AES算术可以用具有约减模量的伽罗瓦域GF(28)定义。由于统计安全性,MP

SPDZ可以允许在二进制有限域GF(2
40
)中进行计算。因此,在MP

SPDZ中以及在GF(2
40
)中实现AES,而不是在GF(28)中实现AES。因此,MP

SPDZ可能需要定义具有约减模量的域GF(2
40
),并且从GF(28)元素嵌入到GF(2
40
)元素(这些元素形成大小为28的子域)。定义GF
(2
40
)的约减模量可以是Q(X)=X
40
+X
20
+X
15
+X
10
+1,并且Y在GF(2^8)中的嵌入可以用GF(2^40)中的X5+1定义。
[0009]此外,SPDZ可以在离线或在线计算模型中工作,其中服务器(有时称为各方)在离线阶段期间预先计算数据,这通常使用昂贵的操作或方案(例如,深度有限的完全同态加密)实现。这个阶段的输出可以称为Beaver元组,其可以在在线计算阶段期间使用。这种计算模型的效果是,与任何其他替代方案相比,在线阶段非常快。现有技术已经提出了用于各种操作的元组,所述操作包括乘法、比特分解、矩阵乘法和平方运算。本公开的目的之一是提出特殊的子字节元组,其可用于加速AES子字节变换的计算。
[0010]本公开可以是任何系统中的应用,该系统打算加密静止数据或业务中的数据。例如,可以通过将本实施例集成到传输层安全(TLS)会话中来使用本实施例。传统上,TLS将由使用公钥密码技术的第一系列步骤组成,这些步骤用于约定对称密钥以批量加密数据。相对的,使用本公开中的优化,可以使用公钥密码技术执行第一步骤,其输出是对称密钥,对称密钥继而被分发到多方计算中涉及的服务器,这些服务器然后可以利用包括优化的实施例以分布式方式加密或解密业务。实施例的另一个应用将简单地涉及数据存储服务或安全分布式文件系统,其使用高级加密标准(AES)以加密形式存储静止数据,并使用实施例来加密或解密将使用分布在MPC服务器之间的秘密对称密钥来存储的数据。

技术实现思路

[0011]根据一个实施例,一种利用密码技术的分布式计算机网络,其包括一个或多个处理器,其中一个或多个处理器被编程为接收秘密输入状态和一个或多个元组,用一个或多个元组掩蔽秘密输入状态并利用揭露来计算掩蔽输入,在掩蔽输入上计算六个乘法,计算两个秘密值的乘法以输出中间输出,掩蔽来自中间输出的第三秘密值并揭露第三秘密值以计算交互,利用交互来计算多方

计算乘法,以及响应于计算多方

计算乘法而输出秘密值。
[0012]根据第二实施例,一种其上存储有软件指令的非暂时性计算机可读介质,当由处理器执行时,所述软件指令使处理器接收秘密输入状态和一个或多个元组,用一个或多个元组掩蔽秘密输入状态并利用揭露来计算掩蔽输入,计算两个秘密值的乘法以输出中间输出,掩蔽来自中间输出的第三秘密值并揭露第三秘密值以计算交互,利用交互来计算多方

计算乘法,以及响应于计算多方

计算乘法而输出秘密值。
[0013]根据第三实施例,一种分布式计算机网络中的密码技术的方法包括以下步骤:接收秘密输入状态和一个或多个元组,用一个或多个元组掩蔽秘密输入状态以计算掩蔽输入,在掩蔽输入上计算六个乘法,计算两个秘密值的乘法以输出中间输出,掩蔽来自中间输出的第三秘密值并揭露第三秘密值以计算交互,利用交互来计算多方

计算乘法,以及响应于计算多方

计算乘法而输出秘密值。
附图说明
[0014]图1公开了分布式计算机系统的实施例。
[0015]图2示出了利用AES

BD方法的逆的单个Sbox计算的示例流程图。
[0016]图3示出了逆AES协议的Sbox计算的另一个实施例的示例流本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种利用密码技术的分布式计算机网络,包括:一个或多个处理器,其中一个或多个处理器被编程为:接收秘密输入状态和一个或多个元组;用一个或多个元组掩蔽秘密输入状态并利用揭露来计算掩蔽输入;在掩蔽输入上计算六个乘法;计算两个秘密值的乘法以输出中间输出;掩蔽来自中间输出的第三秘密值并揭露第三秘密值以计算交互;利用交互来计算多方

计算乘法;以及响应于计算多方

计算乘法而输出最终秘密值。2.根据权利要求1所述的分布式计算机网络,其中一个或多个元组是离线预先计算的。3.根据权利要求2所述的分布式计算机网络,其中一个或多个预先计算的元组包括13个秘密伽罗瓦域元素。4.根据权利要求1所述的分布式计算机网络,其中掩蔽输入响应于掩蔽秘密输入状态而移除第一秘密值上的比特分解。5.根据权利要求1所述的分布式计算机网络,其中一个或多个处理器位于一个或多个服务器上。6.根据权利要求1所述的分布式计算机网络,其中处理器被编程为执行逆高级加密标准密码技术。7.根据权利要求1所述的分布式计算机网络,其中处理器被编程为在离线阶段期间利用揭露来计算掩蔽输入。8.根据权利要求1所述的分布式计算机网络,其中最终秘密值的输出利用不超130字节的存储。9.一种其上存储有软件指令的非暂时性计算机可读介质,当由处理器执行时,所述软件指令使处理器:接收秘密输入状态和一个或多个元组;用一个或多个元组掩蔽秘密输入状态并利用揭露来计算掩蔽输入;计算两个秘密值的乘法以输出中间输出;掩蔽来自中间输出的第三秘密值并揭露第三秘密值以计算交互;利用交互来计算多方
‑<...

【专利技术属性】
技术研发人员:B
申请(专利权)人:罗伯特
类型:发明
国别省市:

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

1