Succinct Functional Encryption: d Reusable Garbled Circuits and Beyond

Slides:



Advertisements
Similar presentations
Ran Canetti, Yael Tauman Kalai, Mayank Varia, Daniel Wichs.
Advertisements

Controlled Functional Encryption Muhammad Naveed, Shashank Agrawal, Manoj Prabhakaran, Xiaofeng Wang, Erman Ayday, Jean-Pierre Hubaux, Carl A. Gunter.
Secure Computation of Linear Algebraic Functions
Lattices, Cryptography and Computing with Encrypted Data
Secure Evaluation of Multivariate Polynomials
Oblivious Branching Program Evaluation
Twin Clouds: An Architecture for Secure Cloud Computing Term Paper Presented by: Komala Priya Chitturi.
CS555Topic 241 Cryptography CS 555 Topic 24: Secure Function Evaluation.
Nir Bitansky, Ran Canetti, Omer Paneth, Alon Rosen.
How to Delegate Computations: The Power of No-Signaling Proofs Ron Rothblum Weizmann Institute Joint work with Yael Kalai and Ran Raz.
Multiparty Computation with Low Communication, Computation and Interaction via Threshold FHE Bar-Ilan University Gilad Asharov UCLA Abhishek Jain NYU Adriana.
GARBLED CIRCUITS & SECURE TWO-PARTY COMPUTATION
Outsourcing Private RAM Computation Daniel Wichs Northeastern University with: Craig Gentry, Shai Halevi, Mariana Raykova.
New Advances in Garbling Circuits Based on joint works with Yuval Ishai Eyal Kushilevitz Brent Waters University of TexasTechnion Benny Applebaum Tel Aviv.
Yan Huang, Jonathan Katz, David Evans University of Maryland, University of Virginia Efficient Secure Two-Party Computation Using Symmetric Cut-and-Choose.
Nir Bitansky Ran Canetti Henry Cohn Shafi Goldwasser Yael Tauman-Kalai
Two Round MPC via Multi-Key FHE Daniel Wichs (Northeastern University) Joint work with Pratyay Mukherjee.
Simons Institute, Cryptography Boot Camp
Remarks on Voting using Cryptography Ronald L. Rivest MIT Laboratory for Computer Science.
Chapter 13: Electronic Commerce and Information Security Invitation to Computer Science, C++ Version, Fourth Edition SP09: Contains security section (13.4)
Black-Box Garbled RAM Sanjam Garg UC Berkeley Based on join works with
Blind Vision Shai Avidan, Moshe Butman Yuval Schwartz.
Lecture 19 Page 1 CS 111 Online Security for Operating Systems: Cryptography, Authentication, and Protecting OS Resources CS 111 On-Line MS Program Operating.
Homomorphic Encryption: WHAT, WHY, and HOW
Multi-Client Non-Interactive Verifiable Computation Seung Geol Choi (Columbia U.) Jonathan Katz (U. Maryland) Ranjit Kumaresan (Technion) Carlos Cid (Royal.
1 Information Security – Theory vs. Reality , Winter Lecture 10: Garbled circuits (cont.), fully homomorphic encryption Eran Tromer.
CS526: Information Security Prof. Sam Wagstaff September 16, 2003 Cryptography Basics.
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.
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.
1 Information Security – Theory vs. Reality , Winter Lecture 10: Garbled circuits and obfuscation Eran Tromer Slides credit: Boaz.
Non-Interactive Verifiable Computing August 5, 2009 Bryan Parno Carnegie Mellon University Rosario Gennaro, Craig Gentry IBM Research.
Verifiable Cloud Computing KANG Yu. Verifiable Computation Weak clients Computationally powerful cloud Goal: – Verify the computing result.
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.
China Summer School on Lattices and Cryptography Craig Gentry and Shai Halevi June 4, 2014 Homomorphic Encryption over Polynomial Rings.
Lectures so far: Today’s lecture: Discrete probability Proving things
Obfuscation of Probabilistic Circuits Ran Canetti, Huijia Lin Stefano Tessaro, Vinod Vaikuntanathan.
Based on work with: Sergey Gorbunov and Vinod Vaikuntanathan Homomorphic Commitments & Signatures Daniel Wichs Northeastern University.
Boaz Barak, Nir Bitansky, Ran Canetti, Yael Tauman Kalai, Omer Paneth, Amit Sahai.
Secure Computation with Minimal Interaction, Revisited Yuval Ishai (Technion) Ranjit Kumaresan (MIT) Eyal Kushilevitz (Technion) Anat Paskin-Cherniavsky.
China Summer School on Lattices and Cryptography Craig Gentry and Shai Halevi June 3, 2014 Somewhat Homomorphic Encryption.
Verifiable Outsourcing of Computation Ron Rothblum.
Verifiable Threshold Secret Sharing and Full Fair Secure Two-party Computation YE Jian-wei March 7, 2009.
Verifiable Distributed Oblivious Transfer and Mobile-agent Security Speaker: Sheng Zhong (joint work with Yang Richard Yang) Yale University.
The Many Faces of Garbled Circuits MIT Vinod Vaikuntanathan.
Fully Homomorphic Encryption (FHE) By: Matthew Eilertson.
Cryptographic methods. Outline  Preliminary Assumptions Public-key encryption  Oblivious Transfer (OT)  Random share based methods  Homomorphic Encryption.
Cryptography Resilient to Continual Memory Leakage Zvika Brakerski Weizmann Institute Yael Tauman Kalai Microsoft Jonathan Katz University of Maryland.
Practical and Deployable Secure Multi-Party Computation Debayan Gupta Yale University May 11, 2016 Jai Dadabhai.
Packing Techniques for Homomorphic Encryption Schemes Scott Thompson CSCI-762 4/28/2016.
Bounded key-dependent message security
Garbling Techniques David Evans
A Fixed-key Blockcipher
The Exact Round Complexity of Secure Computation
The Exact Round Complexity of Secure Computation
Carmit Hazay (Bar-Ilan University, Israel)
Homomorphic encryption of quantum data
iO with Exponential Efficiency
Laconic Oblivious Transfer and its Applications
Cryptography CS 555 Lecture 22
Verifiable Oblivious Storage
Applications of Blockchains - III
Four-Round Secure Computation without Setup
Cryptography for Quantum Computers
Rishab Goyal Venkata Koppula Brent Waters
Cynthia Dwork Moni Naor Guy Rothblum
Identity Based Encryption from the Diffie-Hellman Assumption
Compact Adaptively Secure ABE for NC1 from k-Lin
Cryptography Lecture 8 Arpita Patra © Arpita Patra.
Presentation transcript:

Succinct Functional Encryption: d Reusable Garbled Circuits and Beyond Yael Kalai Microsoft Research Joint work with: Shafi Goldwasser Raluca Ada Popa Vinod Vaikuntanathan Nickolai Zeldovich MIT U Toronto * Thanks to Raluca and Vinod for the slides.

Example: Spam Filters Sender Receiver Spam filter 𝐸[𝑒𝑚𝑎𝑖𝑙] FHE.Eval of filter 𝐸[𝑒𝑚𝑎𝑖𝑙] E[spam?] FHE is not enough! Need to decrypt computation result but nothing else!

Desired: Functional Encryption (FE) [Boneh-Sahai-Waters11, O’Neill11] Allows evaluator to decrypt computation result Client 𝐸 𝑥 1 ,..,𝐸[ 𝑥 𝑛 ] Evaluator 𝑠 𝑘 𝑓 compute 𝒇 𝒙 𝟏 , …, 𝒇 𝒙 𝒏 Syntax: 𝑀𝑆𝐾, 𝑀𝑃𝐾 ←FE.Setup 1 𝑘 𝑐𝑡←FE.Enc 𝑀𝑃𝐾, 𝑥 𝑠 𝑘 𝑓 ←FE.KeyGen 𝑀𝑆𝐾, 𝑓 f 𝑥 ←FE.Dec 𝑠 𝑘 𝑓 , 𝑐𝑡 Can release only one function key [Agrawal-Gorbunov-Vaikuntanathan-Wee12]

Outline Example: Spam filters Problem we solve: Functional Encryption (under LWE assumption) Prior work Main Application: Reusable Garbled Circuits Application 2: FHE for Turing machines Application 3: Publicly Verifiable and Secret Delegation Our constructions

Prior Work Functional encryption for inner product functions [Katz-Sahai-Waters’08, Shen-Shi-Waters’09] Public-index functional encryption (also known as ABE or predicate encryption) [Sahai-Waters’05, Goyal-Pandey-Sahai-Waters’06, Bethencourt-Sahai-Waters’07, Goyal-Jain- Pandey-Sahai’08, Lewko-Okamoto-Sahai-Takashima-Waters’10, Waters’11, Lewko- Waters’12, Waters’12, Sahai-Waters’12, Gorbunov-Vaikuntanathan-Wee’13,…] [Gorbunov-Vaikuntanathan-Wee’12]: Functional encryption for general functions, where |𝐸 𝑥 | grows with circuit size (e.g. size of email encryption depends on spam filter program size)

Open question: Is there a FE scheme for general functions with ciphertext size << circuit size? succinct

Our contribution: Succinct functional encryption Theorem. A FE scheme with succinct ciphertexts for general functions can be constructed from FHE scheme public-index functional encryption scheme Corollary. Under the sub-exp. LWE assumption, for any depth d, there is a FE scheme with succinct ciphertexts (whose size grows with d) for general functions computable by circuits of depth d.

Main Application: Reusable Garbled Circuits Yao garbled circuits [Yao82] Secure two-party computation [Yao86], (Constant round) multi-party computation [BMR90], Parallel cryptography [AIK05], One-time programs [GKR08], Key-dependent message (KDM) security [BHHI09, A11], Outsourcing computation [GGP10], Circuit-private homomorphic encryption [GHV10], and many others

Yao Garbled Circuits [Yao 82] Boolean Circuit C Garbled Circuit GC 01010010 01110110 11010010 01010011 11100010 11111101 + x Garble(C) Input 𝒙 Garbled Input 𝒈𝒙 Garble(x) L2,1 L1,0 L1,1 L2,0 L3,1 L3,0 L4,1 L4,0 𝒙= 1

Yao Garbled Circuits (Cont.) Garbled Circuit GC Correctness: Given GC and 𝒈𝒙, can compute C(x). 01010010 01110110 11010010 01010011 11100010 11111101 Security (Input & Circuit privacy) Given C(x) and 1|C|, can simulate (GC, 𝒈𝒙). Efficiency: |GC| = p(|C|) and |𝒈𝒙| = p(|x|) Garbled Input 𝒈𝒙 L2,1 L1,0 L1,1 L2,0 L3,1 L3,0 L4,1 L4,0

Yao Garbled Circuits (Cont.) Garbled Circuit GC 01010010 01110110 11010010 01010011 11100010 11111101 Theorem: [Yao86] If one-way functions exist, any polynomial-size circuit family can be garbled. Garbled Input 𝒈𝒙 L2,1 L1,0 L1,1 L2,0 L3,1 L3,0 L4,1 L4,0

Drawback: One-time Garbled Circuit GC 01010010 01110110 11010010 01010011 11100010 11111101 insecure to release two encodings 𝒈𝒙 and 𝒈𝒙′ L1,1 L3,0 L4,1 L2,0 L1,0 𝒙=𝟎𝟏𝟏𝟎 L4,0 𝒈𝒙 No input or circuit privacy guarantees! Can compute C(x) for unintended inputs x! L2,1 L3,1 𝒙′=𝟏𝟎𝟎𝟏 𝒈𝒙

Main Application: Reusable Garbling 01010010 11010010 01010011 Theorem: Under the sub-exp. LWE, there is a reusable circuit garbling scheme for poly size circuits such that: 𝐺𝐶 =poly(𝑛,|C|) 𝑔𝑥 =poly(𝑛,|𝑥|,𝑑) where 𝑑 is the depth of 𝐶 (𝑛: security parameter)

Application 2: FHE for Turing machines Evaluator 𝐸[input] Program Client 𝐸[result] circuit size ≥ worst-case running time of program Decrypt only the runtime of the instance, to avoid worst-case!

Application 3: Publicly-verifiable delegation with secrecy [Gennaro-Gentry-Parno’10]: Yao + FHE secret privately-verifiable delegation [Parno-Raikova-Vaikuntanathan’12]: public-index FE non-secret publicly-verifiable delegation succinct FE publicly-verifiable delegation with secrecy

Outline succinct functional encryption LWE public-index FE + FHE + Yao garbling 1 succinct functional encryption Not today 2 Not today reusable garbled circuits & FHE with input-specific efficiency publicly-verifiable delegation with secrecy implication to obfuscation

Construction of FE

Public-Index Functional Encryption (also known as ABE or predicate encryption) leaks input to the computation 𝑐𝑡←Enc 𝑚𝑝𝑘, 𝑥, 𝑚 Dec 𝑠 𝑘 𝑓 , 𝑐𝑡 = 𝑚 ,𝑖𝑓 𝑓 𝑥 =1 ⊥ , 𝑖𝑓 𝑓 𝑥 =0 Variant: 𝑐𝑡←Enc 𝑚𝑝𝑘, 𝑥, 𝑚 0 , 𝑚 1 Dec 𝑠 𝑘 𝑓 , 𝑐𝑡 = 𝑚 0 ,𝑖𝑓 𝑓 𝑥 =1 𝑚 1 , 𝑖𝑓 𝑓 𝑥 =0 [Borgunov-Vaikuntanathan-Wee13]: Public-index functional encryption for any (a priori fixed) depth d circuit, based on sub-exp. LWE assumption.

Intuition IDEA: Start with FHE   𝑥 ←FHE.Enc 𝑥 𝑠 𝑘 𝑓 ←𝑓 𝑓(𝑥) ←FHE.Eval(𝑓, 𝑥 ) Not f(𝒙)! IDEA: Start with FHE IDEA: Use (one-time) Yao garbled for decryption

Intuition FE.Enc of input 𝑥: FE.KeyGen for circuit f: 1. 𝑥 ←FHE.Enc 𝑥 2. Generate garbled circuit Γ and labels 𝐿 0 𝑖 , 𝐿 1 𝑖 𝑖 for Dec 𝑠𝑘 Output 𝑥 , Γ FE.KeyGen for circuit f: 𝑠 𝑘 𝑓 ←𝑓 FE.Dec(𝑠 𝑘 𝑓 , 𝑐𝑡) should obtain 𝑓(𝑥): 1. 𝑐𝑡= 𝑓(𝑥) ←FHE.Eval(𝑓, 𝑥 ) 2. Obtain labels {𝐿 𝑖 𝑐 𝑡 𝑖 } for 𝑓(𝑥) 3. Compute Gb.Eval Γ, 𝐿 𝑖 𝑒 𝑖 and get 𝑓(𝑥) How??

We need.. IDEA: The variant of public-index FE provides exactly this! if FHE. Eval i (𝑓, 𝑥 ) = 0, get label 𝐿 0 𝑖 , else gets 𝐿 1 𝑖 keep one secret public predicate public input IDEA: The variant of public-index FE provides exactly this! 𝑐𝑡←PI.Enc 𝑥 , 𝐿 0 𝑖 , 𝐿 1 𝑖 ) 𝑠 𝑘 𝑓 ←PI.KeyGen 𝑔 𝑖 PI.Dec 𝑠 𝑘 𝑓 , 𝑐𝑡 = 𝐿 0 𝑖 ,𝑖𝑓 𝑔 𝑖 𝑥 =0 𝐿 1 𝑖 , 𝑖𝑓 𝑔 𝑖 𝑥 =1

