One-Shot Verifiable Encryption from Lattices Vadim Lyubashevsky and - - PowerPoint PPT Presentation

one shot verifiable encryption from lattices
SMART_READER_LITE
LIVE PREVIEW

One-Shot Verifiable Encryption from Lattices Vadim Lyubashevsky and - - PowerPoint PPT Presentation

One-Shot Verifiable Encryption from Lattices Vadim Lyubashevsky and Gregory Neven IBM Research -- Zurich Zero-Knowledge Proofs Zero-Knowledge Proofs Relation f(s)=t, and want to prove knowledge of s Zero-Knowledge Proofs Relation f(s)=t, and


slide-1
SLIDE 1

One-Shot Verifiable Encryption from Lattices

Vadim Lyubashevsky and Gregory Neven IBM Research -- Zurich

slide-2
SLIDE 2

Zero-Knowledge Proofs

slide-3
SLIDE 3

Zero-Knowledge Proofs

Relation f(s)=t, and want to prove knowledge of s

slide-4
SLIDE 4

Zero-Knowledge Proofs

Relation f(s)=t, and want to prove knowledge of s e.g. discrete log: Prove knowledge of s s.t. gs=t

slide-5
SLIDE 5

Zero-Knowledge Proofs

Relation f(s)=t, and want to prove knowledge of s e.g. discrete log: Prove knowledge of s s.t. gs=t For lattice problems such as SIS and LWE, want to prove knowledge of a short vector s such that f(s)=t

slide-6
SLIDE 6

Examples

SIS Problem: fA(s) := As mod q

4 7 2 1 11 7 9 3 6 1 12 14 8 2 5 9 10 13 1 7 7 2 1 6 3 5 11 14 9 1 1 1 1 1 8 12 14 5

=

mod 17

slide-7
SLIDE 7

Examples

LWE Problem: fA(s) := As mod q

4 7 2 1 11 7 9 3 6 1 12 14 8 2 5 9 1 1 1 1 1 1 1 1 12 10 8 10

=

mod 17

slide-8
SLIDE 8

Polynomial Rings

R = Zq[x]/(xd+1) is a polynomial ring with

  • Addition mod q
  • Polynomial multiplication mod q and xd+1
slide-9
SLIDE 9

Polynomial Rings

R = Zq[x]/(xd+1) is a polynomial ring with

  • Addition mod q
  • Polynomial multiplication mod q and xd+1

SIS Problem over R: fA(s) := As mod q

a1 a6 a2 a7 a3 a8 a4 a9 a5 a10 s5 s1 s2 s3 s4 y1 y2

=

slide-10
SLIDE 10

Constructing Zero-Knowledge Proofs

  • For discrete log relations – a simple sigma protocol

(i.e. Schnorr proof).

  • Can be made non-interactive via the Fiat-Shamir

transformation

  • For lattice schemes – the main obstacle is that the

secret has small length.

slide-11
SLIDE 11

“Fiat-Shamir with Aborts” [Lyu ‘09]

slide-12
SLIDE 12

“Fiat-Shamir with Aborts” [Lyu ‘09]

Relation: f(s)=t

slide-13
SLIDE 13

“Fiat-Shamir with Aborts” [Lyu ‘09]

Relation: f(s)=t y  D w=f(y)

slide-14
SLIDE 14

“Fiat-Shamir with Aborts” [Lyu ‘09]

Relation: f(s)=t y  D w=f(y) w

slide-15
SLIDE 15

“Fiat-Shamir with Aborts” [Lyu ‘09]

Relation: f(s)=t y  D w=f(y) w c

slide-16
SLIDE 16

“Fiat-Shamir with Aborts” [Lyu ‘09]

Relation: f(s)=t y  D w=f(y) z=sc+y (Rejection Sample) w c z

slide-17
SLIDE 17

“Fiat-Shamir with Aborts” [Lyu ‘09]

Relation: f(s)=t y  D w=f(y) z=sc+y (Rejection Sample) ||z|| is small and f(z)=tc+w w c z

slide-18
SLIDE 18

“Fiat-Shamir with Aborts” [Lyu ‘09]

Relation: f(s)=t y  D w=f(y) z=sc+y (Rejection Sample) ||z|| is small and f(z)=tc+w w c z ||z’|| is small and f(z’)=tc’+w c’ z’

slide-19
SLIDE 19

“Fiat-Shamir with Aborts” [Lyu ‘09]

Relation: f(s)=t y  D w=f(y) z=sc+y (Rejection Sample) ||z|| is small and f(z)=tc+w w c z ||z’|| is small and f(z’)=tc’+w c’ z’

f(z-z’)=t(c-c’)

slide-20
SLIDE 20

“Fiat-Shamir with Aborts” [Lyu ‘09]

