Quantum-secure symmetric-key cryptography based on Hidden Shifts Gorjan Alagic Alexander Russell QMATH, Department of Mathematical Sciences Department of Computer Science & Engineering University of Copenhagen University of Connecticut arXiv:1610.01187
quantum computation + cryptography Typical post-quantum crypto: quantum classical adversary cryptosystem Classical crypto in quantum world: quantum classical adversary cryptosystem Fully-quantum crypto: quantum adversary cryptosystem
quantum access? Classical functions on a quantum computer Let π: 0,1 π β 0,1 π be some function. Quantum generalizes classical, so we can implement π on our quantum computer. How? π¦, π§ β¦ (π¦, π§ β π π¦ ) 1. [turn into reversible function] π¦ π§ β¦ π¦ |π§ β π π¦ β© 2. [run circuit on your quantum computer] But waitβ¦ now we can plug in non-classical inputs: ΰ· π½ π¦π§ π¦ π§ β¦ ΰ· π½ π¦π§ π¦ |π§ β π π¦ β© π¦,π§ π¦,π§ (π¦, π π¦ ) for random π¦ E.g., can prepare uniform superposition of values: ΰ· π¦ |π π¦ β© π¦ ??
quantum access? Recall CPA: Some protocol involving an encryption scheme πππ , π¬ππ β¦ πππ π π΅ πππ π β’ implements the map: π¦ β¦ πππ π π¦ ; classically: β’ what happens if π΅ can run this map quantumly? β’ then π΅ gets quantum oracle : π¦ π§ β¦ π¦ |π§ β πππ π π¦ β© β’ β¦ and can run it on non -classical inputs! ΰ· π¦ |πππ π π¦ β© ?? π¦
quantum access: is it realistic? In some settings, βquantum oraclesβ make perfect sense: β’ public-key encryption : ππ β¦ encrypt circuit β’ hash functions : algorithm reversible circuit β’ exposing code : obfuscated circuit In other settings, this might depend on the model, or the physics: β’ private- key encryption (can device act coherently? βfrozen smart cardβ [GHS16] ) β’ authentication and signatures (can user be fooled into signing superposition?) In any case: the model is of theoretical interest!
is *anything* secure in this model? Yes: pseudorandomness still exists! [GGM84] construction yields PRF s {π π } which are βquantum oracleβ β secure [Zha12] . Authentication [BZ13] : β’ Uniformly random key π for π π ; β’ πππ π π = π π π . Encryption [BZ13] : β’ Uniformly random π for π π ; β’ π π¨π π π = π , π π π β π . Maybe everything is ok, even in this model?
quantum oracle attacks: an example βSimplest block cipherβ [EM97, DKS11]: 1. Fix public, random permutation π: 0,1 π β 0,1 π ; 2. Uniformly random key: π β π 0,1 π ; 3. Encrypt: πΉ π π¦ = π π¦ β π β π . π π π¦ π πΉ π (π¦) Security: πΉ π is strongly pseudorandom (even if adversary has π , π β1 , πΉ π , πΉ π β1 .) β’ β’ β canβt decrypt; β’ β canβt forge input/output pairs, etc.
quantum oracle attacks: an example βSimplest block cipherβ [EM97, DKS11]: π π πΉ π π¦ = π π¦ β π β π . π¦ π πΉ π (π¦) Quantum attack [KM12]: simple predecessor to Shor 1. Form oracle π π¦ = π π¦ β πΉ π π¦ ; Given: β’ oracle access to π ; 2. Apply Simonβs algorithm on π and output result. β’ Promise βπ s.t. π π¦ = π(π§) iff π§ = π¦ β π; Output: Why does it work? π π¦ = π π¦ β π π¦ β π β π = π(π¦ β π) β’ π This is Simonβs promise β attack will output π ! Devastating: complete key recovery with only π«(π) queries, space and time! Simple variants also break: 3-round Feistel [KM10] , Encrypted-CBC-MAC, LRW tweakable ciphers, many CAESAR candidates, β¦ [KLLN16, SS16] .
what is really at the core: hidden shift The Simon attack breaks: Even-Mansour, 3-round Feistel, Encrypted-CBC-MAC, LRW tweakable ciphers, many CAESAR candidates, β¦ β’ if viewed in a certain way, all the attacksβ¦ β’ first build a pair of shifted functions: π π¦ = π(π¦ β π) β¦ β’ β¦ and then apply Simonβs algorithm to π π¦ β π(π¦) . well-known to quantum algorithms community! Hidden Shift Problem (HS). Fix a finite group π» . Given oracles for injective π, π: π» β π and a promise that β π‘ β π» such that π π¦ = π(π¦ β π‘) for all π¦ β π» , output π‘ . π π
hidden shift problem Classically: requires exponentially-many queries [ in π = log( π» ) ] . π (Simon). Quantumly: efficiently solvable for π» = β€ 2 For most other groups, appears to be hard. Hidden Shift Problem (HS). Fix a finite group π» . Given oracles for injective π, π: π» β π Cyclic groups: (e.g., β€ 2 π ) and a promise that β π‘ β π» such that π π¦ = π(π¦ β π‘) for all π¦ β π» , output π‘ . π time [Kup03] . best quantum algorithm takes 2 π« β’ β’ only idea we have (β coset samplingβ) : if it works, then UniqueSVP β BQP [Reg02] . Symmetric groups: (i.e., π π ) β’ no subexp algorithms known; β’ coset sampling unlikely to give even subexp algorithms [MR05, MRS07] .
hidden shift crypto The Simon attack breaks: Even-Mansour, 3-round Feistel, Encrypted-CBC-MAC, LRW tweakable ciphers, many CAESAR candidates, β¦ Generic fix: β’ select an exponentially-large group (family) π» (e.g., cyclic β€ 2 n , dihedral πΈ π , symmetric π π , Lie-type ππ 2 (πΎ π ) , β¦ ) β’ replace input/output spaces with π» (or a power of π» ). β’ replace bitwise XOR operation with group operation on π» . Sanity check [AH17]: β’ this does not affect classical securityβ¦ β’ β¦ or classical -access security against quantum adversaries.
hidden shift crypto The Simon attack breaks: Even-Mansour, 3-round Feistel, Encrypted-CBC-MAC, LRW tweakable ciphers, many CAESAR candidates, β¦ Generic fix: β’ select an exponentially-large group (family) π» (e.g., cyclic β€ 2 n , dihedral πΈ π , symmetric π π , Lie-type ππ 2 (πΎ π ) , β¦ β’ replace input/output spaces with π» (or a power of π» ). β’ replace bitwise XOR operation with group operation on π» . Example 1: Even-Mansour. 1. Fix public, random permutation π: π» β π» ; 2. Select key: π β π π» ; 3. Encrypt: πΉ π π¦ = π π¦ β π β π . π π β β π¦ π πΉ π (π¦) β : π» Γ π» β π»
hidden shift crypto The Simon attack breaks: Even-Mansour, 3-round Feistel, Encrypted-CBC-MAC, LRW tweakable ciphers, many CAESAR candidates, β¦ Generic fix: β’ select an exponentially-large group (family) π» (e.g., cyclic β€ 2 n , dihedral πΈ π , symmetric π π , Lie-type ππ 2 (πΎ π ) , β¦ β’ replace input/output spaces with π» (or a power of π» ). β’ replace bitwise XOR operation with group operation on π» . Example 2: Feistel network. 1. Choose pseudorandom function π: 0,1 π Γ π» β π» ; + β R 1 2. Choose keys π π β π 0,1 π , set π π β π π π ; 3. Build pseudorandom permutation on π» Γ π» : + β R 2 + β R 3 β : π» Γ π» β π»
hidden shift crypto The Simon attack breaks: Even-Mansour, 3-round Feistel, Encrypted-CBC-MAC, LRW tweakable ciphers, many CAESAR candidates, β¦ Generic fix: β’ select an exponentially-large group (family) π» (e.g., cyclic β€ 2 n , dihedral πΈ π , symmetric π π , Lie-type ππ 2 (πΎ π ) , β¦ β’ replace input/output spaces with π» (or a power of π» ). β’ replace bitwise XOR operation with group operation on π» . Example 3: Encrypted-CBC-MAC. 1. Fix keyed, pseudorandom permutation πΉ: 0,1 π Γ π» β π» ; 2. Select key pair: π, π 1 β π 0,1 π ; 3. Decompose message π β π» π into blocks π π β π» . β¦ + β + β β 1 E k E k E k E k β β : π» Γ π» β π»
main results Is this βgeneric fixβ a good idea? 1. The Hidden Shift Problem (HS) seems to be a good crypto primitive. Theorem 1. The Hidden Shift Problem is random self-reducible.
main results Is this βgeneric fixβ a good idea? 1. The Hidden Shift Problem (HS) seems to be a good crypto primitive. β’ randomized version β RHS β where π is random and π is a shift; β’ QPT = quantum polynomial-time algorithm. Theorem 1. RHS is random self-reducible. That is, if there exists a QPT which solves RHS for a 1/poly-fraction of inputs, then there exists a QPT which solves RHS and HS for all but a negligible fraction of inputs. Proof idea: Use the β1/poly - fractionβ QPT to explore the entire space of instances, by: 1. randomizing shifts by pre-composing π (but not π ) with a random shift; 2. randomize outputs by post-composing both π and π with a qPRF ; 3. repeat with fresh randomness, and a fresh qPRF key poly-many times; 4. test any outputs of the QPT by random sampling and checking.
main results Is this βgeneric fixβ a good idea? 1. The Hidden Shift Problem (HS) seems to be a good crypto primitive. Theorem 2. The decision and search version of HS are equivalent.
Recommend
More recommend