Revisiting ¡Post-‑Quantum ¡Fiat-‑Shamir Qipeng Liu ¡& ¡ Mark ¡Zhandry (Princeton ¡& ¡NTT ¡Research)
Lattice ¡Crypto ¡≠ ¡Post-‑Quantum ¡Crypto Typical ¡Lattice ¡Crypto ¡Thm: are ¡quantum ¡hard ≠ Alg for ¡lattice ¡ Security ¡Goal: problems ✘ (classical) + Assumption: Lattice ¡problems ¡
Post-‑Quantum ¡Crypto PQ ¡Crypto ¡Thm: are ¡quantum ¡hard = Q ¡alg for ¡lattice ¡ Security ¡Goal: problems ✘ + Assumption: Lattice ¡problems ¡
[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]
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,…]
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
Quantum ¡Background
Classical ¡Stochastic ¡Process 0.7 s y W( path p) := ∏ ( probabilities ¡along ¡path ) = Pr[p] Pr[y] = ∑ W(p) p:s à à y
Quantum ¡Process 0.8i s y W( path p) := ∏ ( weights ¡along ¡path ) Pr[y] = | ∑ W(p) | 2 p:s à à y
Main ¡Diff ¡between ¡Quantum ¡and ¡Classical: ¡ Paths ¡can ¡interfere ¡constructively ¡or ¡destructively, ¡ amplifying ¡probabilities ¡or ¡eliminating ¡them
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
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
Paths ¡for ¡different ¡ x can ¡ x no ¡longer ¡interfere Observer ¡effect: ¡ Learning ¡anything ¡ about ¡quantum ¡system ¡disturbs ¡it
QM ¡is ¡Reversible? Quantum ¡Reversibility? Transition ¡matrices ¡ Unitary Invertible preserve ¡2-‑norm but… Quantum ¡Irreversibility: x Irreversibly ¡alters ¡state
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
Part ¡1: ¡ Fiat-‑Shamir ¡In ¡the ¡Quantum ¡ Random ¡Oracle ¡Model
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
PQ ¡Fiat-‑Shamir Problem ¡1: ¡ROM hash ¡ function Cryptosystem For ¡many ¡schemes ¡(including ¡FS), ¡can’t ¡base ¡ security ¡on ¡concrete ¡hash ¡function ¡property
PQ ¡Fiat-‑Shamir Problem ¡1: ¡ROM H Cryptosystem Solution ([Bellare-‑Rogaway’93]): ¡ Model ¡hash ¡as ¡random ¡oracle
Classical ¡Fiat-‑Shamir ¡Proof ¡ H Assume: com ch=H(com) res
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*
The ¡Quantum ¡Random ¡Oracle ¡Model ¡(QROM) [Boneh-‑Dagdelen-‑Fischlin-‑Lehmann-‑Schaffner-‑Z’11] H Now ¡standard ¡in ¡post-‑quantum ¡crypto
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) à
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
Main ¡Theorem: ¡ Fiat-‑Shamir ¡preserves ¡ knowledge ¡soundness ¡in ¡the ¡quantum ¡random ¡ oracle ¡model. ¡Also ¡signatures ¡from ¡ID ¡protocols.
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
A ¡Path ¡View ¡of ¡[Z’19b] Primal ¡Domain : ¡function ¡ H H Fourier ¡Domain : ¡ Current ¡ Parity path ⊕ Parity path (x) := y (x,y) ∈ path
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 )
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
Generalization Lemma : ¡Let ¡ P = {P i } i ∈ [t] be ¡a ¡partition ¡of ¡possible ¡paths. ¡ Pr[y | i observed ] ≥ Pr[y]/t
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 •
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)
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
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
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
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}
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