revisiting post quantum fiat shamir
play

Revisiting Post-Quantum Fiat-Shamir Qipeng Liu & Mark - PowerPoint PPT Presentation

Revisiting Post-Quantum Fiat-Shamir Qipeng Liu & Mark Zhandry (Princeton & NTT Research) Lattice Crypto Post-Quantum Crypto Typical Lattice Crypto Thm: are


  1. Revisiting ¡Post-­‑Quantum ¡Fiat-­‑Shamir Qipeng Liu ¡& ¡ Mark ¡Zhandry (Princeton ¡& ¡NTT ¡Research)

  2. Lattice ¡Crypto ¡≠ ¡Post-­‑Quantum ¡Crypto Typical ¡Lattice ¡Crypto ¡Thm: are ¡quantum ¡hard ≠ Alg for ¡lattice ¡ Security ¡Goal: problems ✘ (classical) + Assumption: Lattice ¡problems ¡

  3. Post-­‑Quantum ¡Crypto PQ ¡Crypto ¡Thm: are ¡quantum ¡hard = Q ¡alg for ¡lattice ¡ Security ¡Goal: problems ✘ + Assumption: Lattice ¡problems ¡

  4. [Boneh-­‑Dagdelen-­‑Fischlin-­‑ Lattice ¡Crypto ¡ à PQ ¡Crypto? Lehmann-­‑Schaffner-­‑Z’11] Most ¡proofs Quantum ¡ Classical ¡ reduction reduction [van ¡de ¡Graaf’97, ¡Ambainis-­‑ Rosmanis-­‑Unruh’14]

  5. PQ ¡Signatures ¡from ¡Lattices? Standard ¡Model ¡ ✓ ✓ One-­‑way ¡Funcs [Cash-­‑Hofheinz-­‑Kiltz-­‑Peikert’09,…] ¡ Hash-­‑and-­‑sign [Rompel’90] ¡+ ¡[Ajtai’96] ROM ¡ [Gentry-­‑Peikert-­‑ [BDFLSZ’11,…] Vaikuntanathan’08] Fiat-­‑Shamir Partial ¡Solutions ¡ [Fiat-­‑Shamir’87] ¡+ ¡ [Lyubashevsky’11] [Kiltz-­‑Lyubashevsky-­‑Schaffner’17, ¡ Unruh’14,17,…]

  6. This ¡Work Thm: ¡ Fiat-­‑Shamir ¡is ¡ New ¡techniques ¡for ¡ PQ ¡secure in ¡the ¡ROM quantum ¡rewinding (Concurrently ¡with ¡[Don-­‑Fehr-­‑ Majenz-­‑Schaffner’19] ¡) Cor: ¡ [Lyubashevsky’11] ¡is ¡ PQ ¡secure assuming ¡LWE

  7. Quantum ¡Background

  8. Classical ¡Stochastic ¡Process 0.7 s y W( path p) := ∏ ( probabilities ¡along ¡path ) = Pr[p] Pr[y] = ∑ W(p) p:s à à y

  9. Quantum ¡Process 0.8i s y W( path p) := ∏ ( weights ¡along ¡path ) Pr[y] = | ∑ W(p) | 2 p:s à à y

  10. Main ¡Diff ¡between ¡Quantum ¡and ¡Classical: ¡ Paths ¡can ¡interfere ¡constructively ¡or ¡destructively, ¡ amplifying ¡probabilities ¡or ¡eliminating ¡them

  11. Intermediate ¡Observation ¡in ¡Stochastic ¡Process 0.7 s y x Pr[x ⋀ y] = ∑ W(p) p:s à à x à à y ∑ Pr[x ⋀ y] = ∑ W(p) = ∑ W(p) = Pr[y] x x,p:s à à x à à y p:s à à y

  12. Intermediate ¡Observation ¡in ¡Quantum ¡Process 0.8i s y x Pr[x ⋀ y] = | ∑ W(p) | 2 p:s à à x à à y ∑ Pr[x ⋀ y] = ∑ | ∑ W(p) | 2 ≠ Pr[y] x p:s à à x à à y x

  13. Paths ¡for ¡different ¡ x can ¡ x no ¡longer ¡interfere Observer ¡effect: ¡ Learning ¡anything ¡ about ¡quantum ¡system ¡disturbs ¡it

  14. QM ¡is ¡Reversible? Quantum ¡Reversibility? Transition ¡matrices ¡ Unitary Invertible preserve ¡2-­‑norm but… Quantum ¡Irreversibility: x Irreversibly ¡alters ¡state

  15. Is ¡CM ¡Reversible? Classical ¡Irreversibility? May ¡be ¡ Transition ¡matrices ¡ Stochastic singular preserve ¡1-­‑norm but… Classical ¡Reversibility: Can ¡always ¡observe ¡state ¡ at ¡any ¡point ¡in ¡time Can ¡“rewind” ¡and ¡ Doesn’t ¡affect ¡ return ¡to ¡prior ¡state output ¡distribution

  16. Part ¡1: ¡ Fiat-­‑Shamir ¡In ¡the ¡Quantum ¡ Random ¡Oracle ¡Model

  17. The ¡Fiat-­‑Shamir ¡Transform ¡ [Fiat-­‑Shamir’87] (public ¡coin, ¡HV) 3-­‑Round ¡Proof ¡(of ¡Knowledge) NI ¡Proof ¡(of ¡Knowledge) com com ch P V π = ch=H(com) res res Also: ¡Identification ¡protocols ¡ à signatures

  18. PQ ¡Fiat-­‑Shamir Problem ¡1: ¡ROM hash ¡ function Cryptosystem For ¡many ¡schemes ¡(including ¡FS), ¡can’t ¡base ¡ security ¡on ¡concrete ¡hash ¡function ¡property

  19. PQ ¡Fiat-­‑Shamir Problem ¡1: ¡ROM H Cryptosystem Solution ([Bellare-­‑Rogaway’93]): ¡ Model ¡hash ¡as ¡random ¡oracle

  20. Classical ¡Fiat-­‑Shamir ¡Proof ¡ H Assume: com ch=H(com) res

  21. Classical ¡Fiat-­‑Shamir ¡Proof Select ¡random ¡query ¡ i* com i com i* If ¡ i=i* : ch i* =ch* ch* ch i ch i ß ß random Else: V com ch Check: res res com=com i* ⋀ ch=ch*

  22. The ¡Quantum ¡Random ¡Oracle ¡Model ¡(QROM) [Boneh-­‑Dagdelen-­‑Fischlin-­‑Lehmann-­‑Schaffner-­‑Z’11] H Now ¡standard ¡in ¡post-­‑quantum ¡crypto

  23. A ¡Path ¡View ¡of ¡Quantum ¡Query ¡Algs (x 1 ,y 1 ) s (x 2 ,y 2 ) (x 3 ,y 3 ) (x 4 ,y 4 ) (x 5 ,y 5 ) Query ¡1 Query ¡2 Output à (x,y ⊕ H(x)) Query: ¡ (x,y) à

  24. Problems ¡with ¡Fiat-­‑Shamir ¡in ¡QROM On-­‑the-­‑fly ¡simulation: Query ¡extraction: can ¡“see” ¡all ¡of ¡ disturbed ¡by ¡ H on ¡first ¡query extracting ¡ com i* Adaptive ¡Programming: Typical ¡solution: ✘ Can ¡only ¡set ¡ H(com i* ) after Commit ¡to ¡entire ¡ queries ¡already ¡made H at ¡beginning

  25. Main ¡Theorem: ¡ Fiat-­‑Shamir ¡preserves ¡ knowledge ¡soundness ¡in ¡the ¡quantum ¡random ¡ oracle ¡model. ¡Also ¡signatures ¡from ¡ID ¡protocols.

  26. Tool: ¡[Z’19b] H H Equal ¡prob. ¡ Equal ¡weight ¡ on ¡all ¡oracles on ¡all ¡oracles Paths ¡for ¡difference ¡ Quantum-­‑ifying H has ¡no ¡ H can’t ¡interfere effect ¡on ¡output ¡distribution

  27. A ¡Path ¡View ¡of ¡[Z’19b] Primal ¡Domain : ¡function ¡ H H Fourier ¡Domain : ¡ Current ¡ Parity path ⊕ Parity path (x) := y (x,y) ∈ path

  28. How ¡to ¡Extract ¡from ¡Quantum ¡Queries Lemma ¡(informal) : ¡If ¡ Parity path (x)=0 n , ¡ path ¡has ¡no ¡knowledge ¡of ¡ H(x) Corollary: Any ¡successful ¡path ¡must ¡ have ¡ Parity path (com) ≠ 0 n at ¡the ¡end (In ¡particular ¡must ¡have ¡queried ¡ com )

  29. A ¡Useful ¡Tool Observation ¡Lemma ¡([Boneh-­‑Z’13]): ¡ If ¡ observing ¡ x gives ¡ t possible ¡outcomes, Pr[y | x observed ] ≥ Pr[y]/t (simple ¡consequence ¡of ¡Cauchy-­‑Schwartz/Jensen) Note: ¡ Doesn’t ¡work ¡in ¡other ¡direction

  30. Generalization Lemma : ¡Let ¡ P = {P i } i ∈ [t] be ¡a ¡partition ¡of ¡possible ¡paths. ¡ Pr[y | i observed ] ≥ Pr[y]/t

  31. Our ¡(First) ¡Partition P i = { successful ¡paths ¡where ¡ • Parity path (com)=0 n just ¡before ¡query ¡ i • Parity path (com) ≠ 0 n after ¡all ¡queries ¡ j ≥ i} Algorithm ¡to ¡sample ¡ P i (assuming ¡ i known) When ¡making ¡ i -­‑th query, ¡ • Must ¡ Loose ¡extra ¡ guess ¡ i factor ¡of ¡ q Observe ¡ com • Observe ¡if ¡ Parity path (com)=0 n . If ¡ not , ¡abort • For ¡ j -­‑th query, ¡ j>i , ¡observe ¡if ¡ Parity path (com)=0 n . ¡If ¡ so , ¡abort • At ¡end, ¡if ¡ adv doesn’t ¡output ¡ com , ¡abort •

  32. How ¡to ¡Adaptively ¡Program Adaptive ¡Programming: We ¡now ¡know ¡ com , ¡but ¡how ¡do ¡we ¡embed ¡ ch into ¡ H ? Idea: Just ¡before ¡query ¡ i , Parity path (com)=0 n Adv knows ¡nothing ¡ about ¡ H(com) Can ¡replace ¡ contents ¡with ¡ ch Problem: ¡ No ¡more ¡access ¡to ¡ Parity path (com)

  33. An ¡Alternative ¡Partition? P i = { successful ¡paths ¡where ¡ • Parity path (com)=0 n after ¡all ¡queries ¡ j<i • Parity path (com) ≠ 0 n after ¡query ¡ i} Problem: com isn’t ¡observed ¡ Need ¡to ¡know ¡ com at ¡beginning but until ¡query ¡ i

  34. How ¡to ¡Adaptively ¡Program Takeaway: Need ¡partition ¡that ¡doesn’t ¡check ¡ Parity path (com) once ¡programmed Takeaway: Need ¡partition ¡that ¡doesn’t ¡check ¡ Parity path (com) before ¡ com observed

  35. Yet ¡Another ¡“Partition”? Q i = { successful ¡paths ¡where ¡ • Parity path (com)=0 n just ¡before ¡query ¡ i • Parity path (com) ≠ 0 n just ¡after ¡query ¡ i} Problem: ¡ some ¡paths ¡counted ¡multiple ¡times path will ¡then ¡be ¡ number ¡of ¡times ¡ Parity path (com) k= switches ¡from ¡ 0 n to ¡ ≠ 0 n in ¡ k of ¡the ¡ Q i

  36. Yet ¡Another ¡“Partition”? Q i = { successful ¡paths ¡where ¡ • Parity path (com)=0 n just ¡before ¡query ¡ i • Parity path (com) ≠ 0 n just ¡after ¡query ¡ i} R i counts ¡ = Q i over-­‑counts R i = { successful ¡paths ¡where ¡ • Parity path (com) ≠ 0 n just ¡before ¡query ¡ i • Parity path (com)=0 n just ¡after ¡query ¡ i}

  37. Generalization ¡of ¡[Boneh-­‑Z’13] Thm: ¡ Let ¡ P = {P i } i ∈ [t] be ¡a ¡ collection of ¡sets ¡of ¡ paths. ¡Suppose ¡ ∃ { α i } s.t. for ¡all ¡ p , ¡ ∑ i:p ∈ Pi α i = 1 . ¡ Pr[y | P i , i uniformly ¡random ] ≥ Pr[y]/poly(t)

Recommend


More recommend