Local Quantum Cryptography Mark Zhandry (Princeton & NTT - - PowerPoint PPT Presentation

local quantum cryptography
SMART_READER_LITE
LIVE PREVIEW

Local Quantum Cryptography Mark Zhandry (Princeton & NTT - - PowerPoint PPT Presentation

Local Quantum Cryptography Mark Zhandry (Princeton & NTT Research) Based on joint work with Ryan Amos, Marios Georgiou, and Aggelos Kiayias Quantum Background Quantum Period


slide-1
SLIDE 1

Local ¡Quantum ¡Cryptography

Mark ¡Zhandry (Princeton ¡& ¡NTT ¡Research)

Based ¡on ¡joint ¡work ¡with ¡Ryan ¡Amos, ¡Marios Georgiou, ¡and ¡Aggelos Kiayias

slide-2
SLIDE 2

Quantum ¡Background

Factoring: ¡N=pq à p, q DLog: ¡g,ga à a Quantum ¡Period ¡Finding

[Simon’94,Shor’95]

slide-3
SLIDE 3

Quantum ¡Background

QKD ¡[Bennett-­‑Brassard’84] k k

?

Observer ¡ effect Eavesdropping ¡ detection

Observer ¡Effect

slide-4
SLIDE 4

Quantum ¡Background

Quantum ¡Money ¡[Wiesner’70] No-­‑cloning No ¡Cloning

slide-5
SLIDE 5

Post-­‑Quantum ¡vs ¡Quantum ¡Crypto

Post-­‑Quantum ¡Crypto: Protect ¡classical ¡crypto ¡ from ¡quantum ¡attacks Quantum ¡Crypto: Use ¡quantum ¡effects ¡to ¡do ¡ new ¡things

slide-6
SLIDE 6

Emerging ¡Area: ¡Local ¡Quantum ¡Crypto

Local ¡Quantum ¡Crypto: Everyone’s ¡quantum, ¡ communication ¡classical Main ¡Question: Is ¡anything ¡ interesting ¡possible?

slide-7
SLIDE 7

Prior ¡Work: ¡(Verifiable) ¡Delegation

Mahadev’18 ¡x2, ¡Brakerski-­‑Christiano-­‑Mahadev-­‑Vazirani-­‑Vidick’18]

x f f(x)

( ¡I ¡Don’t ¡really ¡count ¡multi-­‑device ¡setting: ¡requires ¡entanglement ¡)

slide-8
SLIDE 8

Two ¡Motivating ¡Examples

Rate-­‑Limited ¡Decryption Can ¡only ¡decrypt ¡single ¡ ciphertext every ¡T minutes c1 m1 c2 c3 m2 m3

“Classical” ¡Quantum ¡Money

Send ¡quantum ¡money ¡

  • ver ¡classical ¡channels?
slide-9
SLIDE 9

This ¡Work: ¡Two ¡Questions

Q2: ¡Can ¡quantum ¡states ¡be ¡ sent ¡over ¡classical ¡channels? Q1: ¡Can ¡quantum ¡keys ¡yield ¡ any ¡interesting ¡crypto?

slide-10
SLIDE 10

Disclaimer

Strong ¡computational ¡assumptions:

  • Obfuscation ¡(VBB)
  • Extractable witness ¡encryption
  • Recursively ¡composable zk-­‑SNARKs
  • Post-­‑quantum ¡proofs ¡of ¡(sequential) ¡work
slide-11
SLIDE 11

Part ¡1: ¡One-­‑Shot ¡Signatures ¡ and ¡Applications

slide-12
SLIDE 12

Tool: ¡One-­‑Shot ¡Signatures

Syntax: (pk,sk) ß Gen() σ ß Sign(sk,m) 0/1 ß Ver(pk,m,σ) Security: (pk,m0,m1,σ0,σ1) s.t. m0≠m1, Ver(pk,m0,σ0)=1, and Ver(pk,m1,σ1)=1

slide-13
SLIDE 13

Impossibility ¡of ¡One-­‑Shot ¡Signatures?

Attack? • (pk,sk) ß Gen()

  • σ0 ß Sign(sk,m0)
  • σ1 ß Sign(sk,m1)

Idea! What ¡if ¡sk is ¡“used ¡up” ¡to ¡produce ¡σ0?

  • Makes ¡no ¡sense ¡classically ¡(rewinding)
  • But ¡quantumly, ¡maybe?
slide-14
SLIDE 14

One-­‑Shot ¡Signatures ¡(Quantum)

Security: (pk,m0,m1,σ0,σ1) s.t. m0≠m1, Ver(pk,m0,σ0)=1, and Ver(pk,m1,σ1)=1 Syntax: (pk, ) ß Gen() σ ß Sign( ,m) 0/1 ß Ver(pk,m,σ) sk sk For ¡now, ¡assume ¡∃ OSS. ¡Will ¡construct ¡later

slide-15
SLIDE 15

OSS ¡Apps: ¡Burnable ¡Signatures

Goal: ¡Prove ¡that ¡you ¡destroyed ¡your ¡signing ¡key pk

π (m,σ)

(m’’,σ’’)

sk

(m’’,σ’’)

pk

(m’,σ’)

slide-16
SLIDE 16

Solution: ¡Signature ¡Chaining

sk0 pk0

slide-17
SLIDE 17

Solution: ¡Signature ¡Chaining

sk0 σpk0(m1||pk1) , sk1 pk0

(assume ¡message ¡is ¡part ¡of ¡sig)

slide-18
SLIDE 18

Solution: ¡Signature ¡Chaining

sk0 σpk0(m1||pk1) , sk1 sk2 pk0 σpk1(m2||pk2) ,

✘ ✘

slide-19
SLIDE 19

Solution: ¡Signature ¡Chaining

sk0 σpk0(m1||pk1) , sk1 sk2 pk0 σpk1(m2||pk2) , σpk2(⟂)

✘ ✘ ✘

Proof ¡Idea: Valid ¡post-­‑burn ¡ signature Forked ¡ chain OSS Forgery

slide-20
SLIDE 20

Caveats

|signature| ¡grows ¡with ¡#(messages) Fix: ¡SNARKs Stateful Signing Natural ¡for ¡quantum ¡keys ¡ (reading ¡key ¡may ¡disturb ¡it) |sk| ¡grows ¡with ¡#(messages) Fix: ¡Recursively ¡Composable SNARKs

slide-21
SLIDE 21

OSS ¡Apps: ¡Burnable ¡Decryption

Goal: ¡Prove ¡that ¡you ¡destroyed ¡your ¡decryption ¡key pk

π c c’’

sk

c’’’

pk

c’ m, m’ m’’, m’’’

slide-22
SLIDE 22

Burnable ¡Sigs ¡à Burnable ¡Decryption

Tool: ¡(Extractable) ¡Witness ¡Encryption

c ß WE.Enc( NP statement x , m ) m ß WE.Dec( x, witness ¡w, c ) Security: c hides ¡m, ¡unless ¡ you ¡“know” ¡a ¡witness

slide-23
SLIDE 23

Burnable ¡Sigs ¡à Burnable ¡Decryption

sk pk r ß Message ¡space c ß WE.Enc( “r has ¡a ¡sig” ¡, m) Actually, ¡OSS ¡works ¡directly

slide-24
SLIDE 24

OSS ¡Apps: ¡Ordered ¡Signatures

Goal: ¡Only ¡sign ¡messages ¡in ¡increasing ¡order

(m,σ)

✓ ✘

(m’>m,σ’) ✓ (m’,σ’) ✓ (m<m’,σ)

Same ¡construction ¡as ¡burnable ¡ sigs, ¡Ver checks ¡message ¡order

slide-25
SLIDE 25

OSS ¡Apps: ¡Ordered ¡Signatures

( (T, *) ,σ) m = (timestamp, document)

( (T’<T, D) ,σ) If ¡Bob ¡accepts, ¡Alice ¡must ¡have ¡ “known” ¡D at ¡time ¡T

slide-26
SLIDE 26

OSS ¡Apps: ¡Single-­‑Signer ¡Signatures

pk sk0 sk1 Honest ¡ ¡sk can ¡sign ¡any ¡number ¡of ¡messages

slide-27
SLIDE 27

Ordered ¡Sigs ¡à Single-­‑Signer ¡Sigs

Proof: ¡Used ¡timestamped ¡version

pk sk0 sk1

Secret ¡keys ¡must ¡respect ¡ordering, ¡ so ¡can’t ¡sign ¡independently

slide-28
SLIDE 28

OSS ¡Apps: ¡Single-­‑Decryptor Encryption

pk sk0 sk1 Same ¡as ¡single-­‑signer ¡sigs, ¡except ¡ now ¡secret ¡keys ¡are ¡for ¡decrypting

slide-29
SLIDE 29

Single-­‑Signer ¡à Single-­‑Decryptor

sk pk r ß Message ¡space c ß WE.Enc( “r has ¡a ¡sig” ¡, m) Again, ¡OSS ¡works ¡directly

slide-30
SLIDE 30

Single-­‑Decryptor App: ¡Traitor ¡Prevention

Recall ¡Traitor ¡Tracing ¡[Chor-­‑Fiat-­‑Naor’94]:

Goal: ¡Given ¡pirate ¡decoder, ¡can ¡identify ¡the ¡traitor(s)

encrypted ¡ broadcast

slide-31
SLIDE 31

Single-­‑Decryptor App: ¡Traitor ¡Prevention

Traitor ¡Prevention:

Only ¡N individuals ¡ever ¡capable ¡of ¡decrypting

encrypted ¡ broadcast

slide-32
SLIDE 32

Single-­‑Decryptor App: ¡Traitor ¡Prevention

Traitor ¡Prevention:

Only ¡N individuals ¡ever ¡capable ¡of ¡decrypting

encrypted ¡ broadcast

slide-33
SLIDE 33

OSS ¡Apps: ¡Quantum ¡Money*

sk = Verification: ¡check ¡σpkmint(pk), that ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ can ¡sign ¡random ¡message

*Technically ¡not ¡“local” ¡quantum ¡crypto; ¡will ¡revisit ¡later

pk, σpkmint(pk), skmint sk

slide-34
SLIDE 34

Mining ¡entirely ¡local!

OSS ¡Apps: ¡Cryptocurrency ¡sans ¡Blockchain

slide-35
SLIDE 35

OSS ¡à Cryptocurrency ¡w/o ¡Blockchain

Tool: ¡Proofs ¡of ¡Work ¡(PoW)

πßPoW(ch,T), takes ¡time ¡T 0/1ßVer(ch,T,π) chß$ π Time ¡<< T Ver(ch,T,π)=1

slide-36
SLIDE 36

OSS ¡à Cryptocurrency ¡w/o ¡Blockchain

= pk, PoW(pk,T), sk Verification: ¡check ¡that ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡can ¡ sign ¡random ¡message, ¡PoW valid

slide-37
SLIDE 37

OSS ¡Apps: ¡Delay ¡Signatures

Can ¡only ¡sign ¡single ¡ message ¡every ¡T minutes Application:

  • Limit ¡rate ¡(quantum) ¡money ¡is ¡created
slide-38
SLIDE 38

OSS ¡à Delay ¡Signatures

Tool: ¡Proofs ¡of ¡Sequential ¡Work ¡(PoSW)

πßPoSW(ch,T), takes ¡sequential ¡time ¡T 0/1ßVer(ch,T,π) chß$ π Sequential ¡ time ¡<< T Ver(ch,T,π)=1

slide-39
SLIDE 39

OSS ¡à Delay ¡Signatures

sk0 σpk0(m1||pk1||π1) , sk1 pk0

π1=PoSW(pk0,T)

slide-40
SLIDE 40

OSS ¡à Delay ¡Signatures

sk0 σpk0(m1||pk1||π1) , sk1 sk2 pk0 σpk1(m2||pk2||π2) ,

✘ ✘

π2=PoSW( σpk0 , T)

slide-41
SLIDE 41

OSS ¡Apps: ¡Delay ¡Decryption

Can ¡only ¡decrypt ¡single ¡ ciphertext every ¡T minutes Application:

  • Tiered ¡broadcast ¡subscriptions
slide-42
SLIDE 42

Delay ¡Sigs ¡à Delay ¡Decryption

sk pk r ß Message ¡space c ß WE.Enc( “r has ¡a ¡sig” ¡, m)

slide-43
SLIDE 43

Part ¡2: ¡Classically ¡Sending ¡ Quantum ¡States

slide-44
SLIDE 44

Quantum ¡States ¡over ¡Classical ¡Channels?

Rejected ¡Solution: ¡ Send ¡classical ¡description ¡of ¡state

What ¡if ¡don’t ¡know ¡ classical ¡description?

Rejected ¡Solution: Use ¡quantum ¡teleportation

Requires ¡quantum ¡ entanglement

No ¡In ¡General: ¡Could ¡use ¡to ¡create ¡ entanglement ¡via ¡classical ¡channel

slide-45
SLIDE 45

Quantum ¡States ¡over ¡Classical ¡Channels?

Q2’: ¡Can ¡any ¡unclonable state ¡be ¡ sent ¡over ¡a ¡classical ¡channel?

slide-46
SLIDE 46

Q2 ¡Rephrased

Q2’: ¡Can ¡any ¡unclonable state ¡be ¡ sent ¡over ¡a ¡classical ¡channel?

No, ¡if ¡computationally ¡unbounded No, ¡if ¡single ¡message ¡from ¡Alice ¡to ¡Bob What ¡if ¡interaction ¡+ ¡computational ¡assumptions?

slide-47
SLIDE 47

Signature ¡Delegation ¡with ¡OSS

sk0 pk0

slide-48
SLIDE 48

Signature ¡Delegation ¡with ¡OSS

σpk0(pk1) sk0 sk1 pk1 pk1

slide-49
SLIDE 49

Signature ¡Delegation ¡with ¡OSS

σpk0(pk1) sk0 sk1 pk1 pk1 pk1,σpk0(pk1) , σpk1(m)

✘ ✘

Alice ¡effectively ¡sent ¡her ¡unclonable state ¡to ¡Bob ¡over ¡classical ¡channel

slide-50
SLIDE 50

Signature ¡Delegation

Can ¡apply ¡to ¡all ¡of ¡our ¡schemes, ¡to ¡send ¡ quantum ¡keys/money ¡over ¡classical ¡channels Using ¡recursively ¡composable zk-­‑SNARKS, ¡ received ¡state ¡is ¡computationally ¡ indistinguishable ¡from ¡original

slide-51
SLIDE 51

Part ¡3: ¡Constructing ¡OSS

slide-52
SLIDE 52

Unequivocal ¡Hash ¡Functions

Closely ¡related ¡to ¡concepts ¡from ¡[Ambainis-­‑Rosmanis-­‑Unruh’14,Unruh’16]

h b r H(b,r) = h? Classically: ¡

  • col. ¡resistance ¡à unequiv. ¡hash ¡(rewinding)

Quantumly: ¡maybe ¡not

slide-53
SLIDE 53

Equivocal ¡Hash ¡Functions

Equivocal ¡Hash ¡= ¡Col. ¡Resistance ¡+ ¡! ¡Unequivocal [Ambainis-­‑Rosmanis-­‑Unruh’14,Unruh’16]: ¡ Construction ¡relative ¡to ¡quantum oracle But, ¡no ¡clear ¡idea ¡how ¡to ¡instantiate Easy ¡Thm: ¡Equivocal ¡Hash ¡à OSS

slide-54
SLIDE 54

Our ¡Result

Thm: ¡Equivocal ¡hash ¡relative ¡to ¡*classical* ¡oracle Can ¡heuristically ¡instantiate ¡w/ ¡iO

slide-55
SLIDE 55

Simpler ¡Goal: ¡Non-­‑Collapsing ¡Hash

x

H(x)

x x “collapses” ¡to ¡ superposition ¡over ¡ pre-­‑images ¡of ¡h h x x x x x “collapses” ¡to ¡ single ¡value ¡x 1

slide-56
SLIDE 56

A ¡First ¡(Broken) ¡Attempt

ℤ2

n

A.x=b1 A.x=b2 A.x=b3 H: ¡assign ¡each ¡“slice” ¡a ¡random ¡output A∈ℤ2

m×n

random, ¡secret

slide-57
SLIDE 57

A ¡First ¡(Broken) ¡Attempt

x

H(x) (A.x=b)

x

QFT

y ( y∈RowSpan(A) ) x x x

QFT

y ( All ¡possible ¡y)

  • Inc. ¡oracle ¡O which ¡checks ¡for ¡membership ¡in ¡RowSpan(A)
slide-58
SLIDE 58

Problem: ¡Periodic ¡à Not ¡Collision ¡Resistant!

Simon’s ¡Alg: x

H(x) (A.x=b)

x

QFT

y Recall: ¡y∈RowSpan(A) y y Repeat ¡several ¡ times: ¡reconstruct ¡A

slide-59
SLIDE 59

Our ¡Construction

vε.x=0 vε∈ℤ2

n

random, ¡secret vε.x=1

slide-60
SLIDE 60

Our ¡Construction

v0,v1 random, ¡ secret vε.x=0 v0.x=0 vε.x=0 v0.x=1 vε.x=1 v1.x=0 vε.x=1 v1.x=1

slide-61
SLIDE 61

Our ¡Construction

v00,v01,v10,v11 random, ¡secret

vε.x=0 v0.x=0 v00.x=0 vε.x=0 v0.x=0 v00.x=1 vε.x=0 v0.x=1 v01.x=0 vε.x=0 v0.x=1 v01.x=1 vε.x=1 v1.x=1 v11.x=0 vε.x=1 v1.x=1 v11.x=1 vε.x=1 v1.x=0 v10.x=0 vε.x=1 v1.x=0 v10.x=1…

slide-62
SLIDE 62

Our ¡Construction

x

H(x) (Ah.x=bh)

x

QFT

y ( y∈RowSpan(Ah) ) x x x

QFT

y ( All ¡possible ¡y)

  • Inc. ¡oracle ¡O which ¡checks ¡for ¡membership ¡in ¡RowSpan(Ah)
slide-63
SLIDE 63

Simon’s ¡Algorithm?

Simon’s ¡Alg: x

H(x) (Ah.x=bh)

x

QFT

y y∈RowSpan(Ah) y y Repeat Different ¡h Different ¡Ah Never ¡able ¡to ¡reconstruct ¡Ah✘

slide-64
SLIDE 64

Our ¡Construction

Thm: ¡If ¡H,O given ¡as ¡oracles, ¡then ¡collision ¡resistant

With ¡some ¡extra ¡work, ¡can ¡also ¡equivocate

slide-65
SLIDE 65

Future ¡Directions?

Better ¡assumptions?

  • Even ¡iO + ¡LWE ¡+ ¡LPN ¡+ ¡Isogenies ¡+ ¡…?

More ¡apps?

  • Fancier ¡crypto ¡(e.g. ¡functional ¡enc)?
  • Classically ¡send ¡copy-­‑protected ¡programs?
slide-66
SLIDE 66

Thanks!