Post-Quantum Cryptography

Post-Quantum Cryptography

Post-Quantum Cryptography Paulo S. L. M. Barreto LARC/PCS/EPUSP What is “Post-Quantum Cryptography”? To be sure, nobody really knows what PQC is… Reason: nobody knows exactly what quantum computers can do… … and for that matter, nobody knows whether a full-fledged, reasonably scaled quantum computer can be built at all. © Paulo S. L. M. Barreto 2007 LARC/PCS/EPUSP What is “Post-Quantum Cryptography”? What is the point in discussing PQC? Well, nobody knows exactly what classical computers can do either (recall P vs. NP), but classically secure cryptosystems are discussed nevertheless… …and in practice cryptosystems are based on problems not known to be intractable. © Paulo S. L. M. Barreto 2007 LARC/PCS/EPUSP Approach to PQC Develop cryptosystems based on provably intractable problems (at least on quantum computers…). Assess security and usability in practice. Quantify the quantum complexity of the intractability assumptions. © Paulo S. L. M. Barreto 2007 LARC/PCS/EPUSP A Preliminary Word This course is an introductory overview, and hence necessarily incomplete. The choice of topics is, to a large extent, a matter of personal taste (shame on me for unfulfilled expectations). © Paulo S. L. M. Barreto 2007 LARC/PCS/EPUSP Computational Problems P: solvable in deterministic polynomial time. NP: solvable in non-deterministic poly- nomial time. PSPACE: solvable in polynomial space. BQP: solvable by a quantum computer with polynomial quantum gate count. © Paulo S. L. M. Barreto 2007 LARC/PCS/EPUSP Computational Problems What one knows: PSPACE P ⊆ NP ⊆ PSPACE NP P ⊆ BQP ⊆ PSPACE P The exact relationships among the classes are not known. BQP © Paulo S. L. M. Barreto 2007 LARC/PCS/EPUSP Deployed Cryptosystems Integer Factorization – IFP: RSA. Discrete Logarithm and Diffie-Hellman – DLP, CDHP, DDHP, BDHP, …: (EC)DSA, (EC)DH, pairing-based cryptosystems. These intractability assumptions (and several others) reduce to that of the Hidden Subgroup Problem –HSP. © Paulo S. L. M. Barreto 2007 LARC/PCS/EPUSP Hidden Subgroup Problem Let G be a group, H ≤ G, and f a function on G. We say that f separates cosets of H if f(u) = f(v) ⇔ uH= vH, ∀u, v ∈ G. Hidden Subgroup Problem (HSP): Let A be an oracle to compute a function that separates cosets of some subgroup H ⊂ G. Find a generating set for H using information gained from A. Important special cases: Hidden Abelian Subgroup Problem (HASP) Hidden Dihedral Subgroup Problem (HDSP) © Paulo S. L. M. Barreto 2007 LARC/PCS/EPUSP Quantum Computing Quantum algorithms can solve particular cases of the HASP (including IFP and DLP) in random polynomial time. HHΨΨ==EEΨΨ ⇒⇒ (( == )) ?? © Paulo S. L. M. Barreto 2007 LARC/PCS/EPUSP Solutions? Purely quantum cryptography: What schemes are available? Migration? Classical alternatives: If BQP ⊂ NP, systems based on problems not in BQP (“post-quantum”). Otherwise… ?? © Paulo S. L. M. Barreto 2007 LARC/PCS/EPUSP Proposed Post-Quantum Cryptosystems Non-Abelian Groups Conjugacy equivalents of DL schemes. Lattice Reduction Ajtai-Dwork, GGH, Regev, NTRU, ... Syndrome Decoding McEliece, Niederreiter, CFS, ... Multivariate Quadratic Systems HFE, SFLASH, ... Other systems: Permuted Kernels and Perceptrons, Constrained Linear Equations, Merkle signatures... © Paulo S. L. M. Barreto 2007 LARC/PCS/EPUSP Non-Abelian Groups © Paulo S. L. M. Barreto 2007 LARC/PCS/EPUSP Non-Abelian Groups Word Problem (WP): given a finitely generated group G = 〈g1, …, gn〉 and two words p and q in the generators of G (i.e. p = ∏i∈Igi and q = ∏j∈Jgj, where I and J are sequences of indices from [1..n]), decide whether p and q stand for the same element of G. WP is in general undecidable. © Paulo S. L. M. Barreto 2007 LARC/PCS/EPUSP Non-Abelian Groups There exist groups where WP is solvable, e.g. automatic groups: Finite groups. Braid groups (Birman-Ko-Lee 1998). Hyperbolic groups (Bridson-Howie 2003). Polycyclic groups (Eick-Kahrobaei 2004). Euclidean groups. Coxeter groups. Conjugacy Decision Problem (CDP): Given p, q ∈ G, decide whether there exists s ∈ G such that p = s–1qs (if so, we write p ~ q). CDP is (usually) solvable if WP is solvable. © Paulo S. L. M. Barreto 2007 LARC/PCS/EPUSP Braid Groups Though non-Abelian, braid groups contain large commuting subgroups. Protocols designed for braid groups often remain interesting when instantiated over other groups where certain problems related to the CDP are intractable. © Paulo S. L. M. Barreto 2007 LARC/PCS/EPUSP Braid Groups 1 ii+1 n 1 ii+1 n ... ... ... ... © Paulo S. L. M. Barreto 2007 LARC/PCS/EPUSP Braid Groups ii+1 jj+1 ii+1 jj+1 ………= ……… © Paulo S. L. M. Barreto 2007 LARC/PCS/EPUSP Braid Groups ii+1 i+2 ii+1 i+2 ……≠ …… © Paulo S. L. M. Barreto 2007 LARC/PCS/EPUSP Braid Groups ii+1 i+2 ii+1 i+2 … … = … … © Paulo S. L. M. Barreto 2007 LARC/PCS/EPUSP Braid Groups Birman-Ko-Lee normal form of Bn braids: p = (u, π1, ..., πk), where u ∈ Z, and the πi are permutations over [1..n]. We say that k is the length of the braid p and write k = length(p). Cost: Normalization: O(k2 n log n). Storage: O(kn log n) bits per braid. Group operations: O(kn). Cryptographic operations: usually O(k2 n log n). © Paulo S. L. M. Barreto 2007 LARC/PCS/EPUSP Computational Problems on Non-Abelian Groups Membership Decision Problem (MDP): Given x, u1, …, ur ∈ G, decide whether x can be written as a word in uj. Membership Search Problem (MSP): Given x, u1, …, ur ∈ G, find a sequence I of indices [1..r] such that x = ∏j∈Juj. Often the MDP is not only intractable but undecidable (e.g. on a Bn with n ≤ 6). © Paulo S. L. M. Barreto 2007 LARC/PCS/EPUSP Computational Problems on Non-Abelian Groups Conjugacy Search Problem (CSP): Given p, q ∈ G with p ~ q, find s ∈ G such that p = s–1qs. Matching Conjugate Search Problem (MCSP): Given p, p’, q ∈ G with p ~ p’, find q’ ∈ G such that p’q’~ pq. Multiple Simultaneous Conjugacy Search Problem (MSCSP): –1 Given 2m ≥ 1 elements vi, wi ∈ G satisfying wi = s vis (1 ≤ i ≤ m) for the same (unknown) s ∈ G, find x –1 ∈ G such that wi = x vix (1 ≤ i ≤ m). © Paulo S. L. M. Barreto 2007 LARC/PCS/EPUSP Computational Problems on Non-Abelian Groups Subgroup Conjugacy Search Problem (SCSP): Given a subgroup A ≤ G and p, q ∈ G, find s ∈ A such that p = s–1qs (if any exists). Commutator Diffie-Hellman Conjugacy Problem (CDHCP): Let L and R be commuting subgroups of G, Given a, u = x–1ax, v = y–1ay ∈ G for some (unknown) x ∈ L, y ∈ R, compute x–1y–1axy. © Paulo S. L. M. Barreto 2007 LARC/PCS/EPUSP Anshel-Anshel-Goldfeld Key Agreement Let f: G × G → G be a function satisfying f(x, y1y2) = f(x, y1) f(x, y2). –1 Example: f(x, y) = x yx, since f(x, y1y2) = –1 –1 –1 x y1y2x = x y1xx y2x = f(x, y1) f(x, y2). Decomposition: if y = ∏j∈Jgj, then f(x, y) = f(x, ∏j∈Jgj) = ∏j∈Jf(x, gj). © Paulo S. L. M. Barreto 2007 LARC/PCS/EPUSP Anshel-Anshel-Goldfeld Key Agreement Commutator: [x, y] ≡ x–1y–1xy. Let h1, h2: G × G → G be functions satisfying h1(x, f(y, x)) = h2(y, f(x, y)) = [x, y]. –1 Example: for f(x, y) = y xy, take h1(x, y) = –1 –1 x y and h2(x, y) = y x = h1(y, x). –1 –1 –1 h1(x, f(y, x)) = h1(x, y xy) = x y xy. –1 –1 –1 h2(y, f(x, y)) = h2(y, x yx) = x y xy. © Paulo S. L. M. Barreto 2007 LARC/PCS/EPUSP Anshel-Anshel-Goldfeld Key Agreement Alice: Bob: 〈a1, …, aA〉 ≤R G, 〈b1, …, bB〉 ≤R G, I ∈R [1..A]*; J ∈R [1..B]*; x ← ∏i∈Iai. y ← ∏j∈Jbj. (f(x, bj) | 1 ≤ j ≤ B) (f(y, ai) | 1 ≤ i ≤ A) f(y, x) ← ∏i∈If(y, ai), f(x, y) ← ∏j∈Jf(x, bj), K ← h1(x, f(y, x)). K ← h2(y, f(x, y)). © Paulo S. L. M. Barreto 2007 LARC/PCS/EPUSP KLCHKP Key Agreement Choose G and two disjoint, commuting subgroups LG, RG ≤ G. Example: braid group G = 〈σ1, …, σ2n–1〉; LG = 〈σ1, …, σn–1〉, RG = 〈σn+1, …, σ2n–1〉. Choose a “sufficiently complicated” public word g ∈R G. © Paulo S. L. M. Barreto 2007 LARC/PCS/EPUSP KLCHKP Key Agreement Alice: Bob: sA ∈R LG; sB ∈R RG; –1 –1 vA ← sA gsA. vB ← sB gsB. –1 –1 K ← sA vBsA = K ← sB vAsB = –1 –1 –1 –1 sA sB gsA sB. sA sB gsA sB. Easy to generalize to ElGamal-like encryption. © Paulo S. L. M. Barreto 2007 LARC/PCS/EPUSP KCCL Signatures Random oracle H: {0, 1}* → G. Key generation: Choose p, s ∈ G at random and compute p’ ← s–1ps. Kprivate = s; Kpublic = (p, p’). Signing a message m: Hash m to q ← H(m) ∈ G. Compute the signature q’ ← s–1qs. Verifying a signature q’ for message m: Validate the public key by checking p ~ p’. Hash m to q = H(m) ∈ G. Accept the signature iff pq ~ p’q’. © Paulo S. L. M. Barreto 2007 LARC/PCS/EPUSP Security Assessment The CDHCP over Bn can be solved in time O(n4lg7+2lg3k2lg3) ≈ O(n14.4k3.2) (Cheon-Jun 2003). The security of AAG and variants (Anshel-Anshel- Goldfeld 2001, Lee-Lee 2002, Hughes 2002) depends on the SCSP rather than the CSP (Shpilrain-Ushakov 2004). Heuristic attacks based on the MSCSP succeed with high probability against AAG for certain parameters (Hofheinz-Steinwandt 2003).

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    117 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us