arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2302.10076cs.CRcs.PL
收藏

Symphony:具有协调的可表达安全多方计算

Symphony: Expressive Secure Multiparty Computation with Coordination

Ian Sweet, David Darais, David Heath, William Harris, Ryan Estes, Michael Hicks

摘要:

内容:安全多方计算(MPC)是指一系列密码技术,其中相互不信任的各方可以计算其私有输入的函数,同时仅显示函数输出。询价:使用现有的语言和框架很难正确有效地对MPC进行编程,特别是当它们需要协调不同的计算角色时。我们怎么能让这更容易?方法:我们提出Symphony,一种新的功能性程序设计语言,用于两方或多方之间的MPC。Symphony从先前MPC语言的单指令多数据(SIMD)语义开始,其中每一方都执行对称的责任,并使用可以协调多方的结构来概括它。Symphony引入了 ** 一流的分享 ** 和 ** 一流的派对集 **,以高效率提供无与伦比的语言级表现力。知识:开发一个核心的形式语言称为$λ$ -交响乐,我们证明了直观的,广义的SIMD视图的程序符合其实际的分布式语义。因此,程序员可以通过从上到下阅读程序来推理,即使实际上程序是以协调的方式运行的,分布在许多机器上。我们为Symphony实现了一个利用多个加密后端的原型解释器。我们用它编写了各种MPC程序,发现Symphony可以表达其他语言无法表达的优化协议,并且一般来说Symphony程序运行效率很高。[完整摘要见https://doi.org/10.22152/programming-journal.org/2023/7/14]

英文摘要:

Context: Secure Multiparty Computation (MPC) refers to a family of cryptographic techniques where mutually untrusting parties may compute functions of their private inputs while revealing only the function output. Inquiry: It can be hard to program MPCs correctly and efficiently using existing languages and frameworks, especially when they require coordinating disparate computational roles. How can we make this easier? Approach: We present Symphony, a new functional programming language for MPCs among two or more parties. Symphony starts from the single-instruction, multiple-data (SIMD) semantics of prior MPC languages, in which each party carries out symmetric responsibilities, and generalizes it using constructs that can coordinate many parties. Symphony introduces **first-class shares** and **first-class party sets** to provide unmatched language-level expressive power with high efficiency. Knowledge: Developing a core formal language called $λ$-Symphony, we prove that the intuitive, generalized SIMD view of a program coincides with its actual distributed semantics. Thus the programmer can reason about her programs by reading them from top to bottom, even though in reality the program runs in a coordinated fashion, distributed across many machines. We implemented a prototype interpreter for Symphony leveraging multiple cryptographic backends. With it we wrote a variety of MPC programs, finding that Symphony can express optimized protocols that other languages cannot, and that in general Symphony programs operate efficiently. [ full abstract at https://doi.org/10.22152/programming-journal.org/2023/7/14 ]

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