Skip to main content

Information-Set Decoding with Hints

  • Conference paper
  • First Online:
Code-Based Cryptography (CBCrypto 2021)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 13150))

Included in the following conference series:

  • 541 Accesses

Abstract

This paper studies how to incorporate small information leakages (called “hints”) into information-set decoding (ISD) algorithms. In particular, the influence of these hints on solving the (nkt)-syndrome-decoding problem (SDP), i.e., generic syndrome decoding of a code of length n, dimension k, and an error of weight t, is analyzed. We motivate all hints by leakages obtainable through realistic side-channel attacks on code-based post-quantum cryptosystems. One class of studied hints consists of partial knowledge of the error or message, which allow to reduce the length, dimension, or error weight using a suitable transformation of the problem. As a second class of hints, we assume that the Hamming weights of sub-blocks of the error are known, which can be motivated by a template attack. We present adapted ISD algorithms for this type of leakage. For each third-round code-based NIST submission (Classic McEliece, BIKE, HQC), we show how many hints of each type are needed to reduce the work factor below the claimed security level. E.g., for Classic McEliece mceliece348864, the work factor is reduced below \(2^{128}\) for 9 known error locations, 650 known error-free positions or known Hamming weights of 29 sub-blocks of roughly equal size.

This work was supported by the German Research Foundation (Deutsche Forschungsgemeinschaft, DFG) under Grant No. WA3907/4-1 and SE2989/1-1 and the European Research Council (ERC) under the European Union’s Horizon 2020 research and innovation programme (grant agreement No 801434). This work was partly done while S. Puchinger was with the Technical University of Denmark, Lyngby, Denmark, where he was supported by the European Union’s Horizon 2020 research and innovation programme under the Marie Skłodowska-Curie grant agreement no. 713683.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

Notes

  1. 1.

    The attack in [32] works for the original construction used in the HQC submission (a concatenation of a BCH code and a repetition code), but still has to be adapted to the latest HQC setting which uses a concatenation of a Reed-Muller and Reed-Solomon code, as the authors of HQC shifted to this code combination in their third round submission.

  2. 2.

    As in most works on information-set decoding, we neglect the probability that a randomly chosen set is not an information set, since it is for most codes a constant in the same order of magnitude as 1.

  3. 3.

    This step is technically not necessary, but it simplifies the notation below.

  4. 4.

    To make proper use of the birthday paradox we could also take random subsets of the above lists, instead of all vectors of prescribed length and weight.

  5. 5.

    If we take only subsets of the initial lists, then this will also be considered in this success probability.

