Cryptology ePrint Archive: Report 2021/468

Viaduct: An Extensible, Optimizing Compiler for Secure Distributed Programs (Technical Report)

Coşku Acay and Rolph Recto and Joshua Gancher and Andrew C. Myers and Elaine Shi

Abstract: Modern distributed systems involve interactions between principals with limited trust, so cryptographic mechanisms are needed to protect confidentiality and integrity. At the same time, most developers lack the training to securely employ cryptography. We present Viaduct, a compiler that transforms high-level programs into secure, efficient distributed realizations. Viaduct's source language allows developers to declaratively specify security policies by annotating their programs with information flow labels. The compiler uses these labels to synthesize distributed programs that use cryptography efficiently while still defending the source-level security policy. The Viaduct approach is general, and can be easily extended with new security mechanisms.

Our implementation of the Viaduct compiler comes with an extensible runtime system that includes plug-in support for multiparty computation, commitments, and zero-knowledge proofs. We have evaluated the system on a set of benchmarks, and the results indicate that our approach is feasible and can use cryptography in efficient, nontrivial ways.

Category / Keywords: applications / multiparty computation, zero knowledge

Original Publication (with major differences): PLDI 2021

Date: received 11 Apr 2021, last revised 3 Nov 2021

Contact author: coskuacay at gmail com

Available format(s): PDF | BibTeX Citation

Version: 20211103:213153 (All versions of this report)

Short URL:

[ Cryptology ePrint archive ]