Local ¡Quantum ¡Cryptography Mark ¡Zhandry (Princeton ¡& ¡NTT ¡Research) Based ¡on ¡joint ¡work ¡with ¡Ryan ¡Amos, ¡Marios Georgiou, ¡and ¡Aggelos Kiayias
Quantum ¡Background Quantum ¡Period ¡Finding [Simon’94,Shor’95] Factoring: ¡ N=pq à p, q DLog: ¡ g,g a à a
Quantum ¡Background QKD ¡ [Bennett-‑Brassard’84] Observer ¡Effect ? k k Observer ¡ Eavesdropping ¡ effect detection
Quantum ¡Background Quantum ¡Money ¡ [Wiesner’70] No ¡Cloning No-‑cloning
Post-‑Quantum ¡vs ¡Quantum ¡Crypto Post-‑Quantum ¡Crypto: Quantum ¡Crypto: Protect ¡classical ¡crypto ¡ Use ¡quantum ¡effects ¡to ¡do ¡ from ¡quantum ¡attacks new ¡things
Emerging ¡Area: ¡Local ¡Quantum ¡Crypto Local ¡Quantum ¡Crypto: Main ¡Question: Is ¡anything ¡ interesting ¡possible? Everyone’s ¡quantum, ¡ communication ¡classical
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 ¡)
Two ¡Motivating ¡Examples Rate-‑Limited ¡Decryption “Classical” ¡Quantum ¡Money m 1 c 1 c 2 c 3 m 2 m 3 Send ¡quantum ¡money ¡ Can ¡only ¡decrypt ¡single ¡ over ¡classical ¡channels? ciphertext every ¡ T minutes
This ¡Work: ¡Two ¡Questions Q1: ¡ Can ¡quantum ¡keys ¡yield ¡ any ¡interesting ¡crypto? Q2: ¡ Can ¡quantum ¡states ¡be ¡ sent ¡over ¡classical ¡channels?
Disclaimer Strong ¡computational ¡assumptions: • Obfuscation ¡(VBB) • Extractable witness ¡encryption • Recursively ¡composable zk-‑SNARKs • Post-‑quantum ¡proofs ¡of ¡(sequential) ¡work
Part ¡1: ¡One-‑Shot ¡Signatures ¡ and ¡Applications
Tool: ¡One-‑Shot ¡Signatures Syntax: Security: (pk,m 0 ,m 1 , σ 0 , σ 1 ) s.t. (pk,sk) ß Gen() m 0 ≠ m 1 , σ ß Sign(sk,m) Ver(pk,m 0 , σ 0 )=1, and 0/1 ß Ver(pk,m, σ ) Ver(pk,m 1 , σ 1 )=1
Impossibility ¡of ¡One-‑Shot ¡Signatures? Attack? • (pk,sk) ß Gen() • σ 0 ß Sign(sk,m 0 ) • σ 1 ß Sign(sk,m 1 ) Idea! What ¡if ¡ sk is ¡“used ¡up” ¡to ¡produce ¡σ 0 ? • Makes ¡no ¡sense ¡classically ¡(rewinding) • But ¡quantumly, ¡maybe?
One-‑Shot ¡Signatures ¡(Quantum) Syntax: Security: (pk,m 0 ,m 1 , σ 0 , σ 1 ) s.t. sk (pk, ) ß Gen() m 0 ≠ m 1 , σ ß Sign( ,m) sk Ver(pk,m 0 , σ 0 )=1, and 0/1 ß Ver(pk,m, σ ) Ver(pk,m 1 , σ 1 )=1 For ¡now, ¡assume ¡ ∃ OSS. ¡Will ¡construct ¡later
OSS ¡Apps: ¡Burnable ¡Signatures Goal: ¡ Prove ¡that ¡you ¡destroyed ¡your ¡signing ¡key (m, σ ) ✓ sk pk (m’, σ ’) ✓ π pk (m’’, σ ’’) (m’’, σ ’’) ✘ ✘
Solution: ¡Signature ¡Chaining sk 0 pk 0
Solution: ¡Signature ¡Chaining (assume ¡message ¡is ¡part ¡of ¡sig) ✘ sk 0 σ pk0 (m 1 ||pk 1 ) , pk 0 sk 1
Solution: ¡Signature ¡Chaining ✘ sk 0 σ pk0 (m 1 ||pk 1 ) , pk 0 ✘ sk 1 σ pk1 (m 2 ||pk 2 ) , sk 2
Solution: ¡Signature ¡Chaining ✘ sk 0 σ pk0 (m 1 ||pk 1 ) , pk 0 ✘ sk 1 σ pk1 (m 2 ||pk 2 ) , σ pk2 ( ⟂ ) ✘ sk 2 Proof ¡Idea: OSS Valid ¡post-‑burn ¡ Forked ¡ Forgery signature chain
Caveats |signature| ¡grows ¡with ¡#(messages) Fix: ¡SNARKs |sk| ¡grows ¡with ¡#(messages) Fix: ¡ Recursively ¡Composable SNARKs Stateful Signing Natural ¡for ¡quantum ¡keys ¡ (reading ¡key ¡may ¡disturb ¡it)
OSS ¡Apps: ¡Burnable ¡ Decryption Goal: ¡ Prove ¡that ¡you ¡destroyed ¡your ¡decryption ¡key c sk pk c’ π pk c’’ c’’’ m, m’ m’’, m’’’
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
Burnable ¡Sigs ¡ à Burnable ¡Decryption pk sk r ß Message ¡space c ß WE.Enc( “ r has ¡a ¡sig” ¡ , m) Actually, ¡OSS ¡works ¡directly
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
OSS ¡Apps: ¡Ordered ¡Signatures m = (timestamp, document) ( (T, *) , σ ) ✓ ( (T’<T, D) , σ ) If ¡Bob ¡accepts, ¡Alice ¡must ¡have ¡ “known” ¡ D at ¡time ¡ T
OSS ¡Apps: ¡Single-‑Signer ¡Signatures pk sk 0 sk 1 Honest ¡ ¡sk can ¡sign ¡any ¡number ¡of ¡messages
Ordered ¡Sigs ¡ à Single-‑Signer ¡Sigs Proof: ¡ Used ¡timestamped ¡version pk sk 0 sk 1 Secret ¡keys ¡must ¡respect ¡ordering, ¡ so ¡can’t ¡sign ¡independently
OSS ¡Apps: ¡Single-‑Decryptor Encryption pk sk 0 sk 1 Same ¡as ¡single-‑signer ¡sigs, ¡except ¡ now ¡secret ¡keys ¡are ¡for ¡decrypting
Single-‑Signer ¡ à Single-‑Decryptor pk sk r ß Message ¡space c ß WE.Enc( “ r has ¡a ¡sig” ¡ , m) Again, ¡OSS ¡works ¡directly
Single-‑Decryptor App: ¡Traitor ¡Prevention Recall ¡Traitor ¡Tracing ¡ [ Chor-‑Fiat-‑Naor’94] : encrypted ¡ broadcast Goal: ¡ Given ¡pirate ¡decoder, ¡can ¡identify ¡the ¡traitor(s)
Single-‑Decryptor App: ¡Traitor ¡Prevention Traitor ¡Prevention: encrypted ¡ broadcast Only ¡ N individuals ¡ever ¡capable ¡of ¡decrypting
Single-‑Decryptor App: ¡Traitor ¡Prevention Traitor ¡Prevention: encrypted ¡ broadcast ✘ Only ¡ N individuals ¡ever ¡capable ¡of ¡decrypting
OSS ¡Apps: ¡Quantum ¡Money* sk = pk, σ pkmint (pk), sk mint sk Verification: ¡check ¡σ pkmint (pk), that ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ can ¡sign ¡random ¡message *Technically ¡not ¡“local” ¡quantum ¡crypto; ¡will ¡revisit ¡later
OSS ¡Apps: ¡Cryptocurrency ¡sans ¡Blockchain Mining ¡entirely ¡local!
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
OSS ¡ à Cryptocurrency ¡w/o ¡Blockchain = pk, PoW(pk,T), sk Verification: ¡check ¡that ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡can ¡ sign ¡random ¡message, ¡PoW valid
OSS ¡Apps: ¡Delay ¡Signatures Can ¡only ¡sign ¡single ¡ message ¡every ¡ T minutes Application: • Limit ¡rate ¡(quantum) ¡money ¡is ¡created
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
OSS ¡ à Delay ¡Signatures π 1 =PoSW(pk 0 ,T) ✘ sk 0 σ pk0 (m 1 ||pk 1 || π 1 ) , pk 0 sk 1
OSS ¡ à Delay ¡Signatures π 2 =PoSW( σ pk0 , T) ✘ sk 0 σ pk0 (m 1 ||pk 1 || π 1 ) , pk 0 ✘ sk 1 σ pk1 (m 2 ||pk 2 || π 2 ) , sk 2
OSS ¡Apps: ¡Delay ¡Decryption Can ¡only ¡decrypt ¡single ¡ ciphertext every ¡ T minutes Application: • Tiered ¡broadcast ¡subscriptions
Delay ¡Sigs ¡ à Delay ¡Decryption pk sk r ß Message ¡space c ß WE.Enc( “ r has ¡a ¡sig” ¡ , m)
Part ¡2: ¡Classically ¡Sending ¡ Quantum ¡States
Quantum ¡States ¡over ¡Classical ¡Channels? Rejected ¡Solution: ¡ What ¡if ¡don’t ¡know ¡ classical ¡description? Send ¡classical ¡description ¡of ¡state Rejected ¡Solution: Requires ¡quantum ¡ entanglement Use ¡quantum ¡teleportation No ¡In ¡General: ¡ Could ¡use ¡to ¡create ¡ entanglement ¡via ¡classical ¡channel
Quantum ¡States ¡over ¡Classical ¡Channels? Q2’: ¡ Can ¡any ¡ unclonable state ¡be ¡ sent ¡over ¡a ¡classical ¡channel?
Q2 ¡Rephrased Q2’: ¡ Can ¡any ¡ unclonable state ¡be ¡ sent ¡over ¡a ¡classical ¡channel? No , ¡if ¡single ¡message ¡from ¡Alice ¡to ¡Bob No , ¡if ¡computationally ¡unbounded What ¡if ¡interaction ¡+ ¡computational ¡assumptions?
Signature ¡Delegation ¡with ¡OSS pk 0 sk 0
Signature ¡Delegation ¡with ¡OSS ✘ sk 0 pk 1 σ pk0 (pk 1 ) sk 1 pk 1
Recommend
More recommend