References

  1. Aguilar-Melchor, C., et al.: Hamming Quasi-Cyclic (HQC), Third round submission to the NIST post-quantum cryptography call (2019). https://pqc-hqc.org

  2. Albrecht, M.R., et al.: Classic McEliece, Third round submission to the NIST post-quantum cryptography call (2019). https://classic.mceliece.org

  3. Aragon, N., et al.: BIKE: Bit Flipping Key Encapsulation, Third round submission to the NIST post-quantum cryptography call (2019). https://bikesuite.org/

  4. Augot, D., Finiasz, M., Sendrier, N.: A fast provably secure cryptographic hash function, Cryptology ePrint Archive, Report 2003/230 (2003). https://eprint.iacr.org/2003/230

  5. Baldi, M., et al.: A new path to code-based signatures via identification schemes with restricted errors (2020)

    Google Scholar 

  6. Becker, A., Joux, A., May, A., Meurer, A.: Decoding random binary linear codes in \(2^{n/20}\): How 1 + 1 = 0 improves information set decoding. In: Pointcheval, D., Johansson, T. (eds.) EUROCRYPT 2012. LNCS, vol. 7237, pp. 520–536. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-29011-4_31

    Chapter  MATH  Google Scholar 

  7. Berlekamp, E., McEliece, R., van Tilborg, H.: On the inherent intractability of certain coding problems (corresp.). IEEE Trans. Inf. Theor. 24(3), 384–386 (1978)

    Article  Google Scholar 

  8. Bernstein, D.J., Lange, T., Peters, C.: Smaller decoding exponents: ball-collision decoding. In: Rogaway, P. (ed.) CRYPTO 2011. LNCS, vol. 6841, pp. 743–760. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-22792-9_42

    Chapter  Google Scholar 

  9. Bernstein, D.J., Lange, T., Peters, C., Schwabe, P.: Faster 2-regular information-set decoding. In: Chee, Y.M., Guo, Z., Ling, S., Shao, F., Tang, Y., Wang, H., Xing, C. (eds.) IWCC 2011. LNCS, vol. 6639, pp. 81–98. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-20901-7_5

    Chapter  Google Scholar 

  10. Canteaut, A.: A new algorithm for finding minimum-weight words in a linear code: Application to McEliece’s cryptosystem and to narrow-sense bch codes of length 511. IEEE Trans. Inf. Theor. 44, 367–378 (1998)

    Article  MathSciNet  Google Scholar 

  11. Chou, T.: QcBits: constant-time small-key code-based cryptography. In: Gierlichs, B., Poschmann, A.Y. (eds.) CHES 2016. LNCS, vol. 9813, pp. 280–300. Springer, Heidelberg (2016). https://doi.org/10.1007/978-3-662-53140-2_14

    Chapter  Google Scholar 

  12. Choudary, M.O., Kuhn, M.G.: Efficient, portable template attacks. IEEE Trans. Inf. Forensics Secur. 13(2), 490–501 (2018)

    Article  Google Scholar 

  13. Dachman-Soled, D., Ducas, L., Gong, H., Rossi, M.: LWE with side information: attacks and concrete security estimation. In: Micciancio, D., Ristenpart, T. (eds.) CRYPTO 2020. LNCS, vol. 12171, pp. 329–358. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-56880-1_12

    Chapter  Google Scholar 

  14. Diffie, W., Hellman, M.: New directions in cryptography. IEEE Trans. Inf. Theor. 22(6), 644–654 (1976)

    Article  MathSciNet  Google Scholar 

  15. Gligoroski, D., Samardjiska, S., Jacobsen, H., Bezzateev, S.: McEliece in the world of Escher, Cryptology ePrint Archive, Report 2014/360 (2014)

    Google Scholar 

  16. Heyse, S., Moradi, A., Paar, C.: Practical power analysis attacks on software implementations of McEliece. In: Sendrier, N. (ed.) PQCrypto 2010. LNCS, vol. 6061, pp. 108–125. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-12929-2_9

    Chapter  Google Scholar 

  17. Horlemann-Trautmann, A.-L., Weger, V.: Information set decoding in the Lee metric with applications to cryptography. Adv. Math. Commun. (2020)

    Google Scholar 

  18. Interlando, C., Khathuria, K., Rohrer, N., Rosenthal, J., Weger, V.: Generalization of the ball-collision algorithm. J. Algebra Comb. Discrete Struct. Appl. 7, 195–207 (2020)

    MathSciNet  MATH  Google Scholar 

  19. Lahr, N., Niederhagen, R., Petri, R., Samardjiska, S.: Side channel information set decoding using iterative chunking. In: Moriai, S., Wang, H. (eds.) ASIACRYPT 2020. LNCS, vol. 12491, pp. 881–910. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-64837-4_29

    Chapter  Google Scholar 

  20. Lee, P.J., Brickell, E.F.: An observation on the security of McEliece’s public-key cryptosystem. In: Barstow, D., et al. (eds.) EUROCRYPT 1988. LNCS, vol. 330, pp. 275–280. Springer, Heidelberg (1988). https://doi.org/10.1007/3-540-45961-8_25

    Chapter  Google Scholar 

  21. May, A., Meurer, A., Thomae, E.: Decoding random linear codes in \(\tilde{\cal{O}}(2^{0.054n})\). In: Lee, D.H., Wang, X. (eds.) ASIACRYPT 2011. LNCS, vol. 7073, pp. 107–124. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-25385-0_6

    Chapter  MATH  Google Scholar 

  22. McEliece, R.J.: A public-key cryptosystem based on algebraic coding theory. DSN Prog. Rep. 44, 114–116 (1978)

    Google Scholar 

  23. Molter, H.G., Stöttinger, M., Shoufan, A., Strenzke, F.: A simple power analysis attack on a McEliece cryptoprocessor. J. Cryptogr. Eng. 1(1), 29–36 (2011). https://doi.org/10.1007/s13389-011-0001-3

    Article  Google Scholar 

  24. Moody, D., Perlner, R.: Vulnerabilities of “McEliece in the world of Escher’’. In: Takagi, T. (ed.) PQCrypto 2016. LNCS, vol. 9606, pp. 104–117. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-29360-8_8

    Chapter  Google Scholar 

  25. National Institute of Standards and Technology (NIST), U.S. Department of Commerce, Post-quantum cryptography standardization (2017). https://csrc.nist.gov/Projects/post-quantum-cryptography/Post-Quantum-Cryptography-Standardization

  26. Niebuhr, R., Persichetti, E., Cayrel, P.-L., Bulygin, S., Buchmann, J.: On lower bounds for information set decoding over \(\text{ F}_\text{ q }\) and on the effect of partial knowledge. Int. J. Inf. Coding Theor. 4(1), 47–78 (2017)

    MATH  Google Scholar 

  27. Paiva, T.B., Terada, R.: A timing attack on the HQC encryption scheme. In: Paterson, K.G., Stebila, D. (eds.) SAC 2019. LNCS, vol. 11959, pp. 551–573. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-38471-5_22

    Chapter  Google Scholar 

  28. Peters, C.: Information-set decoding for linear codes over \(\mathbf{F}_q\). In: Sendrier, N. (ed.) PQCrypto 2010. LNCS, vol. 6061, pp. 81–94. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-12929-2_7

    Chapter  Google Scholar 

  29. Prange, E.: The use of information sets in decoding cyclic codes. IRE Trans. Inf. Theor. 8(5), 5–9 (1962)

    Article  MathSciNet  Google Scholar 

  30. Puchinger, S., Renner, J., Rosenkilde, J.: Generic decoding in the sum-rank metric. In: IEEE International Symposium on Information Theory (ISIT), Extended Version, pp. 54–59 (2020) arxiv: https://arxiv.org/abs/2001.04812

  31. Rossi, M., Hamburg, M., Hutter, M., Marson, M.E.: A side-channel assisted cryptanalytic attack against QcBits. In: Fischer, W., Homma, N. (eds.) CHES 2017. LNCS, vol. 10529, pp. 3–23. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-66787-4_1

    Chapter  Google Scholar 

  32. Schamberger, T., Renner, J., Sigl, G., Wachter-Zeh, A.: A power side-channel attack on the CCA2-secure HQC KEM, Cryptology ePrint Archive, Report 2020/910 (2020). https://eprint.iacr.org/2020/910

  33. Shor, P.W.: Algorithms for quantum computation: discrete logarithms and factoring. In: Proceedings 35th Annual Symposium on Foundations of Computer Science, pp. 124–134 (1994)

    Google Scholar 

  34. Shoufan, A., Strenzke, F., Molter, H.G., Stöttinger, M.: A timing attack against Patterson algorithm in the McEliece PKC. In: Lee, D., Hong, S. (eds.) ICISC 2009. LNCS, vol. 5984, pp. 161–175. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-14423-3_12

    Chapter  Google Scholar 

  35. Sim, B.-Y., Kwon, J., Choi, K.Y., Cho, J., Park, A., Han, D.-G.: Novel side-channel attacks on quasi-cyclic code-based cryptography. IACR Trans. Cryptographic Hardware Embed. Syst. 2019(4) (2019)

    Google Scholar 

  36. Stern, J.: A method for finding codewords of small weight. In: Cohen, G., Wolfmann, J. (eds.) Coding Theory 1988. LNCS, vol. 388, pp. 106–113. Springer, Heidelberg (1989). https://doi.org/10.1007/BFb0019850

    Chapter  Google Scholar 

  37. Strenzke, F.: Timing attacks against the syndrome inversion in code-based cryptosystems. In: Gaborit, P. (ed.) PQCrypto 2013. LNCS, vol. 7932, pp. 217–230. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-38616-9_15

    Chapter  Google Scholar 

  38. Strenzke, F., Tews, E., Molter, H.G., Overbeck, R., Shoufan, A.: Side channels in the McEliece PKC. In: Buchmann, J., Ding, J. (eds.) PQCrypto 2008. LNCS, vol. 5299, pp. 216–229. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-88403-3_15

    Chapter  Google Scholar 

  39. von Maurich, I., Güneysu, T.: Towards side-channel resistant implementations of QC-MDPC McEliece encryption on constrained devices. In: Mosca, M. (ed.) PQCrypto 2014. LNCS, vol. 8772, pp. 266–282. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-11659-4_16

    Chapter  Google Scholar 

  40. Wafo-Tapa, G., Bettaieb, S., Bidoux, L., Gaborit, P., Marcatel, E.: A practicable timing attack against HQC and its countermeasure, Cryptology ePrint Archive, Report 2019/909 (2019). https://eprint.iacr.org/2019/909

  41. Wagner, D.: A generalized birthday problem. In: Yung, M. (ed.) CRYPTO 2002. LNCS, vol. 2442, pp. 288–304. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-45708-9_19

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Anna-Lena Horlemann .

