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

โ–ถ
lattice based snargs and their application to more
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Lattice-Based SNARGs and Their Application to More Efficient Obfuscation

Dan Boneh, Yuval Ishai, Amit Sahai, and David J. Wu

slide-2
SLIDE 2

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 โ€ฆ]

slide-3
SLIDE 3

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?

slide-4
SLIDE 4

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

slide-5
SLIDE 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
  • nce for function evaluation
  • Our setting: obfuscate FHE decryption and

SNARG verification Concurrently: improve the asymptotic efficiency of SNARGs

slide-6
SLIDE 6

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

slide-7
SLIDE 7

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]

slide-8
SLIDE 8

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

slide-9
SLIDE 9

Branching-Program-Friendly SNARGs

Goal: construct a succinct non-interactive argument (SNARG) that can be verified by a short branching program

slide-10
SLIDE 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 ๐‘ฆ and

the witness ๐‘ฅ, outputs a proof ๐œŒ

  • Verify ๐œ, ๐‘ฆ, ๐œŒ โ†’ 0/1: on input the verification state ๐œ, the

statement ๐‘ฆ, decides if the proof ๐œŒ is valid

slide-11
SLIDE 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 ๐ท
slide-12
SLIDE 12

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(๐œ‡ + ๐ท )

slide-13
SLIDE 13

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

slide-14
SLIDE 14

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

slide-15
SLIDE 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] linear PCP 2-round linear interactive proof preprocessing SNARG

information- theoretic compiler cryptographic compiler (linear-only encryption)

slide-16
SLIDE 16

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]

slide-17
SLIDE 17

Linear PCPs (LPCPs) [IKO07]

(๐‘ฆ, ๐‘ฅ) ๐œŒ โˆˆ ๐”พ๐‘› linear PCP

๐œŒ โˆˆ ๐”พ๐‘›

๐‘Ÿ โˆˆ ๐”พ๐‘› ๐‘Ÿ, ๐œŒ โˆˆ ๐”พ verifier Oftentimes, verifier is oblivious: the queries ๐‘Ÿ do not depend on the statement ๐‘ฆ

slide-18
SLIDE 18

Linear PCPs (LPCPs) [IKO07]

Equivalent view (if verifier is oblivious): ๐‘Ÿ1 ๐‘Ÿ2 ๐‘Ÿ3 ๐‘Ÿ๐‘™ โ‹ฏ

๐‘… =

โˆˆ ๐”พ๐‘›ร—๐‘™ ๐œŒ โˆˆ ๐”พ๐‘›

๐‘… โˆˆ ๐”พ๐‘›ร—๐‘™ ๐‘…๐‘ˆ๐œŒ โˆˆ ๐”พ๐‘™ verifier

pack all queries into single matrix

slide-19
SLIDE 19

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 ๐‘…

slide-20
SLIDE 20

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]

slide-21
SLIDE 21

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]

slide-22
SLIDE 22

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]

slide-23
SLIDE 23

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)
slide-24
SLIDE 24

Linear-Only Vector Encryption

๐‘ค1 โˆˆ ๐”พ๐‘™ ๐‘ค2 โˆˆ ๐”พ๐‘™ ๐‘ค๐‘› โˆˆ ๐”พ๐‘™

โ‹ฎ

plaintext space is a vector space

slide-25
SLIDE 25

Linear-Only Vector Encryption

โ‹ฎ

plaintext space is a vector space

๐‘ค1 โˆˆ ๐”พ๐‘™ ๐‘ค2 โˆˆ ๐”พ๐‘™ ๐‘ค๐‘› โˆˆ ๐”พ๐‘™ เท

๐‘—โˆˆ[๐‘œ]

๐›ฝ๐‘—๐‘ค๐‘— โˆˆ ๐”พ๐‘™

encryption scheme is semantically-secure and additively homomorphic

slide-26
SLIDE 26

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

slide-27
SLIDE 27

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

slide-28
SLIDE 28

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.]

slide-29
SLIDE 29

Comparison with [BCIOP13]

Preprocessing SNARGs from [BCIOP13]: linear PCP 2-round linear interactive proof preprocessing SNARG Our construction linear PCP preprocessing SNARG

slide-30
SLIDE 30

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

slide-31
SLIDE 31

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

slide-32
SLIDE 32

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!

slide-33
SLIDE 33

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.]

slide-34
SLIDE 34

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.]

slide-35
SLIDE 35

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.]

slide-36
SLIDE 36

Open Problems

Publicly-verifiable SNARGs from lattice-based assumptions? Concrete efficiency of new lattice-based SNARGs?

Thank you!

http://eprint.iacr.org/2017/240