基于短公共参考串的自适应安全多方计算
1 引言
1.1 背景
在安全多方计算的场景中,一组互不信任的参与方希望以安全的方式共同计算一个关于其私有输入的函数。粗略地说,隐私要求确保即使一部分恶意参与方共谋,除了输出结果之外不会从协议中获得任何信息;而正确性要求确保输出结果的分布符合预设的功能。这种威胁通常由一个中心化的对手实体来建模,该实体可能控制部分被攻陷的参与方。如果一个对手在攻击协议执行时所能实现的任何效果,都可以在一个理想环境中通过一个不可攻陷的可信第三方协助参与方计算函数来模拟,则该协议被认为是安全的。
早期安全协议的构造基于对手是静态的这一假设,即被攻破的参与方集合在协议执行开始之前就已确定[20,31]。从比弗和哈伯的工作以及坎内蒂等人 [7],的研究开始,人们考虑了面对适应性对手时仍能保持安全的协议。在此设定下,对手可以在协议执行过程中根据其动态视图决定攻破哪些参与方。与静态安全相比,适应性安全构成了更大的挑战,特别是因为对手可以在协议执行完成后才攻破诚实的参与方。此外,它还可以攻破所有参与方,从而获取协议中使用的所有随机性。
第一个自适应安全协议,即使面对任意数量的被攻破参与方仍保持安全,由坎内蒂等人[8]提出。他们证明,在某些标准密码学假设下,任何自适应良构的功能2都可以在面对自适应恶意攻击者时被安全计算。该结果遵循GMW范式[20], ,包含两个阶段:首先,构建了一个针对自适应半诚实攻击者的安全协议。该协议在标准模型中是安全的,无需任何预设假设;然而,该协议的通信轮数取决于底层功能的电路深度。在第二阶段,该协议被编译为一个可抵御自适应恶意攻击者的协议;文献[8],中提出的从半诚实到恶意的编译器保持了轮复杂度,并且在所有参与方均可访问一个公共参考串(CRS)3的假设下是安全的。
最近,卡内蒂等人 [10],达赫曼‐索尔德等人 [11]以及加格和波利赫罗尼阿多 [15]。这三种协议均设计于公共参考串模型中,并共享一种思想:在公共参考串中嵌入一个混淆程序,该程序将待计算的电路作为其输入变量之一。因此,公共参考串的大小取决于电路的大小,而且即使仅考虑半诚实敌手,也需要公共参考串。达赫曼‐索尔德等人 [11]以及加格和波利赫罗尼阿多 [15]提出了一个问题:这些要求是否是必要的。
1.2 我们的贡献
在本研究中,我们考虑具有短公共参考串的适应性安全。这指的是两种安全概念:在标准模型(即无公共参考串)下针对半诚实敌手的适应性安全,以及在公共参考串模型下针对恶意攻击者的适应性安全,其中公共参考串不依赖于要计算的电路的大小。
通用可组合性框架中的非交互式非承诺加密。 非交互式非承诺加密方案是一种公钥加密方案,其增强了生成虚假公钥和虚假密文的能力,这些虚假公钥和虚假密文之后可被解释为对任意消息的加密。该原语是多种密码学构造的基本构建模块,例如实例化适应性安全通信信道 [7],适应性安全不经意传输(OT) [8]以及抗泄露协议 [3]。
尽管(交互式)非承诺加密(NCE)的提出远早于适应性安全的标准安全模型(主要是[4]的顺序组合框架和[5],的通用可组合性(UC)框架)的形式化,但人们普遍认为非交互式NCE在这些框架中是安全的。我们重新审视了非交互式NCE的安全性,发现虽然在顺序组合框架中证明其安全性是直接的,但在UC框架中则并不那么明显。原因在于两个框架之间的一个细微差异:在[4],的框架中,所有参与方在协议开始之前就已初始化其输入prior,而在UC框架中,环境Z可以在协议启动之后自适应地向参与方提供输入after。
这可能导致以下攻击。环境首先激活接收方,使其生成一个公钥。这是通过生成(伪造的)非绑定型公钥和密文来模拟的。接着,对手攻破接收方并获取其随机硬币(在发送方被激活并输入之前)。此时,模拟器必须解释密钥生成之前明文已被确定。最后,环境使用随机消息激活发送方。问题在于,一旦密钥生成的随机硬币被固定,密文就会变为绑定型,且以不可忽略的概率无法解密为该随机明文。
未能意识到这些细微之处可能会导致在使用非交互式非承诺加密作为通用可组合性框架中协议的构建模块时,安全性证明不完整。我们表明,模拟器实际上可以应对此类攻击形式,而无需任何
通过在模拟过程中仔细结合非承诺密文和承诺密文,对协议进行调整。因此我们证明了非交互式NCE的定义在通用可组合性框架中是有效的。我们进一步指出坎内蒂等人提出的自适应安全的OT的安全性证明[8]是不完整的,并解释如何修正它。我们强调[8]中的结果是正确的,仅仅是证明不完整。
单边多项式大小输入域的功能。 接下来我们考虑确定性两方功能 f(x1, x2),其中 P1的输入域(记为 D1)具有多项式大小。我们注意到,在这种情况下, P2可以基于其输入 x2和 P1的每个可能输入本地计算 f,从而获得所有可能的输出。现在 P1只需选择与其输入 x1相对应的输出即可。因此,此类功能的计算归结为能够执行1‐out‐of‐|D1|的自适应安全不经意传输。利用来自[8],的自适应安全的OT,我们得出结论:对于每一个这样的功能,均存在一个三消息协议,该协议在自适应半诚实攻击者存在下是安全的。通过使用CLOS编译器可实现对恶意攻击者的安全性。
这一结果可以从两个角度来理解。一方面,它表明限制其中一方的输入域可以得到一个常数轮自适应安全协议。另一方面,它表明若要尝试证明常数轮自适应安全协议的一般下界,则必须考虑具有超多项式输入域的功能或概率功能。
非承诺不可区分混淆。 不可区分性混淆器 iO[1]是一种机器,给定一个电路后,它会创建该电路的“难以理解”版本,同时保持其功能。在此情况下,“难以理解”意味着:对于两个相同长度且计算完全相同函数的电路,难以区分其中一个电路的混淆结果与另一个电路的混淆结果。这一原语已被证明在大量应用中非常有用,并且最近促成了在公共参考串模型 [10,11,15]中构造常数轮自适应安全协议。
三个协议[10,11,15]都共享一个巧妙的思想,即在公共参考串中嵌入一个混淆程序,使得即使所有参与方最终都被攻破,协议执行过程中所使用的部分随机性仍能保持隐藏。在本节中,我们探索了一种受NCE概念启发的不同方法。我们提出了一个称为非承诺不可区分混淆器的自适应类比,该工具本质上允许模拟器为某个电路类生成一个混淆电路,并且之后在给定该类中任意电路的情况下,能够生成相应的随机硬币以解释该混淆过程。接着我们证明,假设存在非承诺iO,则每个自适应良构功能都可以以适应性安全的方式进行计算,且其轮复杂度与功能本身无关。
我们强调,目前我们尚不知道如何构造非承诺 iO,甚至不清楚这种构造是否可行。相反,这一结果将具有与函数无关的轮复杂度的自适应安全协议的构造问题归约为了非承诺 iO的构造问题。我们注意到,密码学文献先前已研究过一些无法在标准模型中实例化的完全原语,例如“同时广播”,它对部分公平性是完全的[24],以及“公平重构”,它对完全公平性是完全的[21]。相比之下,本文提出的完全原语尚无此类下界。我们将其作为一个有趣的开放问题留下:在标准假设下,非承诺 iO能否在标准模型中实例化。
对于某个等效电路类(即计算相同函数的电路)的非承诺不可区分混淆器,我们指的是该类的一个 iO方案,其增强了模拟算法,可生成一个˜混淆电路 C,使得之后给定该类中的任意电路 C时,能够生成相应的随机硬币,将该混淆电路 C解释为该电路 C的混淆结果。不难看出,如果一般的非承诺 iO方案存在,则多项式层次会坍塌(见第5节)。为了克服这一障碍,我们考虑一个受限的电路类集合,而这恰好满足我们的需求。特别是,我们考虑等效“常量电路”的类,即该类中的所有电路具有相同大小、无输入且输出相同的值。
接下来,我们解释如何使用非承诺性 iO来构建任意两方功能 f的协议,其中轮复杂度取决于混淆器而非 f(这一思想可直接扩展到多方场景)。首先,参与方使用任何自适应安全协议,例如来自[8],的协议,计算一个中间功能,该功能在给定各方输入和待计算电路 f的情况下,将输入值硬编码到电路的输入线中。通过这种方式,中间功能生成一个计算所需输出的“常量电路”。接着,中间功能利用参与方提供的随机硬币对该“常量电路”进行混淆,并向每一方输出一个混淆后的常量电路。最后,每一方本地计算混淆常量电路的输出。
其基本思想是,在收到第一个腐败请求时,理想过程对手会获知被攻破方的输入和输出,从而可以准备一个模拟的混淆常量电路,以输出正确的值。在收到第二个腐败请求时,理想过程对手会获知第二方的输入,并可按照中间功能生成的常量电路进行准备。利用混淆的非承诺性质,此时可以计算出解释该混淆电路的随机硬币,因此理想过程对手能够正确调整用于混淆的随机硬币。
1.3 其他相关工作
目前尚无通用的、依赖短公共参考串且在面对可自适应地腐化任意数量参与方的敌手时仍安全的常数轮协议。尽管如此,在较弱的模型中已取得了一些积极成果。
在CRS可依赖于函数的模型中,坎内蒂等人 [10],达赫曼‐索尔德等人 [11]和加格和波利赫罗尼阿多 [15]各自独立地提出了常数轮协议,这些协议在面对任意数量被攻破的参与方时是自适应安全的。加格和萨哈伊 [16]指出,在标准模型(不假设CRS)下,使用黑盒模拟器无法证明面对恶意攻击者的常数轮自适应安全多方协议的安全性。作者进一步表明,通过使用非黑盒技术,存在一种常数轮的自适应安全多方协议,能够抵御除一方外所有其他参与方的腐败。
如果自适应攻击者不能攻破所有参与方,即至少有一个参与方保持诚实,则存在多个常数轮协议。卡茨和奥斯卓夫斯基[25]表明,任何静态安全的常数轮两方协议都可以通过使用非承诺加密封装通信,转换为允许单个腐败的自适应协议。哈扎伊和帕特拉[22]通过使用单边安全原语实现了更高的效率。在多方情况下,Damg˚ard 和伊沙伊[12]在假设存在诚实多数的情况下构建了一个常数轮自适应安全协议。将该协议与伊沙伊等人提出的IPS编译器[23]结合,可得到一个能容忍除一方外所有参与方被攻破的常数轮自适应安全协议。达赫曼等人[14]使用可否认的全同态加密来优化轮复杂度的具体常数。
假设存在安全擦除,林德尔[28]构建了一个常数轮协议,该协议在面对自适应半诚实敌手时UC实现任意两方功能。
基于短公共参考串的自适应安全多方计算
2 可普遍组合的非交互式非承诺加密
非承诺加密(NCE)是一种密码学工具,主要用于构建自适应安全多方协议。该概念最初由坎内蒂等人[7]提出,旨在自适应环境下模拟静态安全通信信道的实现(使用“标准”公钥加密方案)。自NCE提出以来,许多进一步的应用都基于这一原语,例如自适应安全不经意传输[8]和抗泄露协议[3]。
在构建自适应安全协议时,通常会考虑两种安全模型:提供[4]顺序组合的框架和通用可组合性(UC)框架,后者由[5]提出。NCE的定义经过多年发展,最初源于实现安全消息传输功能的多方协议,最终稳定为非交互式定义,该定义是标准公钥加密方案的扩展。尽管在[4],框架下验证各种定义的等价性相对容易,但在UC框架下考虑非交互式NCE时会出现某些细微差异。若未意识到这些细微之处,在使用非交互式NCE作为UC安全协议的构建模块时可能导致安全性证明不完整。在本节中,我们证明非交互式NCE的定义在UC框架中是有效的。
2.1 非承诺加密
坎内蒂等人[7]引入了非承诺加密(NCE)的概念,以此类比公钥加密在静态场景中用于实例化安全信道的方式。也就是说,NCE被定义为一种实现 n‐方函数功能 fSMT(μ, λ,…, λ) =(λ, μ, λ,…, λ)的多方协议4,其中 μ ∈{0, 1}∗,且在可自适应地腐化部分参与方的自适应半诚实攻击者存在下仍保持安全。作者构建了一个 n‐方协议,该协议在存在公共域陷门系统的假设下是一个(n−1)‐弹性非交互式加密方案,并指出若基于特定的数论假设(如RSA或CDH)来构造该协议,则可得到两轮的两方协议。
上述定义存在若干弱点。它考虑了一个多方协议,但实际上计算的是一种涉及双方的功能。此外,该定义允许部分参与方保持未被攻破状态,这在自适应环境下实现协议组合时是不理想的。再者,对手被限制为半诚实的,最后,[7]的安全模型较弱,甚至不允许顺序组合。基于这些观察,Damg˚ard 和 Nielsen [13]在 Canetti [4]的框架下,针对自适应恶意攻击者环境,提出了一 个更强的非承诺加密定义,即作为两方协议用于实现两方安全消息传输功能 fSMT 的非承诺加密。
定义1(强非承诺加密) 一种强非承诺加密是一个两方协议,用于在存在可腐败任意数量参与方的自适应恶意攻击者的情况下,安全地计算两方功能 fSMT(μ, λ)=(λ, μ),其中 μ ∈{0, 1} ∗。
上述定义并不要求非交互性,事实上,作者在假设存在可模拟的公钥加密方案的前提下,提出了一种交互式强非承诺加密协议。
非交互式NCE可通过扩展定义1并要求协议由2轮组成来定义。然而,证明一个协议是自适应安全的是一项相当繁琐的任务。坎内蒂等人[8]给出了一个更简单的定义,用于描述非承诺加密的非交互性质。根据该定义,NCE方案是一种公钥加密方案,其中公钥和密文可以被模拟,并且之后能够针对任意消息进行解释。
定义2(非交互式非承诺加密) 。一个非交互式非承诺(比特)加密方案由四个算法(Gen,Enc,Dec,Sim)组成,且满足以下性质: –三元组 (Gen,Enc,Dec) 构成一个公钥加密方案。–Sim 是一个模拟算法,它在输入 1κ 时输出 (pk, c, ρ0G, ρ0E, ρ1G, ρ1E),使得对于任意 μ ∈{0, 1},以下分布是计算上不可区分的:
-
诚实发送方与诚实接收方在正常加密过程中的联合视图 μ
{(pk, c, rG, rE) | (sk,pk)= Gen(1κ; rG), c= Enc(pk, μ; rE)}, -
加密的模拟视图 μ
{(pk, c, ρμG, ρμE) | (pk, c, ρ0G, ρ0E, ρ1G, ρ1E) ← Sim(1κ)}.
容易验证,在[4],非交互式非承诺加密的框架中,如定义2所述,意味着强非承诺加密。这是因为当任一方被腐败时,模拟器可以获知消息 μ并能提供相应的随机性。
2.2 通用可组合性框架中的非交互式非承诺加密
强非承诺加密的定义可以很容易地调整到通用可组合性框架中,通过考虑那些UC实现安全消息传输理想功能的协议 F l SMT (参见完整版本)。也不难看出,[13]中提出的(交互式)协议是UC安全的。然而,在尝试于通用可组合性框架中使用非交互式非承诺加密时,情况并不那么直接。考虑使用非交互式非承诺加密来实现 F l SMT的标准协议,如协议 1 中所呈现的那样。
困难源于[4]框架与通用可组合性框架之间的一个细微差异。在前者中,参与方的输入是在协议开始之前设定的,而在后者中,环境可以自适应地设定参与方的输入,这意味着参与方可能在协议启动之后才被赋予输入。在通用可组合性框架中,这可能导致对协议1的潜在攻击。环境首先激活接收方 P2(无输入)。对手等待接收方 pk从 P2发送给 P1的公钥,并在公钥发送后攻破P2。此时, P2的内部状态(即用于生成(sk,pk)的随机硬币 rG)将暴露给对手,该
协议1(非交互式NCE)
设(Gen,Enc,Dec, Sim)为一个非交互式NCE方案。
- 在使用会话ID首次激活时,接收方 P2计算(sk, pk) ← Gen(1κ) 并将 (sid pk) 发送给 P1。
- 当从 Z接收到(send, sid μ)且从 P2接收到(sid pk)时,参与方 P1使用加密 c ← Encpk(μ)对消息进行加密,并将(sid c)发送给 P2。
- 从 P1收到(sid c)后,参与方 P2解密 μ′= Decsk(c)并输出(发送方T,会话ID μ′)。
安全消息传输协议
可以将其传递给环境。接下来,环境使用一个均匀选择的比特 μ ∈R{0, 1} 激活发送方 P1,协议继续进行: P1对c ← Encpk(μ)进行加密,并将密文 c发送 给 P2。一旦对手收到 c,便将其发送给环境。此时,环境拥有 rG和c,并可验证 c解密后为 μ。
理想过程对手在模拟过程中无法使用由Gen和Enc生成的绑定型公钥和密文,因为他必须能够在参与方被延迟腐败后(在环境提供比特 μ之后)解释整个执行记录。然而,如果理想过程对手使用非绑定型公钥和密文来模拟此场景,其生成方式为(pk, c, ρ0G, ρ0E, ρ1G, ρ1E) ← Sim(1κ),那么他在首次发生腐败时需要猜测是揭示 ρ0G还是 ρ1G作为 P1的随机硬币,且密文 c将以概率 1/2无法正确解密为 μ。
幸运的是,这个问题有一个解决方案。关键的观察是,尽管对于任何模拟的公钥 pk都存在一个密文 c,使得这对(pk, c)是可否认的,公钥 pk仍然可以用于加密其他消息,尽管是以承诺的方式。因此,如果理想过程对手S生成(pk, c, ρ0G, ρ0E, ρ1G, ρ1E) ← Sim(1κ)并在第一条消息 pk被模拟之后、发送方 P1被输入激活之前收到对接收方 P2的腐败请求,则 S可以在 ρ0G和 ρ1G之间任意选择 P2的随机硬币。假设 S将 ρ0G设为随机硬币,这意味着 c现在是对0的承诺式加密,但它将不再被使用。接下来,一旦环境以某个比特 μ激活 P1, S从 F l SMT接收 μ,并可以使用公钥 pk和新的随机硬币 rE将 μ加密为 c′= Encpk(μ; rE)。第二条消息现在使用c′而不是 c进行模拟。当发生对接收方 P1的延迟腐败时, S将随机硬币设置为rE。与实际执行中 A视图的不可区分性成立,否则使用Sim生成的模拟公钥将可与使用Gen生成的公钥区分开来。
定理2. 如果 (Gen,Enc,Dec,Sim)是一个非交互式非承诺加密方案,则协议 1在存在自适应恶意攻击者的情况下 UC实现 F l SMT 。
定理2的证明可以在本文的完整版本中找到。
3 来自CLOS的自适应安全OT的证明
在本节中,我们指出[8](另见林德尔[27])中自适应安全的OT的安全性证明是不完整的,并解释如何修正它。我们强调,[8]中的结果是正确的,仅仅是证明不完整。
坎内蒂等人 [8] 使用了一种增强版的非交互式 NCE,以构建实例化自适应安全的 1‐out‐of‐ 不经意传输功能 F OT 的协议(参见完整版本)。他们考虑了一种带有额外算法 OGen 的非交互式 NCE 方案,该算法允许在不知道其私钥的情况下不经意地采样公钥。
定义3(增强型非交互式NCE)
。一个增强型非交互式非承诺加密方案是一个带有公钥无意识采样算法 pk ←OGen(1κ)的非交互式NCE方案 (Gen,Enc,Dec,Sim)。我们要求由Gen生成的公钥分布与由OGen生成的公钥分布在计算上不可区分,即
{pk | (sk,pk) ← Gen(1κ)} c ≡{pk | pk ← OGen(1κ)}.
此外,算法OGen具有可逆采样性,意味着存在一个算法IOGen,使得以下分布是计算上不可区分的
{(1κ,pk, r) | pk= OGen(1κ; r)} c ≡{(1κ,pk, IOGen(1κ,pk)) | (sk,pk)← Gen(1κ)}.
协议3(自适应OT) 。
设(Gen, OGen,Enc, Dec, Sim)为一个增强型非交互式NCE方案。
- 给定输入(接收方,会话ID i),接收方 R 计算 (sk, pki) ← Gen(1κ) 并运行 − 1 次 pkj ← OGen(1 κ ),其中 j ∈[]{i}。然后 R 发送 (会话ID pk1,…,p k ) to T.
- 给定输入(发送方,会话ID x1,…, x),并已接收(会话ID pk1,…, pk)从 R出发,发送方 T计算 c j ←加密p k j(xj) ,用于 j ∈[],并发送 (会话ID c 1 ,…, c ) 到 R。
- 从接收方R处收到(sid c1,…, c)后 T,接收方 R计算 xi = 解密sk(ci) 并输出 (sid xi)
自适应半诚实不经意传输协议 [8]
坎内蒂等人 [8,声明4。2]证明了假设(Gen,OGen,Enc,Dec,Sim)是一个增强型非交互式NCE方案,则协议 3UC实现 F OT 在存在自适应半诚实攻击者的情况下。证明背后的思想是让 S生成一个非承诺性transcript,即对于每个 j ∈[],生成(pkj, cj, ρ 0 G,j, ρ 0 E,j,ρ 1 G,j,ρ 1 E,j) ← Sim(1κ)。接下来,第一条消息被模拟为(sid pk1, . . . ,pk),而第二条消息被模拟为(sid c1, . . . , c)。当理想发送方被腐败时, S获知其输入(sender, sid x1, . . . , x)并将虚拟发送方的随机硬币设为(ρxE1,1, . . . , ρx E,)。当理想接收方被腐败时, S获知其输入(receiver, sid i)和输出(sid xi),并对每个 j ∈[]{i}计算可逆采样ρj G ← IOGen(1κ,pkj),记作 ρi G= ρxi G,最后将虚拟接收方的随机硬币设为( ρ1G, . . . , ρ G)。
然而,在该协议的安全性证明过程中,假设在理想接收方被腐败后,理想过程对手能够知道其输出 xi,因此可以表示为 ρi G= ρxi G。正如我们所讨论的,尽管在 [4],的框架下这一假设是成立的,但在通用可组合性框架中不能做出这样的假设。因此,安全性证明需要进行调整,以适应环境激活接收方、对手在 R向 T发送第一条消息之后、且在发送方被其输入激活之前立即腐败接收方的腐败策略。
命题 1. 如果 (Gen,OGen,Enc,Dec,Sim)是一个增强型非交互式非承诺加密方案,则协议 3 UC实现 F OT,在自适应半诚实攻击者存在的情况下。
命题1的证明可以在本文的完整版本中找到。我们注意到,添加初始化消息 (例如,参与方在被激活后发送OK,且协议仅在双方都完成初始化后才开始)并不能解决该问题。考虑一个环境,它首先以输入激活接收方R; R然后向发送方发送OK。接着,对手在发送方尚未被输入激活之前就将其腐败。 R此时, R的随机带应包含将用于通过Gen生成(sk,pki)以及通过OGen为 pkj生成 j ∈[]{i}的密钥生成随机硬币。这意味着,尽管消息(sid pk1,…, pk)尚未被传输,但它实际上已被确定,因为生成该消息的随机硬币已经被固定。
4 具有单边多项式大小域的功能
在本节中,我们关注两方确定性功能,其中一方的输入域大小在安全参数下是多项式级别的,而对另一方的输入域则没有限制。更具体地说,我们考虑如下形式的功能
f: D1 ×{0, 1} l 2 →{0, 1} m 1 ×{0, 1} m 2,
其中D1 ⊆{0, 1} l 1和 |D1| = O(poly(κ))。我们考虑 D1是{0, 1} l 1的子集,而 不是要求 l1= O(log(poly(κ))),原因是
不限制功能以接收短输入。 P1的输入可能由 l1位组成,但输入的数量是多项式级别的。
在这种情况下,由于 P2知道 P1的输入域,它可以本地计算所有可能的值( yx1, y 2 的输出。这正是不经意传输的要求,因此通过使用自适应安全的OT, P1获得 yx11而不会得到其他任何信息,而 P2不会了解到关于 x1的任何信息。
如果P2也接收到输出,那么它可能会了解到有关 P1输入的一些信息,特别是 P2得知 P1的输入位于函数 f2下其输出yx21的原像中(·, x2)。然而,在安全函数计算的设定中这是允许的,因为该信息是从功能的输出中泄露的,因此在理想过程中也可以被获知。为了让P2获得其输出 yx21而不向 P1泄露, P2使用随机字符串 u对其计算的每个输出进行掩码。现在,在OT过程中, P1除了接收 yx11外还接收 yx21 ⊕ u,并将其返回给 P2,后者可以去除掩码。
协议4 (在 F OT‐混合模型中计算 F f SFE) 。公共输入:一个两方函数 f D1 ×{0, 1}l2 → {0, 1}m1 ×{0, 1}m2 D1 P1 的描述以及 的定义域。– 当参与方 Z 向 F OT 发送 (input, sid x1) 后,接收方 P1 发送 (receiver, sid x1)给 F OT。– 当参与方 Z 向 F OT 发送 (input, sid x2) 后,参与方 P2 执行以下步骤: 1. 采样一个随机字符串 u ∈{0, 1}m2。 2. 对于每个 x ∈ D1,计算 (y 1 x, y 2 元组 (y 1 x, y 2 x ⊕ u)。 4. 向 F OT 发送消息 (sender, sid Y)。– 当参与方 F OT 收到 (sid, (w1, w2)) 后,参与方 P1 向 P2 发送 (sid w2) 并输出 (output, sid w1)。– 当参与方 P1 收到 (sid w2) 后,参与方 P2 输出 (output, sid w2 ⊕ u)。
计算 F f SFE的自适应半诚实两方协议
定理5. 设 f为一个确定性两方功能,其中 P1的定义域的基数在安全参数下是多项式大小。那么协议 4 UC实现 F f SFE在 F OT-混合模型中对抗自适应半诚实攻击者。
定理的证明5可在本文的完整版本中找到。
使用OT中提出的自适应安全[8](见第3节)并结合来自[5],的组合定理,我们得到以下推论:
推论1。 假设存在增强型非交互式NCE方案,则每个确定性两方功能,只要其 P1定义域的基数在安全参数下为多项式级别,均可在自适应半诚实攻击者存在的情况下,通过三轮消息协议安全地实现UC安全性。
我们注意到,这种方法无法扩展到概率功能。原因在于,如果 P2本地计算 f,则它必须知道计算中使用的随机硬币。然而,当仅 P2被攻破时,该信息对理想过程对手是不可用的。或者,在使用将随机功能转换为确定性功能的标准方法时,通过计算 g((x1, r1),(x2, r2)) = f(x1, x2; r1 ⊕ r2),P1的输入域不再是一个多项式。
定理5的另一个重要推论是,为了证明常数轮自适应安全两方协议的不可能性,必须考虑以下情况:要么参与方的函数域均为超多项式域,要么为概率功能。
5 非承诺不可区分性混淆
一个电路类 {Cκ} 的 不可区分混淆器 [1,17] 是满足以下条件的 ppt机器iO: 正确性: 对于每个 κ 和每个C ∈Cκ, C 和 iO(C) 计算相同函数。 多项式开销:存在一个多项式 p ,使得对于所有 C ∈ Cκ、|iO(1κ, C)| ≤ p(κ) · |C|。 Indistinguishability:对于任意序列{Cκ,0, Cκ,1,auxκ}κ,其中 Cκ,0, Cκ,1 ∈Cκ, |Cκ,0| = |Cκ,1| 和Cκ,0,Cκ,1计算相同函数,并且对于任意非均匀区分器 D, 存在一个可忽略函数negl,使得:
|P r).[D(iO(1κ, Cκ,0), auxκ)= 1] − Pr[D(iO(1κ, Cκ,1), auxκ)= 1]| ≤ negl(κ)
不可区分性混淆最近导致了两轮静态安全协议[18]的构造,以及在公共参考串模型下的常数轮自适应安全协议[10,11,15]。我们考虑了一个称为非承诺不可区分混淆的自适应类比iO ,并表明该原语对于构造轮复杂度与待计算函数无关的自适应安全协议是完备的。需要强调的是,目前我们尚不知道如何构造非承诺 iO,这一结果将构造轮复杂度与待计算函数无关的自适应安全协议的问题归约为了构造非承诺 iO的问题。
给定一个由计算相同函数的电路组成的电路类,我们希望拥有一个带有模拟算法Sim1的不可区分混淆器 iO,该算法输出一个“规范”的混淆电路以及某些状态 s,使得之后在给定该类中任意电路和该状态的情况下,另一个算法 Sim2能够解释混淆算法的随机性,以生成该电路的规范混淆电路。我们注意到,这种非承诺 iO的概念不太可能普遍成立,因为这将为电路等价问题提供一种高效的解决方案,而该问题是co‐NP
完备,因此将意味着多项式层次的崩溃。给定两个电路 C0, C1,当且仅当这两个电路等价时,该族存在一个˜非承诺性 iO,并且可以先计算(C, s ← ˜ ) 模拟器1(1κ),之后既能解释为 r0 ←模拟器2(s, C0),也能解释为 r1 ←模拟器2(s, C1)。
我们通过考虑不接收任何输入的等效电路来克服这一困难,即生成相同输出的一组常量电路。在这种情况下,电路等价问题很容易解决,因为只需运行两个电路并比较它们的输出即可。更具体地说,考虑一个电路C计算函数 f和一个输入向量 x。我们将每个输入线(即,在Goldreich的术语中,每个输入端子)都固定为相应的输入值。这样得到的电路计算的是常数函数fx= f(x)。如果一个电路的所有输入线都被固定了值(因此它计算的是一个常数函数), 则称该电路为常量电路。
定义 4。
对于由常量电路组成的电路类{Cκ},非承诺性不可区分混淆方案是由三个PPT算法Π=(iO,Sim1,Sim2)构成的三元组,满足: – iO 是一个针对 {Cκ} 的不可区分混淆器。– 在接收到 1κ、一个整数 m 和一个值 y 后,Sim1 输出一个大小为 m 且输出为 y 的常量电路 ˜C 以及一个状态 s。– 在接收到一个电路 C ∈Cκ 和一个状态 s 后,Sim2 输出一个字符串 r。– 对于任意非均匀的 ppt D 且对于足够大的 κ ∈ N,以下成立:
Pr[Expt Real Π,D(κ)= 1] − Pr[Expt Ideal Π,D(κ)= 1] ≤ negl(κ),
其中,实验ExptR eal Π D,和Expt Ideal Π D,在下文定义,概率取自实验和 D的随机硬币。
实验 ExptReal Π,D(κ)
- 将 1κ发送给 D并取回一个电路 C ∈Cκ。
- 运行电路 C 并计算输出 y。 |C|, y)。
- 采样一个均匀分布的字符串 r
- 计算 C˜= iO(1κ, C; r)
- 发送 ( C˜, r) 给 D并返回一个比特 b
- 返回 b
实验 ExptIdeal Π,D(κ)
- 将 1κ发送给 D并取回一个电路 C ∈Cκ。
- 运行电路 C 并计算输出 y。 |C|, y)。
- 计算 ( C˜, s) ←模拟器1(1 κ,|||
- 计算 r ←模拟器2(s, C)。
- 发送 ( C˜, r)到 D 并返回一个比特 b。
- 返回 b
对于我们所使用的场景,要求表示混淆器的电路 iO的深度与(输入变量) 电路的深度无关 C。这一要求源于Garg等人对“标准”[17]的构造iO,该构 造满足此性质。
我们注意到,Katz 等人 [26] 的技术似乎无法排除常量电路的非承诺加密 iO,因为可通过模拟器计算的函数是预先固定的。同样,Nielsen [29] 的技术似乎也不适用,因为可解释的常量电路数量是预先限定的。
5.1 轮复杂度独立于 f的自适应安全协议
我们在一个混合模型中定义该协议,在此模型中参与方可以访问理想的带输入的混淆电路功能 F C OCWI。为简便起见,我们针对公开输出的确定性功能展示该协议,而扩展到私有输出的随机化功能可使用标准技术实现。F C OCWI该功能由电路 C参数化,每个参与方将其输入发送给 F C OCWI,后者将输入硬连接到电路中,对电路进行混淆,并将混淆电路返回给各参与方。每个参与方还发送一个额外的随机字符串,用作混淆过程随机硬币的一个分片。带输入的混淆电路功能如图1所示。
基于非承诺性 iO的性质,计算 F C OCWI的电路深度仅取决于混淆器 iO的深度,而与 C的深度无关。
协议6(计算 F f) SFE 在 F C OCWI‐混合模型中) 。
公共输入: 一个 n 方功能 f:({0, 1} ∗ ) n →({0, 1} ∗ ) n和 电路 C计算 f。
- 从 Z接收到(输入,sid xi)后,参与方 Pi采样一个随机字符串 ri ∈R{0, 1} ∗并向 F C OCWI 发送(ocwi‐input,会话ID,(xi, ri))。
- 从 F C OCWI 收到(ocwi‐输出,会话ID C˜)后, P i运行电路 C˜, 接收方R接收输出 y并输出(输出,会话ID y)。
计算SFE的自适应的半诚实多方协议 F f SFE
定理7. 设 f为一个 n方功能,令 C为计算f的电路。如果 Π=(iO, Sim1, Sim2)是针对常量电路的一个非承诺加密 iO方案,则协议 6 UC实现 F f SFE在 F C OCWI-混合模型中,面对自适应半诚实攻击者。
定理的证明7可在本文的完整版本中找到。
在使用坎内蒂等人[8],的协议实例化理想功能 F C OCWI时,轮复杂度取决于表示F C OCWI的电路,而与 f的深度无关。因此,通过应用卡内蒂[5]的组合定理,我们得出以下推论。
推论2. 假设增强陷门置换、增强的非承诺加密以及用于常量电路的非承诺 iO方案存在。那么,对于任意自适应良好形成的多方功能 f,存在一个协议可以在对抗自适应半诚实敌手的情况下UC实现 F f SFE,且其轮复杂度与 f无关。
28

被折叠的 条评论
为什么被折叠?