Relation: f(s)=t y  D w=f(y) z=sc+y (Rejection Sample) ||z|| is small and f(z)=tc+w w c z ||z’|| is small and f(z’)=tc’+w c’ z’

f(z-z’)=t(c-c’)

In a non-interactive protocols, replaced with c=H(w,t)

slide-21
SLIDE 21

Implications of the Extraction

slide-22
SLIDE 22

Implications of the Extraction

f(z-z’)=t(c-c’) f((z-z’)/(c-c’))=t

if (c-c’)-1 exists

slide-23
SLIDE 23

Implications of the Extraction

f(z-z’)=t(c-c’) f((z-z’)/(c-c’))=t

if (c-c’)-1 exists

But (z-z’)/(c-c’) does not necessarily have small coefficients! Unless … c,c’ in {0,1} … But then soundness is only 1/2.

slide-24
SLIDE 24

Practical (< 20KB per proof) Applications

slide-25
SLIDE 25

Practical (< 20KB per proof) Applications

f(ŝ) = tĉ

slide-26
SLIDE 26

Practical (< 20KB per proof) Applications

f(ŝ) = tĉ

Digital signatures [Lyu ‘09,…], ZK proofs of commitments [BKLP ‘16], (maybe others)

slide-27
SLIDE 27

Practical (< 20KB per proof) Applications

f(ŝ) = tĉ

Digital signatures [Lyu ‘09,…], ZK proofs of commitments [BKLP ‘16], (maybe others) f(ŝ)=t when simultaneously proving many (>> 10,000) relations [Lyu ’ 09] + [BDLN ’16] + [CDXY ’17]

slide-28
SLIDE 28

(Stern-type Lattice ZK Proofs)

  • Combinatorial based on the code-based Stern

identification scheme with 0/1 secrets [Ste ‘93]

  • Can be adapted to larger secrets at a significant

efficiency loss [LNSW ‘13]

slide-29
SLIDE 29

(Stern-type Lattice ZK Proofs)

  • Combinatorial based on the code-based Stern

identification scheme with 0/1 secrets [Ste ‘93]

  • Can be adapted to larger secrets at a significant

efficiency loss [LNSW ‘13]

  • Proofs are almost always >> 1 MB (depending on

how big the coefficients of s are)

  • Not considered relevant for practical applications
slide-30
SLIDE 30

Main Open Problems

f(ŝ) = tĉ

Digital signatures [Lyu ‘09,…], ZK proofs of commitments [BKLP ‘16], (maybe others) f(ŝ)=t when simultaneously proving many (>> 10,000) relations [Lyu ’ 09] + [BDLN ’16] + [CDXY ’17]

slide-31
SLIDE 31

Main Open Problems

f(ŝ) = tĉ

Digital signatures [Lyu ‘09,…], ZK proofs of commitments [BKLP ‘16], (maybe others) f(ŝ)=t when simultaneously proving many (>> 10,000) relations [Lyu ’ 09] + [BDLN ’16] + [CDXY ’17] More applications

slide-32
SLIDE 32

Main Open Problems

f(ŝ) = tĉ

Digital signatures [Lyu ‘09,…], ZK proofs of commitments [BKLP ‘16], (maybe others) f(ŝ)=t when simultaneously proving many (>> 10,000) relations [Lyu ’ 09] + [BDLN ’16] + [CDXY ’17] More applications Decrease the number of required samples

slide-33
SLIDE 33

ZK Proof of Plaintext Knowledge and Verifiable Encryption

slide-34
SLIDE 34

ZK Proof of Plaintext Knowledge and Verifiable Encryption

Mediating Authority Sender Receiver

slide-35
SLIDE 35

ZK Proof of Plaintext Knowledge and Verifiable Encryption

Mediating Authority Sender Receiver

Have some secret witness w that x is in language L Publishes pk to some encryption scheme

slide-36
SLIDE 36

ZK Proof of Plaintext Knowledge and Verifiable Encryption

Mediating Authority Sender Receiver

c:=Encpk(w) π:=ZKPoK(w is a witness and c encrypts w)

Have some secret witness w that x is in language L Publishes pk to some encryption scheme

slide-37
SLIDE 37

ZK Proof of Plaintext Knowledge and Verifiable Encryption

Mediating Authority Sender Receiver

c:=Encpk(w) π:=ZKPoK(w is a witness and c encrypts w)

Have some secret witness w that x is in language L If the Sender misbehaves, the Authority will reveal w Publishes pk to some encryption scheme

slide-38
SLIDE 38

ZK Proof of Plaintext Knowledge

Mediating Authority Sender Receiver

c:=Encpk(w) π:=ZKPoK(c encrypts w)

Have some secret w If the Sender misbehaves, the Authority will reveal w Publishes pk to some encryption scheme

slide-39
SLIDE 39

Ring-LWE Encryption Scheme