Editor information

Editors and Affiliations

A Framework for Birthday Decoding with Known Block Error Distribution

A Framework for Birthday Decoding with Known Block Error Distribution

As an outlook for future work, we describe a general framework for generalized birthday decoders, for the case that we know the error distribution over prescribed blocks of the error vector. For this we will use the “Partial Gaussian Elimination (PGE) \(+\) Small SDP” setup. In the “Small SDP” step several versions of birthday decoding can be used, see e.g. [6, 21], however we will restrict ourselves to Wagner’s original idea from [41].

As in Sect. 4 consider an SDP instance with parity check matrix \(\boldsymbol{H}\in \mathbb F_2^{(n-k)\times n}\) and syndrome \(\boldsymbol{s}\in \mathbb F_2^{n-k}\). Assume we have a partition of \(\{1,\dots ,n\}\) into \(\mathcal {W}_1,\dots ,\mathcal {W}_\ell \) and \([t_1,\dots ,t_\ell ]\) such that \(t_i = \mathrm {wt}_\mathrm {H}(\boldsymbol{e}_{\mathcal {W}_i})\) and \(\sum _{i=1}^\ell t_i = t\).

We proceed as follows:

  1. 1.

    Partial Gaussian Elimination:

    Choose some \(v\le n-k\) and subsets \(\mathcal {X}_i \subseteq \mathcal {W}_i\) such that for \(x_i:= |\mathcal {X}_i|\) we have \(\sum _i x_i = k+v\). Find an \(n\times n\) permutation matrix \(\boldsymbol{P}\) that moves the columns of \(\boldsymbol{H}\) indexed by the \(\mathcal {X}_i\) to the leftFootnote 3, and find and invertible \(\boldsymbol{U}\in \mathbb F_2^{(n-k)\times (n-k)}\) such that

    $$ \boldsymbol{UHP} = \begin{pmatrix} \boldsymbol{A} &{} \boldsymbol{I}_{n-k-v} \\ \boldsymbol{B} &{} \boldsymbol{0} \end{pmatrix} .$$

    Denote \([\boldsymbol{s}_1 \; \boldsymbol{s}_2] := \boldsymbol{sU^\top }\) and \(\boldsymbol{e}\boldsymbol{P} := [\boldsymbol{e}_1 \; \boldsymbol{e}_2] \), then the original syndrome equation \(\boldsymbol{e}\boldsymbol{H}^\top =\boldsymbol{s}\) is equivalent to \(\boldsymbol{eP(P^\top H^\top U^\top )} =\boldsymbol{s}\boldsymbol{U}^\top \) and splits into

    $$\begin{aligned} \boldsymbol{e}_1 \boldsymbol{A}^\top + \boldsymbol{e}_2&= \boldsymbol{s}_1 \\ \boldsymbol{e}_1 \boldsymbol{B}^\top&= \boldsymbol{s}_2 . \end{aligned}$$

    Prescribe an error weight \(p\le t\) for \(\boldsymbol{e}_1\), with which the second equation is now a smaller SDP instance, with possibly more than one solution. Find these solutions as explained in the step below, and for each of those check if the first equation above gives a valid solution, i.e., if \(\mathrm {wt}_\mathrm {H}(\boldsymbol{s}_1 - \boldsymbol{e}_1 \boldsymbol{A}^\top )=t-p\). If so, then this is a solution to the original SDP.

  2. 2.

    Small SDP with Wagner:

    We choose a number b of levels for this step, and partition \(\mathcal {X}=\bigcup _{i=1}^\ell \mathcal {X}_i\) into \(2^b\) subsets of size \(v_i\), respectively, such that \(\sum _{i=1}^{2^b} v_i = \sum _{i=1}^\ell x_i = k+v\). Then we distribute the p errors over the corresponding entries of \(\boldsymbol{e}_1\), assuming that \(p_i\) errors happened in the i-th subset. Here the first open question arises, namely how to choose these sets and the error distribution. In the classical setup you can simply choose (random) subsets of the same size, and assume that each of the corresponding sets of coordinates in \(\boldsymbol{e}_1\) has weight \(\frac{p}{2^b}\). However, in our setting this is most likely a suboptimal choice, and the subsets should be chosen with respect to the block partition and the error distribution.

    In particular, if \(\ell =2^b\), then we can choose the \(2^b\) subsets equal to \(\mathcal {X}_1,\dots ,\mathcal {X}_\ell \), and assume that \(p_i \le t_i\) errors are spread over the coordinates of \(\boldsymbol{e}\) indexed by \(\mathcal {X}_i\), such that \(\sum _{i=1}^\ell p_i= p\).

    Next we build the initial lists of vectors in \(\mathbb F_2^{v_i}\) of weight \(p_i\), for \(i=1,\dots , 2^b\), respectively. Then we proceed with the merge-concatenate operation on the b levels as in the classical setting (where for each level, we can choose \(u_1<u_2<\dots <u_b=k+v\), which indicates how many coordinates we want to merge on), until we have a final list of candidates for \(\boldsymbol{e}_1\), solving the small SDP instance.

    As an example, if we consider the simplest case with \(b=1\) and \(\ell =2^b=2\), we construct two lists

    $$ \mathcal L_1^{(0)} := \{ \boldsymbol{v}\in \mathbb F_2^{x_1} \mid \mathrm {wt}_\mathrm {H}(\boldsymbol{v})= p_1\} $$
    $$ \mathcal L_2^{(0)} := \{\boldsymbol{v}\in \mathbb F_2^{x_2} \mid \mathrm {wt}_\mathrm {H}(\boldsymbol{v})= p_2\} $$

    such that \(x_1+x_2=k+v\) and \(p_1+p_2 = p\).Footnote 4 Let us write \(\boldsymbol{B} = [ \boldsymbol{B}_1 \; \boldsymbol{B}_2]\), such that \(\boldsymbol{B}_i \in \mathbb F_2^{v\times x_i}\). Then we merge-concatenate to produce the final list

    $$ \mathcal L^{(1)} := \{ (\boldsymbol{v}_1, \boldsymbol{v}_2)\in \mathcal L_1^{(0)} \times \mathcal L_2^{(0)} \mid \boldsymbol{v}_1 \boldsymbol{B}_1^\top = \boldsymbol{s}_2-\boldsymbol{v}_2\boldsymbol{B}_2^\top \} ,$$

    which consists of solutions to the small SDP, i.e., candidates for \(\boldsymbol{e}_1\).

