2. Eliminate some variables, and try 1. again.
ElimLin is a software cryptanalytic attack which
allows one to recover the secret key of many block ci-
phers (Courtois, 2007b; Courtois and Debraize, 2008)
and more recently in (N. Courtois and Susil, 2014;
Raddum, 2015; P. Susil, 2016).
The main characteristic of ElimLin is that it qui-
etly dissolves and makes disappear non-linear equa-
tions and generates linear equations. This algorithm
basically makes progressively disappear the main and
only thing which makes cryptographic schemes not
broken by simple linear algebra: non-linearity. It is
not clear however why this works and how well the
ElimLin attack scales for larger systems of equations.
2 ElimLin ON LIGHTWEIGHT
CIPHERS
A major difficulty with ElimLin is that so far it has
been successful only for relatively simple lightweight
ciphers. For more complex ciphers it seems to do
things which are relatively trivial, e.g. equations gen-
erated do NOT penetrate deeply inside the cipher, or
very slowly, cf. slide 153 in (Courtois, 2016a).
We are going right now to make some definite
progress in the direction of distinguishing between
trivial and non-trivial behavior for ElimLin. This is
NOT only about penetrating deeper inside the cipher.
Previous experience shows that ElimLin only starts
to work at a certain threshold. Before this threshold,
again nothing non-trivial can be observed even though
slow penetration occurs. This is not really apparent in
any of the current works or is lost in vast quantities
of data generated in computer simulations. It will be
more clearly visible in this paper. In this paper we
define a new criterion which shows that it is possible
to see that there exist two very different and easily
distinguishable patterns in ElimLin. Either the attack
follows one pattern, and does nothing trivial, or it fol-
lows another pattern and it is very clearly doing well.
2.1 Phase Transitions
It is known that many NP-hard problems are subject to
“phase transition”, with certain parameters that prob-
lem is hard, and then will rather abruptly transition
from “hard” to “easy to solve”. This what we ob-
serve with ElimLin. Let K be the number of Plain-
text/Ciphertext (P/C) pairs used in an ElimLin attack.
In this paper we are going to discover that at a cer-
tain threshold the number of NEW linear and linearly
independent equations generated at various stages of
the attack can follow one curve, and then switch to
another curve with a different asymptotic growth rate.
Conjecture 2.1 Consider a system of multivari-
ate equations derived from a block cipher written fol-
lowing one of the two basic strategies described in
(N. Courtois, 2007; Courtois, 2016a). Consider a sim-
ple known plaintext attack with K Plaintext/ciphertext
(P/C) pairs. Consider a case such that the cipher is
eventually broken by ElimLin, cf. (Courtois, 2007b;
Courtois, 2007a; Courtois and Debraize, 2008; Cour-
tois, 2016c; Raddum, 2015). The number of new
and linearly independent linear equations generated
by ElimLin algorithm goes through several distinct
stages St0-St3:
St0 Initially it grows linearly with K, and for certain
individual stages of the attack is simply equal to
0 and does NOT grow, cf. our later r
i
notation in
Section 3.
St1 Then it switches to another curve where it grows
faster than linearly in K.
St2 This until it reaches a saturation stage where the
cipher is completely broken by ElimLin. Here
we have a very rapid phase transition cf. Sec-
tion refBigPictureUpAndDown where the num-
ber of equations r
i
generated at one stage re-
becomes 0 simply because an earlier stage of the
attack reaches a certain threshold where combina-
torial explosion in additional equations generated
makes it complete the whole attack and not requite
the next stage to be executed].
One (old) example from 2007 which shows that the
number of equations grows faster than linear as a
function of the data complexity K in ElimLin can be
found at slide 153 in (Courtois, 2016a) and which
originally comes from (Courtois and Debraize, 2008).
3 OUR EXPERIMENTAL SETUP
AND NOTATION
More examples can be easily obtained using a ba-
sic software setup which we use at UCL to run a
hands-on student lab session on algebraic cryptanal-
ysis of block ciphers (Courtois, 2016c), which is part
of GA18 course on cryptanalysis taught at UCL. One
example could be easily obtained for the CTC2 ci-
pher, cf. (Courtois, 2007b; Courtois, 2007a; Courtois,
2016c). A more “modern” example can be generated
by using the equations generator for Simon block ci-
pher developed by Guangyan Song and UCL student
Ilyas Azeem in 2015-6, the complete source code of
which is available at github, cf. (Courtois, 2016c;
SECRYPT 2016 - International Conference on Security and Cryptography
466