pa pt p p 1 r e1 e2 w u v

=

Public Key: a, as+e=t Encryption(m): u=p(ar+e1) , v=p(tr+e2)+m Decryption: v-us mod q mod p

slide-40
SLIDE 40

Approximate Proofs and Proofs of Plaintext Knowledge

pa pt p p 1 r e1 e2 w u v

=

slide-41
SLIDE 41

Approximate Proofs and Proofs of Plaintext Knowledge

pa pt p p 1 r e1 e2 w u v

=

pa pt p p 1 ȓ ê1 ê2 ŵ uĉ vĉ

=

slide-42
SLIDE 42

Problem with Approximate Proofs

pa pt p p 1 ȓ ê1 ê2 ŵ uĉ vĉ

=

Implication: (v - us) ĉ mod q mod p = ŵ

slide-43
SLIDE 43

Problem with Approximate Proofs

pa pt p p 1 ȓ ê1 ê2 ŵ uĉ vĉ

=

Implication: (v - us) ĉ mod q mod p = ŵ But decryptor does not know ĉ

slide-44
SLIDE 44

Problem with Approximate Proofs

pa pt p p 1 ȓ ê1 ê2 ŵ uĉ vĉ

=

Implication: (v - us) ĉ mod q mod p = ŵ But decryptor does not know ĉ If he decrypts (u,v), he may get garbage because (u,v) is not a valid ciphertext

slide-45
SLIDE 45

Our Solution Outline

  • 1. Guess ĉ
  • 2. ŵ:=Decrypt
  • 3. Output ŵ/ĉ mod p

uĉ vĉ

slide-46
SLIDE 46

Our Solution Outline

  • 1. Guess ĉ
  • 2. ŵ:=Decrypt
  • 3. Output ŵ/ĉ mod p

uĉ vĉ

There could be |challenge space|2 possibilities

slide-47
SLIDE 47

Our Solution Outline

  • 1. Guess ĉ
  • 2. ŵ:=Decrypt
  • 3. Output ŵ/ĉ mod p

uĉ vĉ

There could be |challenge space|2 possibilities How can we be sure we guessed the right ĉ?

slide-48
SLIDE 48

Our Solution Outline

  • 1. Guess ĉ
  • 2. ŵ:=Decrypt
  • 3. Output ŵ/ĉ mod p

uĉ vĉ

There could be |challenge space|2 possibilities How can we be sure we guessed the right ĉ? Is this unique? (Decryption should be unique)

slide-49
SLIDE 49
  • 1. Guess ĉ
  • 2. ŵ:=Decrypt
  • 3. Output ŵ/ĉ mod p

uĉ vĉ

There could be |challenge space|2 possibilities How can we be sure we guessed the right ĉ? Is this unique? (Decryption should be unique)

slide-50
SLIDE 50
  • 1. Guess ĉ
  • 2. ŵ:=Decrypt
  • 3. Output ŵ/ĉ mod p

uĉ vĉ

There could be |challenge space|2 possibilities How can we be sure we guessed the right ĉ? Is this unique? (Decryption should be unique) We modify the parameters and the decryption algorithm of the Ring-LWE scheme

slide-51
SLIDE 51
  • 1. Guess ĉ
  • 2. ŵ:=Decrypt
  • 3. Output ŵ/ĉ mod p

uĉ vĉ

There could be |challenge space|2 possibilities How can we be sure we guessed the right ĉ? Is this unique? (Decryption should be unique) We modify the parameters and the decryption algorithm of the Ring-LWE scheme In the decryption algorithm, check that ||(v - us) ĉ mod q||∞ < q/2C where C=max ||ĉ||1

slide-52
SLIDE 52
  • 1. Guess ĉ
  • 2. ŵ:=Decrypt
  • 3. Output ŵ/ĉ mod p

uĉ vĉ

There could be |challenge space|2 possibilities How can we be sure we guessed the right ĉ? Is this unique? (Decryption should be unique) We modify the parameters and the decryption algorithm of the Ring-LWE scheme In the decryption algorithm, check that ||(v - us) ĉ mod q||∞ < q/2C where C=max ||ĉ||1 For any two ĉ, ĉ’ that satisfy the above condition ŵ/ĉ = ŵ’/ĉ’ mod p

slide-53
SLIDE 53
  • 1. Guess ĉ

There could be |challenge space|2 possibilities

slide-54
SLIDE 54
  • 1. Guess ĉ

There could be |challenge space|2 possibilities If the ciphertext (u,v) is “valid”, then any ĉ (in particular ĉ=1) will lead to a correct decryption

slide-55
SLIDE 55
  • 1. Guess ĉ

There could be |challenge space|2 possibilities If the ciphertext (u,v) is “valid”, then any ĉ (in particular ĉ=1) will lead to a correct decryption If the ciphertext (u,v) is “invalid”, then there is some subset of challenges that will allow the adversarial prover to come up with a valid proof