Intuition FE.Enc of input 𝑥: FE.KeyGen for circuit f: 1. 𝑥 ←FHE.Enc 𝑥 2. Generate garbled circuit Γ and labels 𝐿 0 𝑖 , 𝐿 1 𝑖 𝑖 for Dec 𝑠𝑘 3. c 𝑡 𝑖 ←PI.Enc 𝑥 , 𝐿 0 𝑖 , 𝐿 1 𝑖 ) Output 𝑥 , Γ, ct i FE.KeyGen for circuit f: 𝑠 𝑘 𝑔 𝑖 ←PI.KeyGen 𝑔 𝑖 , where 𝑔 𝑖 =FHE. Eval i (𝑓,⋅) FE.Dec(𝑠 𝑘 𝑓 , 𝑐𝑡) should obtain 𝑓(𝑥): 1. 𝑐𝑡= 𝑓(𝑥) ←FHE.Eval(𝑓, 𝑥 ) 2. Obtain labels {𝐿 𝑖 𝑐 𝑡 𝑖 } for 𝑓(𝑥) 3. Compute Gb.Eval Γ, 𝐿 𝑖 𝑒 𝑖 and get 𝑓(𝑥)

Outline succinct functional encryption public-index FE + FHE + Yao garbling succinct functional encryption 2 reusable garbled circuits & FHE with input-specific efficiency publicly-verifiable delegation with secrecy implication to obfuscation

