Leveraging Duality for Programming with zkSNARKs
This program is tentative and subject to change.
Non-Interactive Zero-Knowledge (NIZK) Proofs enable a prover to cryptographically prove that any polynomial-time program will produce a certain output on a provided set of inputs, while hiding any combination of inputs and outputs. However, current tools for specifying NIZKs operate at a very low level of abstraction. They fail to leverage an inherent duality between how proofs are constructed and verified, preventing significant code reuse and complicating maintenance. Towards this end, we present a new language feature that addresses this shortcoming by combining these two operations as a single piece of code that represents both. We define a translation that compiles the combined code into two separate components, matching the low-level structure expected by existing cryptographic libraries. Our ongoing work aims to prove critical metatheory about our language, including powerful notions of compiler correctness.
This program is tentative and subject to change.
Mon 20 JanDisplayed time zone: Mountain Time (US & Canada) change
11:00 - 12:30 | |||
11:00 25mTalk | ILA: Correctness via Type Checking for Fully Homomorphic Encryption PriSC Tarakaram Gollamudi None, Anitha Gollamudi University of Massachusetts Lowell, Joshua Gancher Northeastern University | ||
11:25 24mTalk | Leveraging Duality for Programming with zkSNARKs PriSC | ||
11:50 24mTalk | Preservation of Speculative Constant-time by Compilation PriSC Santiago Arranz Olmos Max Planck Institute for Security and Privacy, Gilles Barthe MPI-SP; IMDEA Software Institute, Lionel Blatter Max Planck Institute for Security and Privacy, Benjamin Gregoire INRIA, Vincent Laporte Inria | ||
12:15 15mTalk | Lightning talks PriSC |