slide-56
SLIDE 56
  • 1. Guess ĉ

There could be |challenge space|2 possibilities ĉ = c - c’ where c and c’ are two “successful” challenges The encryptor / prover already gave one valid proof So the decryptor already knows one successful challenge If the ciphertext (u,v) is “valid”, then any ĉ (in particular ĉ=1) will lead to a correct decryption If the ciphertext (u,v) is “invalid”, then there is some subset of challenges that will allow the adversarial prover to come up with a valid proof

slide-57
SLIDE 57
  • 1. Guess ĉ

There could be |challenge space|2 possibilities ĉ = c - c’ where c and c’ are two “successful” challenges The encryptor / prover already gave one valid proof So the decryptor already knows one successful challenge There could be |challenge space|2 possibilities There could be |challenge space|2 possibilities If the ciphertext (u,v) is “valid”, then any ĉ (in particular ĉ=1) will lead to a correct decryption If the ciphertext (u,v) is “invalid”, then there is some subset of challenges that will allow the adversarial prover to come up with a valid proof

slide-58
SLIDE 58
  • 1. Guess ĉ

There could be |challenge space| possibilities

Theorem: If a prover is allowed Q queries to the random oracle (where the RO uses coins H), and T is the number of times the decryptor (using coins D) needs to guess ĉ, then:

PrH,D[T > kQ] < 1/k + negligible

slide-59
SLIDE 59

Implications

slide-60
SLIDE 60

Implications

Expected decryption time depends on the number of RO queries the adversary makes

slide-61
SLIDE 61

Implications

Expected decryption time depends on the number of RO queries the adversary makes This could be problematic if the adversary is much more powerful than the decryptor

slide-62
SLIDE 62

Implications

Expected decryption time depends on the number of RO queries the adversary makes This could be problematic if the adversary is much more powerful than the decryptor In many scenarios, the power of the adversary can be mitigated

slide-63
SLIDE 63

Limiting the Number of RO Queries by the Adversary

slide-64
SLIDE 64

Limiting the Number of RO Queries by the Adversary

1. Make the RO purposefully very slow

  • Honest prover needs 1 RO query
  • Verification only needs 1 RO query
  • Decryption needs 0 RO queries
  • The only entity needing more than 1 is the adversary
slide-65
SLIDE 65

Limiting the Number of RO Queries by the Adversary

1. Make the RO purposefully very slow

  • Honest prover needs 1 RO query
  • Verification only needs 1 RO query
  • Decryption needs 0 RO queries
  • The only entity needing more than 1 is the adversary

2. Have an interactive protocol or use public randomness beacons

  • The verifier should send random “salt” to the prover (or the prover should be

required to use the public randomness at the time he submits the proof)

  • This restricts pre-computation by the adversary
  • The decryptor is usually off-line, so has more time
slide-66
SLIDE 66

Limiting the Number of RO Queries by the Adversary

1. Make the RO purposefully very slow

  • Honest prover needs 1 RO query
  • Verification only needs 1 RO query
  • Decryption needs 0 RO queries
  • The only entity needing more than 1 is the adversary

2. Have an interactive protocol or use public randomness beacons

  • The verifier should send random “salt” to the prover (or the prover should be

required to use the public randomness at the time he submits the proof)

  • This restricts pre-computation by the adversary
  • The decryptor is usually off-line, so has more time

3. Impose large fines for cheating

  • The fact that cheating occurred is immediately detected
  • If revealing the cheater’s identity requires decryption, the cheater takes the

risk that decryption will succeed

slide-67
SLIDE 67

Other Results

Can make the challenge space smaller

  • This puts a bound on the maximum number of

guesses the decryptor needs to make

  • … But increases the proof size
slide-68
SLIDE 68

Other Results

Can make the challenge space smaller

  • This puts a bound on the maximum number of

guesses the decryptor needs to make

  • … But increases the proof size

Easy to adapt this to CCA-secure schemes

  • Use Naor-Yung approach
  • We already have one encryption and a proof, so

just add a second encryption

slide-69
SLIDE 69

Open Problem

Is this tight? PrH,D[T > kQ] < 1/k + negligible

slide-70
SLIDE 70

Open Problem

Is this tight? PrH,D[T > kQ] < 1/k + negligible Our proof is “black-box”. That is, we only use the fact that there is a zero-knowledge proof.

slide-71
SLIDE 71

Open Problem

Is this tight? PrH,D[T > kQ] < 1/k + negligible Our proof is “black-box”. That is, we only use the fact that there is a zero-knowledge proof. A non-black-box approach may look at the algebraic properties of R and figure out how the adversary may cheat. Perhaps in some R, it is harder to cheat.

slide-72
SLIDE 72

Thanks.