Intuition Garble(C): Γ← 𝐹𝐸.𝐾𝑒𝑦𝐺𝑒𝑛(𝐶) Garble(x): 𝑐𝑡←𝐹𝐸.𝐸𝑛𝑐(𝑥) Leaks C! IDEA: leverage secrecy of input to hide circuit

Intuition Garble(C): Γ← 𝐹𝐸.𝐾𝑒𝑦𝐺𝑒𝑛(𝐸𝑛 𝑐 𝑠𝑘 𝐶 ) Garble(x): 𝑐𝑡←𝐹𝐸.𝐸𝑛𝑐(𝑥,𝑠𝑘)

Intuition Garble(C): Γ← 𝐹𝐸.𝐾𝑒𝑦𝐺𝑒𝑛( 𝑈 𝐸𝑛 𝑐 𝑠𝑘 (𝐶) ) Garble(x): 𝑐𝑡←𝐹𝐸.𝐸𝑛𝑐(𝑥,𝑠𝑘) Correctness? 𝑈 𝐸 on input 𝑠𝑘 and 𝑥: Decrypt E to obtain C Run 𝐶(𝑥) Security? Reusability?

Summary succinct functional encryption LWE public-index FE + FHE + Yao garbling 1 succinct functional encryption Not today 2 Not today reusable garbled circuits & FHE with input-specific efficiency publicly-verifiable delegation with secrecy implication to obfuscation

Thank you! + public-index FE succinct functional encryption FHE LWE succinct functional encryption FHE Yao garbling reusable garbled circuits & FHE with input-specific efficiency publicly-verifiable delegation with secrecy + 1 2 implication to obfuscation