quantum secure symmetric key cryptography based on hidden
play

Quantum-secure symmetric-key cryptography based on Hidden Shifts - PowerPoint PPT Presentation

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


  1. 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

  2. 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

  3. 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: ෍ 𝑦 |𝑔 𝑦 ⟩ 𝑦 ??

  4. 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! ෍ 𝑦 |𝑭𝒐𝒅 𝑙 𝑦 ⟩ ?? 𝑦

  5. 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!

  6. 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?

  7. 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.

  8. 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] .

  9. 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 𝑑 . π’ˆ 𝒉

  10. 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] .

  11. 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.

  12. 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: 𝐹 𝑙 𝑦 = 𝑄 𝑦 β‹… 𝑙 β‹… 𝑙 . 𝑙 𝑙 β‹… β‹… 𝑦 𝑄 𝐹 𝑙 (𝑦) β‹… : 𝐻 Γ— 𝐻 β†’ 𝐻

  13. 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 β‹… : 𝐻 Γ— 𝐻 β†’ 𝐻

  14. 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 ’ β‹… : 𝐻 Γ— 𝐻 β†’ 𝐻

  15. 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.

  16. 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.

  17. 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