A Key Recovery Attack on MDPC with CCA Security Using Decoding Errors
Qian Guo Thomas Johansson Paul Stankovski
- Dept. of Electrical and Information Technology, Lund University
ASIACRYPT 2016 Dec 8th, 2016
A Key Recovery Attack on MDPC with CCA Security Using Decoding - - PowerPoint PPT Presentation
A Key Recovery Attack on MDPC with CCA Security Using Decoding Errors Qian Guo Thomas Johansson Paul Stankovski Dept. of Electrical and Information Technology, Lund University ASIACRYPT 2016 Dec 8th, 2016 Outline 1 Motivation 2 Background on
ASIACRYPT 2016 Dec 8th, 2016
Qian Guo, Thomas Johansson, Paul Stankovski, 2 / 24
Qian Guo, Thomas Johansson, Paul Stankovski, 3 / 24
Qian Guo, Thomas Johansson, Paul Stankovski, 3 / 24
Qian Guo, Thomas Johansson, Paul Stankovski, 3 / 24
◮ Much smaller key-size: 4801 bits for 80-bit security. ◮ good security arguments (very little structure). ◮ easy implementation (including lightweight implementation)
◮ A scheme recommended for further study. Qian Guo, Thomas Johansson, Paul Stankovski, 3 / 24
◮ Much smaller key-size: 4801 bits for 80-bit security. ◮ good security arguments (very little structure). ◮ easy implementation (including lightweight implementation)
◮ A scheme recommended for further study.
Qian Guo, Thomas Johansson, Paul Stankovski, 3 / 24
Qian Guo, Thomas Johansson, Paul Stankovski, 4 / 24
Qian Guo, Thomas Johansson, Paul Stankovski, 4 / 24
Qian Guo, Thomas Johansson, Paul Stankovski, 4 / 24
◮ Generate a parity-check matrix H = [H0|H1] for a binary
◮ Derive the systematic generator matrix G = [I|P], where
1 H0)T.
◮ The public key: G. The private key: H.
◮ Generate a random error vector e with weight t. ◮ The ciphertext is c = mG + e.
◮ Compute the syndrome vector s = cHT = eHT, and then use
◮ Recover the plaintext m from the first k entries of mG. Qian Guo, Thomas Johansson, Paul Stankovski, 5 / 24
◮ Resend attacks, reaction attacks, chosen ciphertext attacks,...
◮ The CCA conversion makes the choice of error vector e
Qian Guo, Thomas Johansson, Paul Stankovski, 6 / 24
◮ Run through all parity-check equations and for every digit node connected
◮ Run through all digit nodes and flip its value if its counter satisfies a
Qian Guo, Thomas Johansson, Paul Stankovski, 7 / 24
Qian Guo, Thomas Johansson, Paul Stankovski, 8 / 24
Qian Guo, Thomas Johansson, Paul Stankovski, 8 / 24
Qian Guo, Thomas Johansson, Paul Stankovski, 8 / 24
Qian Guo, Thomas Johansson, Paul Stankovski, 9 / 24
i0 i1 i2
Qian Guo, Thomas Johansson, Paul Stankovski, 10 / 24
Qian Guo, Thomas Johansson, Paul Stankovski, 11 / 24
Qian Guo, Thomas Johansson, Paul Stankovski, 11 / 24
Qian Guo, Thomas Johansson, Paul Stankovski, 12 / 24
m3 m2 m1 m0 error prob.
m1 = 9.1 m0 = 44.1 error prob. 10−4
Qian Guo, Thomas Johansson, Paul Stankovski, 13 / 24
Qian Guo, Thomas Johansson, Paul Stankovski, 14 / 24
◮ For a distance d, error patterns that contain at least one
Qian Guo, Thomas Johansson, Paul Stankovski, 15 / 24
Qian Guo, Thomas Johansson, Paul Stankovski, 16 / 24
i=0 hijei = sj
Qian Guo, Thomas Johansson, Paul Stankovski, 17 / 24
Qian Guo, Thomas Johansson, Paul Stankovski, 18 / 24
Qian Guo, Thomas Johansson, Paul Stankovski, 19 / 24
Qian Guo, Thomas Johansson, Paul Stankovski, 19 / 24
Qian Guo, Thomas Johansson, Paul Stankovski, 20 / 24
1 2 3 4
decoding error probability distance multiplicity
600 1200 1800 2400 0.00052 0.00053 0.00054 0.00055 0.00056 0.00057 0.00058 0.00059 0.00060 0.00061 0.00062
Qian Guo, Thomas Johansson, Paul Stankovski, 21 / 24
Qian Guo, Thomas Johansson, Paul Stankovski, 22 / 24
Qian Guo, Thomas Johansson, Paul Stankovski, 22 / 24
Qian Guo, Thomas Johansson, Paul Stankovski, 23 / 24
Qian Guo, Thomas Johansson, Paul Stankovski, 24 / 24
Qian Guo, Thomas Johansson, Paul Stankovski, 25 / 24