Finally, we will give some idea about the computational complexity of this algorithm:

  1. 1.

    The success probability depends on the assumed error distribution and the choices of the free parameters. Similarly to the Lee-Brickell adaptation, it is

    $$ \sum _{\begin{array}{c} \boldsymbol{a}\in \mathbb {Z}^\ell \\ 0 \le a_i \le t_i \\ \sum _i a_i = p \end{array}} \prod _{i=1}^\ell \frac{\left( {\begin{array}{c}x_i\\ a_i\end{array}}\right) \left( {\begin{array}{c}\eta _i - x_i\\ t_i - a_i\end{array}}\right) }{\left( {\begin{array}{c}\eta _i\\ t_i\end{array}}\right) } \cdot P_\text {merge}(u_1,\dots ,u_{b-1}),$$

    where \(P_\text {merge}(u_1,\dots ,u_{b-1})\) is the probability that the sought-after solution has zeros in the coordinates prescribed by \(u_1,\dots ,u_{b-1}\).Footnote 5

  2. 2.

    Each iteration depends on the number of levels, the \(u_i\) and the size of the original lists, and is comparable to the cost of one iteration of the algorithm in the classical setting (assuming that the initial lists are of the same size).

The speed-up compared to not using the knowledge about the error distribution in the blocks of the error vector is hence mainly in the success probability. This is analogous to the algorithms studied in Sect. 4.

Rights and permissions

Reprints and permissions

Copyright information

© 2022 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Horlemann, AL., Puchinger, S., Renner, J., Schamberger, T., Wachter-Zeh, A. (2022). Information-Set Decoding with Hints. In: Wachter-Zeh, A., Bartz, H., Liva, G. (eds) Code-Based Cryptography. CBCrypto 2021. Lecture Notes in Computer Science, vol 13150. Springer, Cham. https://doi.org/10.1007/978-3-030-98365-9_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-98365-9_4

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-98364-2

  • Online ISBN: 978-3-030-98365-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics