TOWARDS PRACTICAL (GENERIC) ZERO-KNOWLEDGE Claudio Orlandi – Aarhus University.

Slides:



Advertisements
Similar presentations
Mix and Match: A Simple Approach to General Secure Multiparty Computation + Markus Jakobsson Bell Laboratories Ari Juels RSA Laboratories.
Advertisements

Quid-Pro-Quo-tocols Strengthening Semi-Honest Protocols with Dual Execution Yan Huang 1, Jonathan Katz 2, David Evans 1 1. University of Virginia 2. University.
Secure Evaluation of Multivariate Polynomials
Efficient Zero-Knowledge Proof Systems Jens Groth University College London.
Lecturer: Moni Naor Foundations of Cryptography Lecture 15: Oblivious Transfer and Secure Function Evaluation.
Efficient Two-party and Multiparty Computation against Covert Adversaries Vipul Goyal Payman Mohassel Adam Smith Penn Sate UCLAUC Davis.
Rational Oblivious Transfer KARTIK NAYAK, XIONG FAN.
CS555Topic 241 Cryptography CS 555 Topic 24: Secure Function Evaluation.
Gillat Kol joint work with Ran Raz Competing Provers Protocols for Circuit Evaluation.
CS555Topic 191 Cryptography CS 555 Topic 19: Formalization of Public Key Encrpytion.
Digital Signatures and Hash Functions. Digital Signatures.
Amortizing Garbled Circuits Yan Huang, Jonathan Katz, Alex Malozemoff (UMD) Vlad Kolesnikov (Bell Labs) Ranjit Kumaresan (Technion) Cut-and-Choose Yao-Based.
Introduction to Modern Cryptography, Lecture 12 Secure Multi-Party Computation.
GARBLED CIRCUITS & SECURE TWO-PARTY COMPUTATION
Slide 1 Vitaly Shmatikov CS 380S Introduction to Zero-Knowledge.
General Cryptographic Protocols (aka secure multi-party computation) Oded Goldreich Weizmann Institute of Science.
Yan Huang, Jonathan Katz, David Evans University of Maryland, University of Virginia Efficient Secure Two-Party Computation Using Symmetric Cut-and-Choose.
Oblivious Transfer based on the McEliece Assumptions
1 Introduction to Secure Computation Benny Pinkas HP Labs, Princeton.
Introduction to Computer and Network Security Iliano Cervesato 26 August 2008 – Modern Cryptography.
Slide 1 Vitaly Shmatikov CS 380S Oblivious Transfer and Secure Multi-Party Computation With Malicious Parties.
1 Cross-Domain Secure Computation Chongwon Cho (HRL Laboratories) Sanjam Garg (IBM T.J. Watson) Rafail Ostrovsky (UCLA)
Practical Covert Authentication Stanislaw Jarecki University of California at Irvine Public Key Cryptography 2014.
Fine-Tuning Groth-Sahai Proofs Alex Escala Scytl Secure Electronic Voting Jens Groth University College London.
Multi-Client Non-Interactive Verifiable Computation Seung Geol Choi (Columbia U.) Jonathan Katz (U. Maryland) Ranjit Kumaresan (Technion) Carlos Cid (Royal.
How to play ANY mental game
CS573 Data Privacy and Security
Secure Computation of the k’th Ranked Element Gagan Aggarwal Stanford University Joint work with Nina Mishra and Benny Pinkas, HP Labs.
Wonders of the Digital Envelope Avi Wigderson Institute for Advanced Study.
GARBLED CIRCUITS CHECKING GARBLED CIRCUITS MORE EFFICIENT AND SECURE TWO-PARTY COMPUTATION Payman Mohassel Ben Riva University of Calgary Tel Aviv University.
Slide 1 Vitaly Shmatikov CS 380S Yao’s Protocol. slide Yao’s Protocol uCompute any function securely … in the semi-honest model uFirst, convert.
Page 1 Efficient Two-Party Secure Computation on Committed Inputs Stanislaw Jarecki, UC Irvine Vitaly Shmatikov, UT Austin.
Secure two-party computation: a visual way by Paolo D’Arco and Roberto De Prisco.
Slide 1 Yao’s Protocol. slide Yao’s Protocol uCompute any function securely … in the semi-honest model uFirst, convert the function into a boolean.
Improved Non-Committing Encryption with Application to Adaptively Secure Protocols joint work with Dana Dachman-Soled (Columbia Univ.), Tal Malkin (Columbia.
Introduction to Modern Cryptography Sharif University Spring 2015 Data and Network Security Lab Sharif University of Technology Department of Computer.
Presented by: Suparita Parakarn Kinzang Wangdi Research Report Presentation Computer Network Security.
On the Communication Complexity of SFE with Long Output Daniel Wichs (Northeastern) joint work with Pavel Hubáček.
1 Secure Multi-party Computation Minimizing Online Rounds Seung Geol Choi Columbia University Joint work with Ariel Elbaz(Columbia University) Tal Malkin(Columbia.
Non-Interactive Verifiable Computing August 5, 2009 Bryan Parno Carnegie Mellon University Rosario Gennaro, Craig Gentry IBM Research.
Secure Computation (Lecture 2) Arpita Patra. Vishwaroop of MPC.
Secure Computation Lecture Arpita Patra. Recap >> Improving the complexity of GMW > Step I: Offline: O(n 2 c AND ) OTs; Online: i.t., no crypto.
Public Key Algorithms Lesson Introduction ●Modular arithmetic ●RSA ●Diffie-Hellman.
Secure Computation Lecture Arpita Patra. Recap > Shamir Secret-sharing > BGW Protocol based on secret-sharing > Offline/Online phase > Creating.
Cryptography issues – elliptic curves Presented by Tom Nykiel.
Efficient Private Matching and Set Intersection Mike Freedman, NYU Kobbi Nissim, MSR Benny Pinkas, HP Labs EUROCRYPT 2004.
1 / 23 Efficient Garbling from A Fixed-key Blockcipher Applied MPC workshop February 20, 2014 Mihir Bellare UC San Diego Viet Tung Hoang UC San Diego Phillip.
Efficient Oblivious Transfer with Stateless Secure Tokens Alcatel-Lucent Bell Labs Vlad Kolesnikov.
Verifiable Threshold Secret Sharing and Full Fair Secure Two-party Computation YE Jian-wei March 7, 2009.
Cryptography services Lecturer: Dr. Peter Soreanu Students: Raed Awad Ahmad Abdalhalim
Bit Commitment, Fair Coin Flips, and One-Way Accumulators Matt Ashoff 11/9/2004 Cryptographic Protocols.
Secure Computation Basics Yan Huang Indiana University May 9, 2016.
Multi-Party Computation r n parties: P 1,…,P n  P i has input s i  Parties want to compute f(s 1,…,s n ) together  P i doesn’t want any information.
Lower bounds for Unconditionally Secure MPC Ivan Damgård Jesper Buus Nielsen Antigoni Polychroniadou Aarhus University.
A Fixed-key Blockcipher
Topic 36: Zero-Knowledge Proofs
The Exact Round Complexity of Secure Computation
The Exact Round Complexity of Secure Computation
Carmit Hazay (Bar-Ilan University, Israel)
Encryption and Integrity
MPC and Verifiable Computation on Committed Data
Committed MPC Multiparty Computation from Homomorphic Commitments
The first Few Slides stolen from Boaz Barak
Course Business I am traveling April 25-May 3rd
Cryptography CS 555 Lecture 22
Maliciously Secure Two-Party Computation
Multi-Party Computation: Second year
El Gamal and Diffie Hellman
Fast Secure Computation for Small Population over the Internet
Oblivious Transfer.
Presentation transcript:

TOWARDS PRACTICAL (GENERIC) ZERO-KNOWLEDGE Claudio Orlandi – Aarhus University

In this talk: 3 simple ideas from  Jawurek, Kerschbaum, Orlandi  Zero-Knowledge from Garbled Circuits, CCS 2013  Frederiksen, Nielsen, Orlandi  Privacy-Free Garbled Circuits, EUROCRYPT 2015  Chuo, Orlandi  The Simplest OT Protocol, ePrint (next week?)

Jawurek, Ferschbaum, Orlandi CCS 2013 Zero-Knowledge from Garbled Circuits

Zero-Knowledge Protocols  IP/ZK – GMR85  Revolutionary idea in cryptography and CS  Soundness:  even a corrupted P cannot prove false statements  Zero-Knowledge:  even a corrupted V only learns that the statement is true (and not why)  Important in practice  Authentication  Essential component in complex protocols  What about efficiency?

Zero-Knowledge Protocols  Many examples of efficient ZK for algebraic languages  Discret Logarithm  RSA  Lattice ...  What about non-algebraic statements?  How do I prove ”I know x s.t. y=SHA(x)”?  This work tries to fill this gap!

Related Work  IKOS’07  ZK from (honest majority) MPC  First step towards the ”MPC in the head” approach  Efficient NIZK/SNARK (GOS06,GGPPR13,…)  Non-interactive  Require heavy public key operations per gate 

Zero-Knowledge vs Secure 2PC A B f,xf,y f(x,y) P V x,w R(x,w) = true x

Garbled Circuits Ev De Gb En f x [F] e d [X] [Z] z Correct if z=f(x) Values in a box are “garbled”

OT [F y ] x e [X] [Z][Z] ([F y ],e,d)  Gb( f(·,y) ) z  De([Z],d) [Z]  Ev([F y ],[X]) 2PC from GC (Yao’s protocol) Alice Bob Soundness: If A is corrupted and [Z*]  A([F],[X]), then De([Z*],d) is either f(x) or “  ” B could garble a “malicious” function g≠f e.g. g(x)= lsb(x)

2PC secure against active adversaries? How can Bob prove that he garbled f without revealing any extra information?  Plenty of (costly) solutions are known for 2PC  Zero-Knowledge  Cut-and-choose  Etc.  Can we do better for ZK?

ZK based on GC  The main idea:  In ZK the verifier (Bob) has no secrets!  After the protocol, Bob can reveal all his randomness.  Alice can simply check that Bob behaved honestly by redoing his entire computation.

OT [F] we [W] Com([Z]) ([F],e,d)  Gb( f,r ) z  De([Z],d) [Z]  Ev([F],[W]) Prover Verifier If [F]=Gb(f,r) (and check OTs) [Z] Prover work ~ 2x passive Yao (else abort) reveal r, e Verifier work ~ Passive Yao Communication ~ Passive Yao

CCS Implementations  Code not open-source, but easily reproducible  FastGC garbled circuits implementation  Smart-Tillich optimized circuits: AES, MD5, SHA…  GCParser to combine the two above  SCAPI for implementing OT (using elliptic curves)

Runtime (rough estimates)  Proof of “c=AES(k,m)” for secret k and public (c,m)  AES: 35k gates (7k ANDs/28k XORs)  Communication: 204kB (98% GC)  Runtime:  OT: 29.4ms (Using Chou-Orlandi OT) (|w|=128)  Garbling: 721µs (Using JustGarble GaXR)  Eval: 273 µs  Total (Garble+OT+Eval+Garble) ~ 31.2ms (+network)

Frederiksen, Nielsen, Orlandi EUROCRYPT 2015 Privacy-Free Garbled Circuits

Garbled Circuits Ev De Gb En f x [F] e d [X] [Z] z Correct if z=f(x)

Main idea  In 2PC GC ensure that evaluator does not learn internal values  In Yao garbled circuits evaluation must be oblivious  But in ZK the prover knows all the input bits!  He also knows all internal wires values  Can we optimize?  Yes!

Garbling Schemes without Privacy  Conceptual contribution:  Natural separation between privacy and authenticity  Concrete efficiency:  Better constants in garbled circuit Can we construct garbling schemes tailored to specific applications, which are more efficient than Yao’s original construction?

Garbling a Circuit ([F],e,d)  Gb(f) K 1 0,K 1 1  Choose 2 random keys K i 0,K i 1 for each input wire  For each gate compute  (Z 0,Z 1,gg)  Gb(L 0,L 1,R 0,R 1 )  Output  e=(K i 0,K i 1 ) for all input wires  d=(Z 0,Z 1 )  [F]=(gg i ) for all gates i K 2 0,K 2 1 Z 0,Z 1 K i 0,K i 1

Evaluating a GC [Z]  Ev([F],[X]) K1aK1a  Parse [X] as (K 1 x1,K 2 x2,…) for all input wires  Parse [F] as (gg 1,gg 2, …) for all gates  For each gate compute  Z g(a,b)  Ev(L a,R b,gg)  Output  [Z]=Z’ K2bK2b Z’ KicKic

Garbling a Gate AND/XOR L 0,L 1 R 0,R 1 Z 0,Z 1  A (privacy-free) garbled gate is a gadget that given two inputs keys gives you the right output key (and nothing else)  (Z 0,Z 1,gg)  Gb(L 0,L 1,R 0,R 1 )  Z g(a,b)  Ev(L a,R b,gg)  //and not Z 1-g(a,b)

Garbling w/o free-XOR (GRR1) Gb_AND(L 0,L 1,R 0,R 1 )  Output keys:  Z 1 = H(L 1,R 1 )  Z 0 = H(L 0 )  Send:  C = Z 0 ⊕ H(R 0 ) Ev_AND(L x, R y, C)  If(x = y = 1) output Z 1 = H(L x, R y )  If(x = 0) output Z 0 = H(L x )  If(y = 0) output Z 0 = C ⊕ H(R y )

Garbling w/o free-XOR (GRR1) Gb_XOR(L 0,L 1,R 0,R 1 )  Output keys:  Z 0 = L 0 ⊕ R 0  Z 1 = L 0 ⊕ R 1  Send:  C = L 0 ⊕ R 0 ⊕ L 1 ⊕ R 1 Ev_XOR(L a, R b, C)  If(a = 0) output Z (a ⊕ b) = L a ⊕ R b  If(a = 1) output Z (a ⊕ b) = C ⊕ L a ⊕ R b

Conclusions & Open Problems  Still a lot to be done with garbling schemes!  Other specific purpose garbling schemes?  Non-interactive ZK (w/o PKE/gate)?

Chou, Orlandi coming soon on ePrint The Simplest Oblivious Transfer Protocol

Diffie Hellman Key Exchange X = g x K = H(Y x ) m Y = g y C = E(K,m) K = H(X y ) m = D(K,C) There is another key K’ = H( (X/Y) x ) which Bob cannot compute!

X = g x The Simplest OT protocol K 0 = H(Y x ) K 1 = H((X/Y) x ) m 0,m 1 C 0 = E(K 0,m 0 ) C 1 = E(K 1,m 1 ) b=0 : Y = g y b=1 : Y = X/g y b Y K b = H(X y ) m b = D(K b,C b ) E(( α, β ), m) = ( α + m, ( α + m) β )

The Simplest OT Protocol  Complexity:  Communication: 1ge/OT + 2 ctxt/OT + 1ge  Computation: 3 exp/OT + 3 H/OT + 2 exp  Security:  UC vs. active adversary with programmable RO  Performances: ~5000 OT/s  Implementation based on Bernstein’s Curve25519