lattice based snargs and their application to more
play

Lattice-Based SNARGs and Their Application to More Efficient - PowerPoint PPT Presentation

Lattice-Based SNARGs and Their Application to More Efficient Obfuscation Dan Boneh, Yuval Ishai, Amit Sahai, and David J. Wu Program Obfuscation [BGIRSVY01, GGHRSW13] Indistinguishability obfuscation ( ) has emerged as a central hub


  1. Lattice-Based SNARGs and Their Application to More Efficient Obfuscation Dan Boneh, Yuval Ishai, Amit Sahai, and David J. Wu

  2. Program Obfuscation [BGIRSVY01, GGHRSW13] Indistinguishability obfuscation ( ๐‘—๐’ซ ) has emerged as a โ€œcentral hub for cryptographyโ€ [BGIRSVY01, GGHRSW13] [GGHRSW13, SW14, BZ14, BST14, GGHR14, GHRW14, BP15, CHNVW15, CLTV15, GP15, GPS16, BPW16 โ€ฆ] Takes a program as input and โ€œscramblesโ€ it ๐‘—๐’ซ

  3. Program Obfuscation [BGIRSVY01, GGHRSW13] Indistinguishability obfuscation ( ๐‘—๐’ซ ) has emerged as a โ€œcentral hub for cryptographyโ€ [BGIRSVY01, GGHRSW13] [GGHRSW13, SW14, BZ14, BST14, GGHR14, GHRW14, BP15, CHNVW15, CLTV15, GP15, GPS16, BPW16 โ€ฆ] Many applications, yet extremely far from practical The โ€œAlienโ€ Challenge: If we had to iO- obfuscate AES to save the planet from alien annihilation, can we do it?

  4. Program Obfuscation [BGIRSVY01, GGHRSW13] Indistinguishability obfuscation ( ๐‘—๐’ซ ) has emerged as a โ€œcentral hub for cryptographyโ€ [BGIRSVY01, GGHRSW13] [GGHRSW13, SW14, BZ14, BST14, GGHR14, GHRW14, BP15, CHNVW15, CLTV15, GP15, GPS16, BPW16 โ€ฆ] Not just engineering Many applications, yet extremely far from practical challenges โ€“ fundamental theoretical challenges Polynomial-time, but constant factors are โ‰ฅ 2 100

  5. Our Goal Obtain an โ€œobfuscation - completeโ€ primitive with an emphasis on concrete efficiency โ€ข Functionality whose (ideal) obfuscation can be used to obfuscate arbitrary circuits โ€ข Obfuscated primitive should need to invoked once for function evaluation โ€ข Our setting: obfuscate FHE decryption and SNARG verification Concurrently: improve the asymptotic efficiency of SNARGs

  6. How (Im)Practical is Obfuscation? Existing constructions rely on multilinear maps [BS04, GGH13, CLT13, GGH15] โ€ข Bootstrapping: [GGHRSW13, BR14, App14] NC 1 multilinear P/Poly maps obfuscation obfuscation bootstrapping โ€ข For AES, requires โ‰ซ 2 100 levels of multinearity and โ‰ซ 2 100 encodings โ€ข Direct obfuscation of circuits: [Zim15, AB15] โ€ข For AES, already require โ‰ซ 2 100 levels of multilinearity โ€ข Non-Black Box: [Lin16a, LV16, Lin16b, AS17, LT17] โ€ข Only requires constant-degree multilinear maps (e.g., 3-linear maps [LT17] ) โ€ข Multilinear maps are complex, so non-black box use of the multilinear maps will be difficult to implement

  7. How (Im)Practical is Obfuscation? Focus of this work will be on candidates that make black-box use of multilinear map NC 1 multilinear P/Poly maps obfuscation obfuscation bootstrapping prior works have focused on our goal: improve efficiency improving the efficiency of of bootstrapping obfuscation for NC 1 (branching programs) [AGIS14, BMSZ16]

  8. How (Im)Practical is Obfuscation? Focus of this work will be on candidates that make black-box use of multilinear map NC 1 multilinear P/Poly maps obfuscation obfuscation bootstrapping โ€ข Obfuscated program does two things: FHE decryption and proof verification (of correct evaluation) โ€ข NC 1 obfuscator works on branching programs , so need primitives with short branching programs (e.g., computing an inner products over a small field) โ€ข FHE decryption is (rounded) inner product [BV11, BGV12, Bra12, GSW13, AP14, DM15, โ€ฆ] , so just need a SNARG with simple verification

  9. Branching-Program-Friendly SNARGs Goal: construct a succinct non-interactive argument (SNARG) that can be verified by a short branching program

  10. Branching-Program-Friendly SNARGs Goal: construct a succinct non-interactive argument (SNARG) that can be verified by a short branching program Succinct non-interactive arguments (SNARG) for NP relation [GW11] โ€ข Setup 1 ๐œ‡ โ†’ ๐œ, ๐œ : outputs common reference string (CRS) ๐œ and verification state ๐œ โ€ข Prove ๐œ, ๐‘ฆ, ๐‘ฅ โ†’ ๐œŒ : on input the CRS ๐œ , the statement ๐‘ฆ a nd the witness ๐‘ฅ , outputs a proof ๐œŒ โ€ข Verify ๐œ, ๐‘ฆ, ๐œŒ โ†’ 0/1 : on input the verification state ๐œ , the statement ๐‘ฆ , decides if the proof ๐œŒ is valid

  11. Branching-Program-Friendly SNARGs Goal: construct a succinct non-interactive argument (SNARG) that can be verified by a short branching program Succinct non-interactive arguments (SNARG) for NP relation [GW11] โ€ข Must satisfy usual notions of completeness and computational soundness โ€ข Succinctness: proof size and verifier run-time should be polylogarithmic in the circuit size (for circuit satisfiability) โ€ข Verifier run-time: poly ๐œ‡ + ๐‘ฆ + log ๐ท โ€ข Proof size: poly ๐œ‡ + log ๐ท

  12. Branching-Program-Friendly SNARGs Goal: construct a succinct non-interactive argument (SNARG) Verification state ๐œ Allow Setup algorithm to that can be verified by a short branching program must be secret run in time poly(๐œ‡ + ๐ท ) Main result: new designated-verifier SNARGs in the preprocessing model with the following properties:

  13. Branching-Program-Friendly SNARGs Goal: construct a succinct non-interactive argument (SNARG) that can be verified by a short branching program proofs have prover complexity Main result: new designated-verifier SNARGs in the preprocessing model with the size เทจ is เทจ ๐‘ƒ(๐œ‡) ๐‘ƒ ๐ท following properties: โ€ข Quasi-optimal succinctness first SNARG that is โ€ข Quasi-optimal prover complexity โ€œquasi - optimalโ€ Asymptotics based on achieving negl(๐œ‡) soundness error against provers of size 2 ๐œ‡

  14. Branching-Program-Friendly SNARGs Goal: construct a succinct non-interactive argument (SNARG) that can be verified by a short branching program Main result: new designated-verifier SNARGs in the preprocessing model with the following properties: โ€ข Quasi-optimal succinctness first SNARG that is โ€ข Quasi-optimal prover complexity โ€œquasi - optimalโ€ โ€ข Post-quantum security โ€ข Works over polynomial-size fields New SNARG candidates are lattice-based โ€ข Over integer lattices, verification is branching-program friendly โ€ข Over ideal lattices, SNARGs are quasi-optimal

  15. Branching-Program-Friendly SNARGs Goal: construct a succinct non-interactive argument (SNARG) that can be verified by a short branching program Starting point: preprocessing SNARGs from [BCIOP13] 2-round linear linear PCP preprocessing SNARG interactive proof information- cryptographic compiler theoretic compiler (linear-only encryption)

  16. Linear PCPs (LPCPs) [IKO07] ๐œŒ โˆˆ ๐”พ ๐‘› (๐‘ฆ, ๐‘ฅ) linear PCP ๐œŒ โˆˆ ๐”พ ๐‘› โ€ข Verifier given oracle access to a linear ๐‘Ÿ โˆˆ ๐”พ ๐‘› function ๐œŒ โˆˆ ๐”พ ๐‘› โ€ข Several instantiations: โ€ข 3-query LPCP based on the Walsh- ๐‘Ÿ, ๐œŒ โˆˆ ๐”พ Hadamard code: ๐‘› = ๐‘ƒ( ๐ท 2 ) [ALMSS92] โ€ข 3-query LPCP based on quadratic span programs: ๐‘› = ๐‘ƒ( ๐ท ) [GGPR13] verifier

  17. Linear PCPs (LPCPs) [IKO07] ๐œŒ โˆˆ ๐”พ ๐‘› (๐‘ฆ, ๐‘ฅ) linear PCP ๐œŒ โˆˆ ๐”พ ๐‘› ๐‘Ÿ โˆˆ ๐”พ ๐‘› Oftentimes, verifier is oblivious : the queries ๐‘Ÿ do not depend on ๐‘Ÿ, ๐œŒ โˆˆ ๐”พ the statement ๐‘ฆ verifier

  18. Linear PCPs (LPCPs) [IKO07] Equivalent view (if verifier is oblivious): ๐œŒ โˆˆ ๐”พ ๐‘› ๐‘… โˆˆ ๐”พ ๐‘›ร—๐‘™ โˆˆ ๐”พ ๐‘›ร—๐‘™ ๐‘… = ๐‘Ÿ 1 ๐‘Ÿ 2 ๐‘Ÿ 3 ๐‘Ÿ ๐‘™ โ‹ฏ ๐‘… ๐‘ˆ ๐œŒ โˆˆ ๐”พ ๐‘™ pack all queries into verifier single matrix

  19. From Linear PCPs to Preprocessing SNARGs [BCIOP13] Oblivious verifier can โ€œcommitโ€ Honest prover takes to its queries ahead of time (๐‘ฆ, ๐‘ฅ) and constructs linear PCP ๐œŒ โˆˆ ๐”พ ๐‘› and computes ๐‘… T ๐œŒ ๐‘… = ๐‘Ÿ 1 ๐‘Ÿ 2 ๐‘Ÿ 3 ๐‘Ÿ ๐‘™ โ‹ฏ Two problems: โ€ข Malicious prover can choose ๐œŒ based on queries โ€ข Malicious prover can apply different ๐œŒ to the different columns of ๐‘… part of the CRS

  20. From Linear PCPs to Preprocessing SNARGs [BCIOP13] Oblivious verifier can โ€œcommitโ€ Honest prover takes to its queries ahead of time (๐‘ฆ, ๐‘ฅ) and constructs linear PCP ๐œŒ โˆˆ ๐”พ ๐‘› and computes ๐‘… T ๐œŒ ๐‘… = ๐‘Ÿ 1 ๐‘Ÿ 2 ๐‘Ÿ 3 ๐‘Ÿ ๐‘™ โ‹ฏ Two problems: โ€ข Malicious prover can choose ๐œŒ based on queries โ€ข Malicious prover can apply different ๐œŒ to the different columns of ๐‘… part of the CRS

  21. From Linear PCPs to Preprocessing SNARGs [BCIOP13] Oblivious verifier can โ€œcommitโ€ Honest prover takes to its queries ahead of time (๐‘ฆ, ๐‘ฅ) and constructs linear PCP ๐œŒ โˆˆ ๐”พ ๐‘› and computes ๐‘… T ๐œŒ ๐‘… = ๐‘Ÿ 1 ๐‘Ÿ 2 ๐‘Ÿ 3 ๐‘Ÿ ๐‘™ โ‹ฏ Step 1: Encrypt elements of ๐‘… using additively homomorphic encryption scheme โ€ข Prover homomorphically computes ๐‘… ๐‘ˆ ๐œŒ โ€ข Verifier decrypts encrypted response vector and performs LPCP verification part of the CRS

  22. From Linear PCPs to Preprocessing SNARGs [BCIOP13] Oblivious verifier can โ€œcommitโ€ Honest prover takes to its queries ahead of time (๐‘ฆ, ๐‘ฅ) and constructs linear PCP ๐œŒ โˆˆ ๐”พ ๐‘› and computes ๐‘… T ๐œŒ ๐‘… = ๐‘Ÿ 1 ๐‘Ÿ 2 ๐‘Ÿ 3 ๐‘Ÿ ๐‘™ โ‹ฏ Two problems: โ€ข Malicious prover can choose ๐œŒ based on queries โ€ข Malicious prover can apply different ๐œŒ to the different columns of ๐‘… part of the CRS

  23. From Linear PCPs to Preprocessing SNARGs Oblivious verifier can โ€œcommitโ€ Honest prover takes to its queries ahead of time (๐‘ฆ, ๐‘ฅ) and constructs linear PCP ๐œŒ โˆˆ ๐”พ ๐‘› and computes ๐‘… T ๐œŒ ๐‘… = ๐‘Ÿ 1 ๐‘Ÿ 2 ๐‘Ÿ 3 ๐‘Ÿ ๐‘™ โ‹ฏ Step 2: Conjecture that the encryption scheme only supports a limited subset of homomorphic operations (linear-only vector encryption) part of the CRS

  24. Linear-Only Vector Encryption ๐‘ค 1 โˆˆ ๐”พ ๐‘™ ๐‘ค 2 โˆˆ ๐”พ ๐‘™ โ‹ฎ ๐‘ค ๐‘› โˆˆ ๐”พ ๐‘™ plaintext space is a vector space

Recommend


More recommend