Paper 2018/1223

Error Amplification in Code-based Cryptography

Alexander Nilsson, Thomas Johansson, and Paul Stankovski Wagner


Code-based cryptography is one of the main techniques enabling cryptographic primitives in a post-quantum scenario. In particular, the MDPC scheme is a basic scheme from which many other schemes have been derived. These schemes rely on iterative decoding in the decryption process and thus have a certain small probability $p$ of having a decryption (decoding) error. In this paper we show a very fundamental and important property of code-based encryption schemes. Given one initial error pattern that fails to decode, the time needed to generate another message that fails to decode is strictly much less than $1/p$. We show this by developing a method for fast generation of undecodable error patterns (error pattern chaining), which additionally proves that a measure of closeness in ciphertext space can be exploited through its strong linkage to the difficulty of decoding these messages. Furthermore, if side-channel information is also available (time to decode), then the initial error pattern no longer needs to be given since one can be easily generated in this case. These observations are fundamentally important because they show that a, say, $128$-bit encryption scheme is not inherently safe from reaction attacks even if it employs a decoder with a failure rate of $2^{-128}$. In fact, unless explicit protective measures are taken, having a failure rate at all -- of any magnitude -- can pose a security problem because of the error amplification effect of our method. A key-recovery reaction attack was recently shown on the MDPC scheme as well as similar schemes, taking advantage of decoding errors in order to recover the secret key. It was also shown that knowing the number of iterations in the iterative decoding step, which could be received in a timing attack, would also enable and enhance such an attack. In this paper we apply our error pattern chaining method to show how to improve the performance of such reaction attacks in the CPA case. We show that after identifying a single decoding error (or a decoding step taking more time than expected in a timing attack), we can adaptively create new error patterns that have a much higher decoding error probability than for a random error. This leads to a significant improvement of the attack based on decoding errors in the CPA case and it also gives the strongest known attack on MDPC-like schemes, both with and without using side-channel information.

Note: Fixed minor formatting error in the abstract.

Available format(s)
Public-key cryptography
Publication info
Published by the IACR in TCHES 2019
post-quantum cryptographyMDPCtiming attackside-channel attackiterative decodingerror amplificationerror pattern chaining
Contact author(s)
alexander nilsson @ eit lth se
2019-01-03: revised
2018-12-30: received
See all versions
Short URL
Creative Commons Attribution


      author = {Alexander Nilsson and Thomas Johansson and Paul Stankovski Wagner},
      title = {Error Amplification in Code-based Cryptography},
      howpublished = {Cryptology ePrint Archive, Paper 2018/1223},
      year = {2018},
      doi = {10.13154/tches.v2019.i1.238-258},
      note = {\url{}},
      url = {}
Note: In order to protect the privacy of readers, does not use cookies or embedded third party content.