中,基于模拟的独立定义在顺序组合下为您提供了安全性,而通用可组合性及其变体为您提供了安全性在并发组成下
这到底是什么意思?
此外,UC证明如何工作?是正确的吗?
如果您证明环境无法确定环境是否在与真实对手和真实协议,模拟器/理想对手以及理想的功能。
为此,为了证明,必须为每个真正的对手定义一个模拟器。
我的(其他)问题是,我们如何定义这个模拟器?作为证明,我只看到模拟器是由它从理想功能中收到消息时的行为方式以及从对手那里收到消息时的行为方式来定义的?但是,为什么当它从环境中接收到一条消息时却从未对其行为进行描述呢?环境需要与真实的对手/模拟器进行双向交互,对吗?那么,我们是否必须定义模拟器以使其知道如何响应环境并与环境交互?
另外,如果您应向我展示UC框架中的示例证明,我将不胜感激。越短/越容易越好,所以我可以绕开它。我绝对喜欢像Shoup的游戏跳跃证明教程一样的论文。
非常感谢!
#1 楼
这到底是什么意思?
环境的目的是对协议执行之外的“宇宙中发生的所有其他事情”进行建模。在UC模型中,允许协议执行过程中的对手与环境对话。因此,UC安全性意味着“无论协议执行期间世界上正在发生什么事情,无论世界上正在发生什么事情,安全性”。例如,对手可能正在与其他协议(或相同协议)对抗诚实的当事人运行实例,后者可能正在使用相关的输入等。
有几种类型的独立安全性定义,并非全部等同。但是出于这个问题的目的,请考虑将独立安全性与UC安全性完全相同,只是在协议执行期间不允许对手与环境对话。他们只能在执行前后交谈。在此模型中,我们无法使用环境来捕获在执行协议过程中在做“其他事情”的对手。我们可以对在执行之后或执行之前(而不是在执行期间)在相关输入上使用诚实方运行其他协议的对手进行建模。相关输入。在独立模型和UC模型中都很容易表达这一点。您只需在执行之间使对手沿其状态传递就可以捕获顺序组合。执行前/执行后与环境的通信足以做到这一点,因此在独立模型中就可以了。
如果许多实例并发执行(可能在相关输入上)时是安全的,则协议支持并发组合。这不可能单独表达-仅在UC中表达。因此,独立安全性不能保证此属性,确实存在反例的安全实例,这些协议在并行运行时是不安全的。执行)实际上是在独立模型中用于安全性证明的。模拟器的常用技术是“倒退”对手,这意味着将其内部状态恢复为协议中的先前时间。在独立模型中,这是安全的,因为对手与环境分离。但这在UC模型中无效,因为如果您试图将对手倒带回协议的$ r $左右,那么对手可能已经在$ r + 1 $左右与环境对话了。无法倒退环境,因此这将导致环境注意到真实与模拟之间的差异---此技术不能用于UC安全证明中。
UC证明有效如果您表明环境无法确定它是在与真实的对手和真实的协议或模拟器/理想的对手以及理想的功能进行交互。
是的。
为此,为了证明,必须为每个真正的对手定义一个模拟器。
是的,但是有一个捷径。采取您要考虑的任何环境和对手,并想象一下将对手逻辑地移动到环境中,以便将所有内容作为语法上的“虚拟对手”保留下来。虚假对手只是说出逻辑对手(生活在环境中)告诉它的一切,并且还报告接收到的所有消息。这不会改变交互,只会重新包装零件。因此,每个UC交互都可以用等效交互表示,其中对手是一个虚拟对手。由于UC安全性是在所有环境中量化的,因此足以证明针对虚拟对手的安全性。
我的(另一个)问题是,我们如何定义此模拟器?作为证明,我只看到模拟器是由它从理想功能中收到消息时的行为方式以及从对手那里收到消息时的行为方式来定义的?但是,为什么当它从环境中接收到一条消息时却从未对其行为进行描述呢?环境需要与真实的对手/模拟器进行双向交互,对吗?因此,我们是否必须定义模拟器,使其知道如何响应环境并与环境交互?
也许通过了解虚拟对手可以解决此问题。当您想象与虚拟对手的互动时,您将失去环境与环境中嵌入的逻辑对手之间的区别。因此,从(逻辑)对手接收消息/从环境接收消息实际上是指同一件事。我们只是不失一般性地知道,与环境的所有通信都将是虚拟对手的形式:环境说“这是要在协议中发送的消息”,虚拟对手/模拟器必须报告所有[模拟的]协议消息看到的。
另外,如果您应向我展示UC框架中的示例证明,我将不胜感激。越短/越容易越好,所以我可以绕开它。
没有什么立即想到的。您可能要搜索“ UC安全性” +“讲义”。另外,您可能对以下最近的论文感兴趣,该论文提出了一个简化的UC模型,该模型仍然足以满足99%的用例:
Ran Canetti和Asaf Cohen和Yehuda Lindell:适用于标准多方计算的通用可组合安全性的更简单变体,CRYPTO2015。
#2 楼
我的目标只是完成Mikero的回答,特别是在那部分:此外,如果您应向我展示UC框架中的示例证明,我将不胜感激。越短/越容易越好,所以我可以绕开它。
我只是在另一个答案中写了一个简单的证明草图。目的不是要在UC中编写完整的正式证明,而是要给出可组合安全性背后的直觉,以及它与基于游戏的安全性之间的关系,并提供一个易于遵循的基本示例。
评论
嗨,卢克,我现在正在研究基于模拟的证明的教程。这是一个非常大的项目,因此我认为再过6到12个月都不会看到它,但是它正在进行中。希望它对您有所帮助。该教程终于出现了!谢谢!