a reaction attack on the qc ldpc mceliece cryptosystem
play

A Reaction Attack on the QC-LDPC McEliece Cryptosystem Tomas Fabsic - PowerPoint PPT Presentation

LDPC and MDPC Codes QC-MDPC McEliece Attack of Guo et al. QC-LDPC McEliece Our Attack A Reaction Attack on the QC-LDPC McEliece Cryptosystem Tomas Fabsic 1 , Viliam Hromada 1 , Paul Stankovski 2 , Pavol Zajac 1 , Qian Guo 2 , Thomas Johansson


  1. LDPC and MDPC Codes QC-MDPC McEliece Attack of Guo et al. QC-LDPC McEliece Our Attack A Reaction Attack on the QC-LDPC McEliece Cryptosystem Tomas Fabsic 1 , Viliam Hromada 1 , Paul Stankovski 2 , Pavol Zajac 1 , Qian Guo 2 , Thomas Johansson 2 1 Slovak University of Technology in Bratislava, Slovakia 2 Lund University, Sweden PQCrypto 2017 Fabsic et al. A Reaction Attack on the QC-LDPC McEliece Cryptosystem

  2. LDPC and MDPC Codes QC-MDPC McEliece Attack of Guo et al. QC-LDPC McEliece Our Attack Contents LDPC and MDPC Codes 1 QC-MDPC McEliece 2 Attack of Guo et al. 3 QC-LDPC McEliece 4 Our Attack 5 Fabsic et al. A Reaction Attack on the QC-LDPC McEliece Cryptosystem

  3. LDPC and MDPC Codes QC-MDPC McEliece Attack of Guo et al. QC-LDPC McEliece Our Attack Contents LDPC and MDPC Codes 1 QC-MDPC McEliece 2 Attack of Guo et al. 3 QC-LDPC McEliece 4 Our Attack 5 Fabsic et al. A Reaction Attack on the QC-LDPC McEliece Cryptosystem

  4. LDPC and MDPC Codes QC-MDPC McEliece Attack of Guo et al. QC-LDPC McEliece Our Attack Contents LDPC and MDPC Codes 1 QC-MDPC McEliece 2 Attack of Guo et al. 3 QC-LDPC McEliece 4 Our Attack 5 Fabsic et al. A Reaction Attack on the QC-LDPC McEliece Cryptosystem

  5. LDPC and MDPC Codes QC-MDPC McEliece Attack of Guo et al. QC-LDPC McEliece Our Attack Contents LDPC and MDPC Codes 1 QC-MDPC McEliece 2 Attack of Guo et al. 3 QC-LDPC McEliece 4 Our Attack 5 Fabsic et al. A Reaction Attack on the QC-LDPC McEliece Cryptosystem

  6. LDPC and MDPC Codes QC-MDPC McEliece Attack of Guo et al. QC-LDPC McEliece Our Attack Contents LDPC and MDPC Codes 1 QC-MDPC McEliece 2 Attack of Guo et al. 3 QC-LDPC McEliece 4 Our Attack 5 Fabsic et al. A Reaction Attack on the QC-LDPC McEliece Cryptosystem

  7. LDPC and MDPC Codes QC-MDPC McEliece Attack of Guo et al. QC-LDPC McEliece Our Attack Contents LDPC and MDPC Codes 1 QC-MDPC McEliece 2 Attack of Guo et al. 3 QC-LDPC McEliece 4 Our Attack 5 Fabsic et al. A Reaction Attack on the QC-LDPC McEliece Cryptosystem

  8. LDPC and MDPC Codes QC-MDPC McEliece Attack of Guo et al. QC-LDPC McEliece Our Attack Definitions Definition Low-density parity-check (LDPC) code = a binary linear code which admits a parity-check matrix H with a low number of 1s. Definition Moderate-density parity-check (MDPC) code - admits a parity-check matrix H with a slightly higher number of 1s than an LDPC code. Fabsic et al. A Reaction Attack on the QC-LDPC McEliece Cryptosystem

  9. LDPC and MDPC Codes QC-MDPC McEliece Attack of Guo et al. QC-LDPC McEliece Our Attack Decoding Soft-decision decoding (belief propagation algorithms) Hard-decision decoding (bit-flipping algorithms) Both methods fail with some probability. Fabsic et al. A Reaction Attack on the QC-LDPC McEliece Cryptosystem

  10. LDPC and MDPC Codes QC-MDPC McEliece Attack of Guo et al. QC-LDPC McEliece Our Attack Contents LDPC and MDPC Codes 1 QC-MDPC McEliece 2 Attack of Guo et al. 3 QC-LDPC McEliece 4 Our Attack 5 Fabsic et al. A Reaction Attack on the QC-LDPC McEliece Cryptosystem

  11. LDPC and MDPC Codes QC-MDPC McEliece Attack of Guo et al. QC-LDPC McEliece Our Attack Circulant matrices - definition Definition An n × n matrix C is circulant if it is of the form:   c 0 c 1 c 2 c n − 1 . . . c n − 1 c 0 c 1 c n − 2   . . .   c n − 2 c n − 1 c 0 c n − 3 C =   . . .  . . . .  ... . . . .   . . . .   c 1 c 2 c 3 c 0 . . . Fabsic et al. A Reaction Attack on the QC-LDPC McEliece Cryptosystem

  12. LDPC and MDPC Codes QC-MDPC McEliece Attack of Guo et al. QC-LDPC McEliece Our Attack Private Key in QC-MDPC McEliece H is a parity-check matrix of an MDPC code. H = ( H 0 | H 1 | . . . | H n 0 − 1 ) , where each H i is a circulant matrix with a low weight. (i.e. H is quasi-cyclic (QC)) Fabsic et al. A Reaction Attack on the QC-LDPC McEliece Cryptosystem

  13. LDPC and MDPC Codes QC-MDPC McEliece Attack of Guo et al. QC-LDPC McEliece Our Attack How QC-MDPC McEliece works? H is randomly generated. A generator matrix G is computed. G is the public key. Encryption of a message x : y = x · G + e , where e is an error vector. Decryption: by a decoding algorithm (uses H ). Fabsic et al. A Reaction Attack on the QC-LDPC McEliece Cryptosystem

  14. LDPC and MDPC Codes QC-MDPC McEliece Attack of Guo et al. QC-LDPC McEliece Our Attack Contents LDPC and MDPC Codes 1 QC-MDPC McEliece 2 Attack of Guo et al. 3 QC-LDPC McEliece 4 Our Attack 5 Fabsic et al. A Reaction Attack on the QC-LDPC McEliece Cryptosystem

  15. LDPC and MDPC Codes QC-MDPC McEliece Attack of Guo et al. QC-LDPC McEliece Our Attack Presented in Guo, Johansson and Stankovski: A key recovery attack on MDPC with CCA security using decoding errors, ASIACRYPT 2016. Fabsic et al. A Reaction Attack on the QC-LDPC McEliece Cryptosystem

  16. LDPC and MDPC Codes QC-MDPC McEliece Attack of Guo et al. QC-LDPC McEliece Our Attack Distances Definition We say that a distance d is present in a vector v of length p if there exist two 1s in v in positions p 1 and p 2 such that d = min { p 1 − p 2 mod p , p 2 − p 1 mod p } . E.g., the distance between the 1s in ( 0 , 1 , 0 , 0 , 0 , 0 , 0 , 1 , 0 ) is 3. Definition We say that a distance d is present in a p × p circulant matrix C if the distance d is present in the first row of C . Fabsic et al. A Reaction Attack on the QC-LDPC McEliece Cryptosystem

  17. LDPC and MDPC Codes QC-MDPC McEliece Attack of Guo et al. QC-LDPC McEliece Our Attack Key Observation of Guo et al. Suppose that the circulant blocks in H are of size p × p . Let e be the error vector added to a message during the encryption. Let e = ( e 0 , e 1 , . . . , e n / p − 1 ) , where each e i has length p . Observation Suppose that e i contains a distance d . If the distance d is present in the corresponding block H i in H , then the probability that a bit-flipping algorithm fails to decode the message is lower! Fabsic et al. A Reaction Attack on the QC-LDPC McEliece Cryptosystem

  18. LDPC and MDPC Codes QC-MDPC McEliece Attack of Guo et al. QC-LDPC McEliece Our Attack How the attack on QC-MDPC McEliece works? 1 Send a large number of encrypted messages with a randomly generated error vector e . 2 Observe when the recipient requests a message to be resend. (This means that the recipient experienced a decoding error.) 3 Group the encrypted messages into groups Σ d according to the rule: A message belongs to Σ d if its error vector contains the distance d in e 0 . 4 For each Σ d estimate the probability of the decoding error. 5 Select the distances with low estimates of the probability of the decoding error. (These are the distances present in H 0 .) 6 Reconstruct candidates for H 0 . Fabsic et al. A Reaction Attack on the QC-LDPC McEliece Cryptosystem

  19. LDPC and MDPC Codes QC-MDPC McEliece Attack of Guo et al. QC-LDPC McEliece Our Attack Contents LDPC and MDPC Codes 1 QC-MDPC McEliece 2 Attack of Guo et al. 3 QC-LDPC McEliece 4 Our Attack 5 Fabsic et al. A Reaction Attack on the QC-LDPC McEliece Cryptosystem

  20. LDPC and MDPC Codes QC-MDPC McEliece Attack of Guo et al. QC-LDPC McEliece Our Attack Private key in QC-LDPC McEliece Private key consists of matrices: H , S , Q . All matrices are quasi-cyclic. Circulant blocks in all three matrices have the same size p × p . Fabsic et al. A Reaction Attack on the QC-LDPC McEliece Cryptosystem

  21. LDPC and MDPC Codes QC-MDPC McEliece Attack of Guo et al. QC-LDPC McEliece Our Attack Private key in QC-LDPC McEliece - matrix H H is as in QC-MDPC McEliece but sparser,i.e. H = ( H 0 | H 1 | . . . | H n 0 − 1 ) , where each H i is a circulant matrix with a fixed weight. Fabsic et al. A Reaction Attack on the QC-LDPC McEliece Cryptosystem

  22. LDPC and MDPC Codes QC-MDPC McEliece Attack of Guo et al. QC-LDPC McEliece Our Attack Private key in QC-LDPC McEliece - matrix Q Q is a sparse invertible n × n matrix.   Q 00 Q 0 , n 0 − 1 . . . . . ... . . Q =   . .  ,  Q n 0 − 1 , 0 Q n 0 − 1 , n 0 − 1 . . . where each Q ij is a sparse circulant matrix. Fabsic et al. A Reaction Attack on the QC-LDPC McEliece Cryptosystem

  23. LDPC and MDPC Codes QC-MDPC McEliece Attack of Guo et al. QC-LDPC McEliece Our Attack Private key in QC-LDPC McEliece - matrix S S is a dense invertible k × k matrix.   S 00 S 0 , k 0 − 1 . . . . . ... . . S =   . .  ,  S k 0 − 1 , 0 S k 0 − 1 , k 0 − 1 . . . where each S ij is a dense circulant matrix. Fabsic et al. A Reaction Attack on the QC-LDPC McEliece Cryptosystem

  24. LDPC and MDPC Codes QC-MDPC McEliece Attack of Guo et al. QC-LDPC McEliece Our Attack Public Key in QC-LDPC McEliece H , S , Q are randomly generated. A generator matrix G is computed from H . Public key G ′ is computed as: G ′ = S − 1 · G · Q − 1 . Fabsic et al. A Reaction Attack on the QC-LDPC McEliece Cryptosystem

  25. LDPC and MDPC Codes QC-MDPC McEliece Attack of Guo et al. QC-LDPC McEliece Our Attack Encryption in QC-LDPC McEliece Message x is encrypted as: y = x · G ′ + e , where e is an error vector. Fabsic et al. A Reaction Attack on the QC-LDPC McEliece Cryptosystem

Recommend


More recommend