Lattice-Based SNARGs and Their Application to More Efficient - - PowerPoint PPT Presentation
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
Program Obfuscation [BGIRSVY01, GGHRSW13]
Takes a program as input and โscramblesโ it
๐๐ซ
Indistinguishability obfuscation (๐๐ซ) has emerged as a โcentral hub for cryptographyโ [BGIRSVY01, GGHRSW13]
[GGHRSW13, SW14, BZ14, BST14, GGHR14, GHRW14, BP15, CHNVW15, CLTV15, GP15, GPS16, BPW16 โฆ]
Program Obfuscation [BGIRSVY01, GGHRSW13]
Many applications, yet extremely far from practical Indistinguishability obfuscation (๐๐ซ) has emerged as a โcentral hub for cryptographyโ [BGIRSVY01, GGHRSW13]
[GGHRSW13, SW14, BZ14, BST14, GGHR14, GHRW14, BP15, CHNVW15, CLTV15, GP15, GPS16, BPW16 โฆ]
The โAlienโ Challenge: If we had to iO-
- bfuscate AES to save the planet from
alien annihilation, can we do it?
Program Obfuscation [BGIRSVY01, GGHRSW13]
Many applications, yet extremely far from practical Indistinguishability obfuscation (๐๐ซ) has emerged as a โcentral hub for cryptographyโ [BGIRSVY01, GGHRSW13]
[GGHRSW13, SW14, BZ14, BST14, GGHR14, GHRW14, BP15, CHNVW15, CLTV15, GP15, GPS16, BPW16 โฆ]
Polynomial-time, but constant factors are โฅ 2100 Not just engineering challenges โ fundamental theoretical challenges
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
- nce for function evaluation
- Our setting: obfuscate FHE decryption and
SNARG verification Concurrently: improve the asymptotic efficiency of SNARGs
How (Im)Practical is Obfuscation?
Existing constructions rely on multilinear maps [BS04, GGH13, CLT13, GGH15]
- Bootstrapping: [GGHRSW13, BR14, App14]
- For AES, requires โซ 2100 levels of multinearity and โซ 2100 encodings
- Direct obfuscation of circuits: [Zim15, AB15]
- For AES, already require โซ 2100 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
multilinear maps NC1
- bfuscation
P/Poly
- bfuscation
bootstrapping
How (Im)Practical is Obfuscation?
multilinear maps NC1
- bfuscation
P/Poly
- bfuscation
bootstrapping
Focus of this work will be on candidates that make black-box use of multilinear map
- ur goal: improve efficiency
- f bootstrapping
prior works have focused on improving the efficiency of
- bfuscation for NC1 (branching
programs) [AGIS14, BMSZ16]
How (Im)Practical is Obfuscation?
multilinear maps NC1
- bfuscation
P/Poly
- bfuscation
bootstrapping
Focus of this work will be on candidates that make black-box use of multilinear map
- Obfuscated program does two things: FHE decryption and proof verification (of
correct evaluation)
- NC1 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
Branching-Program-Friendly SNARGs
Goal: construct a succinct non-interactive argument (SNARG) that can be verified by a short branching program
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 ๐ฆ and
the witness ๐ฅ, outputs a proof ๐
- Verify ๐, ๐ฆ, ๐ โ 0/1: on input the verification state ๐, the
statement ๐ฆ, decides if the proof ๐ is valid
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 ๐ท
Branching-Program-Friendly SNARGs
Main result: new designated-verifier SNARGs in the preprocessing model with the following properties:
Goal: construct a succinct non-interactive argument (SNARG) that can be verified by a short branching program
Verification state ๐ must be secret Allow Setup algorithm to run in time poly(๐ + ๐ท )
Branching-Program-Friendly SNARGs
Main result: new designated-verifier SNARGs in the preprocessing model with the following properties:
- Quasi-optimal succinctness
- Quasi-optimal prover complexity
first SNARG that is โquasi-optimalโ
Asymptotics based on achieving negl(๐) soundness error against provers of size 2๐
proofs have size เทจ ๐(๐) prover complexity is เทจ ๐ ๐ท
Goal: construct a succinct non-interactive argument (SNARG) that can be verified by a short branching program
Branching-Program-Friendly SNARGs
Main result: new designated-verifier SNARGs in the preprocessing model with the following properties:
- Quasi-optimal succinctness
- Quasi-optimal prover complexity
- Post-quantum security
- Works over polynomial-size fields
first SNARG that is โquasi-optimalโ New SNARG candidates are lattice-based
- Over integer lattices, verification is branching-program friendly
- Over ideal lattices, SNARGs are quasi-optimal
Goal: construct a succinct non-interactive argument (SNARG) that can be verified by a short branching program
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] linear PCP 2-round linear interactive proof preprocessing SNARG
information- theoretic compiler cryptographic compiler (linear-only encryption)
Linear PCPs (LPCPs) [IKO07]
(๐ฆ, ๐ฅ) ๐ โ ๐พ๐ linear PCP
๐ โ ๐พ๐
๐ โ ๐พ๐ ๐, ๐ โ ๐พ verifier
- 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]
Linear PCPs (LPCPs) [IKO07]
(๐ฆ, ๐ฅ) ๐ โ ๐พ๐ linear PCP
๐ โ ๐พ๐
๐ โ ๐พ๐ ๐, ๐ โ ๐พ verifier Oftentimes, verifier is oblivious: the queries ๐ do not depend on the statement ๐ฆ
Linear PCPs (LPCPs) [IKO07]
Equivalent view (if verifier is oblivious): ๐1 ๐2 ๐3 ๐๐ โฏ
๐ =
โ ๐พ๐ร๐ ๐ โ ๐พ๐
๐ โ ๐พ๐ร๐ ๐ ๐๐ โ ๐พ๐ verifier
pack all queries into single matrix
From Linear PCPs to Preprocessing SNARGs [BCIOP13]
Oblivious verifier can โcommitโ to its queries ahead of time ๐1 ๐2 ๐3 ๐๐ โฏ
part of the CRS
Honest prover takes (๐ฆ, ๐ฅ) and constructs linear PCP ๐ โ ๐พ๐ and computes ๐ T๐
๐ =
Two problems:
- Malicious prover can choose ๐ based
- n queries
- Malicious prover can apply different ๐
to the different columns of ๐
Oblivious verifier can โcommitโ to its queries ahead of time ๐1 ๐2 ๐3 ๐๐ โฏ
part of the CRS
Honest prover takes (๐ฆ, ๐ฅ) and constructs linear PCP ๐ โ ๐พ๐ and computes ๐ T๐
๐ =
Two problems:
- Malicious prover can choose ๐ based
- n queries
- Malicious prover can apply different ๐
to the different columns of ๐
From Linear PCPs to Preprocessing SNARGs [BCIOP13]
Oblivious verifier can โcommitโ to its queries ahead of time ๐1 ๐2 ๐3 ๐๐ โฏ
part of the CRS
Honest prover takes (๐ฆ, ๐ฅ) and constructs linear PCP ๐ โ ๐พ๐ and computes ๐ T๐
๐ =
Step 1: Encrypt elements of ๐ using additively homomorphic encryption scheme
- Prover homomorphically computes ๐ ๐๐
- Verifier decrypts encrypted response
vector and performs LPCP verification
From Linear PCPs to Preprocessing SNARGs [BCIOP13]
Oblivious verifier can โcommitโ to its queries ahead of time ๐1 ๐2 ๐3 ๐๐ โฏ
part of the CRS
Honest prover takes (๐ฆ, ๐ฅ) and constructs linear PCP ๐ โ ๐พ๐ and computes ๐ T๐
๐ =
Two problems:
- Malicious prover can choose ๐ based
- n queries
- Malicious prover can apply different ๐
to the different columns of ๐
From Linear PCPs to Preprocessing SNARGs [BCIOP13]
From Linear PCPs to Preprocessing SNARGs
Oblivious verifier can โcommitโ to its queries ahead of time ๐1 ๐2 ๐3 ๐๐ โฏ
part of the CRS
Honest prover takes (๐ฆ, ๐ฅ) and constructs linear PCP ๐ โ ๐พ๐ and computes ๐ T๐
๐ =
Step 2: Conjecture that the encryption scheme
- nly supports a limited subset of homomorphic
- perations (linear-only vector encryption)
Linear-Only Vector Encryption
๐ค1 โ ๐พ๐ ๐ค2 โ ๐พ๐ ๐ค๐ โ ๐พ๐
โฎ
plaintext space is a vector space
Linear-Only Vector Encryption
โฎ
plaintext space is a vector space
๐ค1 โ ๐พ๐ ๐ค2 โ ๐พ๐ ๐ค๐ โ ๐พ๐ เท
๐โ[๐]
๐ฝ๐๐ค๐ โ ๐พ๐
encryption scheme is semantically-secure and additively homomorphic
Linear-Only Vector Encryption
โฎ
๐ค1 โ ๐พ๐ ๐ค2 โ ๐พ๐ ๐ค๐ โ ๐พ๐ ct For all adversaries, there is an efficient extractor such that if ct is valid, then the extractor is able to produce a vector of coefficients ๐ฝ1, โฆ , ๐ฝ๐ โ ๐พ๐ and ๐ โ ๐พ๐ such that Decrypt sk, ct = ฯ๐โ[๐] ๐ฝ๐๐ค๐ + ๐
Weaker property also suffices. [See paper for details.]
๐ฝ1, โฆ , ๐ฝ๐ โ ๐พ, ๐ โ ๐พ๐
adversary extractor
Linear-Only Vector Encryption
โฎ
๐ค1 โ ๐พ๐ ๐ค2 โ ๐พ๐ ๐ค๐ โ ๐พ๐ ct For all adversaries, there is an efficient extractor such that if ct is valid, then the extractor is able to produce a vector of coefficients ๐ฝ1, โฆ , ๐ฝ๐ โ ๐พ๐ and ๐ โ ๐พ๐ such that Decrypt sk, ct = ฯ๐โ[๐] ๐ฝ๐๐ค๐ + ๐
Weaker property also suffices. [See paper for details.]
๐ฝ1, โฆ , ๐ฝ๐ โ ๐พ, ๐ โ ๐พ๐
adversary extractor extractor can โexplainโ the ciphertexts as an affine function of its inputs
From Linear PCPs to Preprocessing SNARGs
Oblivious verifier can โcommitโ to its queries ahead of time ๐1 ๐2 ๐3 ๐๐ โฏ
part of the CRS
Honest prover takes (๐ฆ, ๐ฅ) and constructs linear PCP ๐ โ ๐พ๐ and computes ๐ T๐
๐ =
Step 2: Conjecture that the encryption scheme
- nly supports a limited subset of homomorphic
- perations (linear-only vector encryption)
Linear-only vector encryption โ all prover strategies can be explained by (๐, ๐) as ๐ ๐๐ + ๐ encrypt row by row
[See paper for full details.]
Comparison with [BCIOP13]
Preprocessing SNARGs from [BCIOP13]: linear PCP 2-round linear interactive proof preprocessing SNARG Our construction linear PCP preprocessing SNARG
Comparison with [BCIOP13]
Preprocessing SNARGs from [BCIOP13]: linear PCP 2-round linear interactive proof preprocessing SNARG Our construction linear PCP preprocessing SNARG introduce additional consistency check to force prover to apply consistent linear function โ soundness only over a large field
Comparison with [BCIOP13]
Preprocessing SNARGs from [BCIOP13]: linear PCP 2-round linear interactive proof preprocessing SNARG Our construction linear PCP preprocessing SNARG stronger cryptographic assumption, but enables new constructions with better efficiency
Instantiating Linear-Only Vector Encryption
Conjecture: Regev-based encryption (specifically, the [PVW08] variant) is a linear-only vector encryption scheme. Proof verification essentially consists
- f computing a rounded matrix-
vector product Obfuscation- friendly!
Concrete Comparisons
Construction Prover Complexity Proof Size Assumption Public vs. Designated
CS Proofs [Mic00] Groth [Gro10] GGPR [GGPR12] BCIOP (Pairing) [BCIOP13] BCIOP (LWE) [BCIOP13] Our Construction (LWE) Our Construction (RLWE)
Public Public Public Designated Designated เทจ ๐( ๐ท + ๐2) เทจ ๐( ๐ท 2๐ + ๐ท ๐2) เทจ ๐( ๐ท ๐) เทจ ๐( ๐ท ๐) เทจ ๐( ๐ท ๐) เทจ ๐( ๐ท ๐) เทจ ๐( ๐ท ) เทจ ๐(๐2) เทจ ๐(๐) เทจ ๐(๐) เทจ ๐(๐) เทจ ๐(๐) เทจ ๐(๐) เทจ ๐(๐) Public Designated Random Oracle Knowledge of Exponent Linear-Only Encryption Linear-Only Vector Encryption
Only negl ๐ -soundness (instead of 2โ๐-soundness) against 2๐-bounded provers
[See paper.]
Concrete Comparisons
Construction Prover Complexity Proof Size Assumption Public vs. Designated
CS Proofs [Mic00] Groth [Gro10] GGPR [GGPR12] BCIOP (Pairing) [BCIOP13] BCIOP (LWE) [BCIOP13] Our Construction (LWE) Our Construction (RLWE)
Public Public Public Designated Designated เทจ ๐( ๐ท + ๐2) เทจ ๐( ๐ท 2๐ + ๐ท ๐2) เทจ ๐( ๐ท ๐) เทจ ๐( ๐ท ๐) เทจ ๐( ๐ท ๐) เทจ ๐( ๐ท ๐) เทจ ๐( ๐ท ) เทจ ๐(๐2) เทจ ๐(๐) เทจ ๐(๐) เทจ ๐(๐) เทจ ๐(๐) เทจ ๐(๐) เทจ ๐(๐) Public Designated Random Oracle Knowledge of Exponent Linear-Only Encryption Linear-Only Vector Encryption
Post-quantum resistant!
[See paper.]
Back to Obfuscationโฆ
For bootstrapping obfuscationโฆ
- Obfuscate FHE decryption and SNARG verification
- Degree of multilinearity: โ 212
- Number of encodings: โ 244
Still infeasible, but much, much better than 2100 for previous black-box constructions!
Looking into obfuscation gave us new insights into constructing better SNARGs:
- More direct framework of building SNARGs from linear PCPs
- Quasi-succinct construction from standard lattices
- Quasi-optimal construction from ideal lattices [See paper.]
Many optimizations. [See paper for details.]