Applying MILP Method To Searching Integral Distinguishers Based On Division Property For 6 Lightweight Block Ciphers
Applying MILP Method To Searching Integral Distinguishers Based On Division Property For 6 Lightweight Block Ciphers
1 Introduction
Programming problem is a mathematical optimization which aims to achieve the
minimal or maximal value of an objective function under certain constraints, and
c International Association for Cryptologic Research 2016
J.H. Cheon and T. Takagi (Eds.): ASIACRYPT 2016, Part I, LNCS 10031, pp. 648–678, 2016.
DOI: 10.1007/978-3-662-53887-6 24
Applying MILP Method to Searching Integral Distinguishers 649
1
Since the round key is Xored into the state after the round function, we can easily
extend one more round before the distinguisher by using the technique proposed
in [20].
650 Z. Xiang et al.
Very recently, Todo et al. [19] introduced bit-based division property at FSE
2016 which treats each bit independently in order to find better integral distin-
guishers. They applied this technique to SIMON32, and as a result a 14-round
integral distinguisher for SIMON32 was found. However, as pointed out in [19],
searching integral distinguisher by bit-based division property required much
more time and memory. For a block cipher with block size n, the time and mem-
ory complexity is upper bounded by 2n . Thus, bit-based division property can
only apply to block ciphers with block size at most 32. For block ciphers with
a much larger block size, searching integral distinguisher by bit-based division
property under Todo et al.’s framework would be computationally infeasible.
Thus, Xiang et al. [24] proposed a state partition to get a tradeoff between
the time-memory complexity and the accuracy of the integral distinguisher, and
they improved distinguishers of SIMON48 and SIMON64 by one round for both
variants.
96 and 128, our results are 2, 1, 1 and 1 more rounds than the previous
results in [27]. SIMECK [25] is a family of lightweight block ciphers whose
round function is very similar to SIMON except the rotation constants. We
applied our search technique to SIMECK and we found 15-, 18- and 21-round
distinguishers for SIMECK32, 48 and 64 respectively.
2. PRESENT [5] and RECTANGLE [28] are two SP-network lightweight block
ciphers whose linear layers are bit permutations. Unlike SIMON, these two
ciphers are Sbox-based block ciphers. In [17,18], Sbox is treated as a whole,
that is for an n-bit Sbox the input value to the Sbox is viewed as a value
of Fn2 . In this paper we study bit-based division property propagation of
Sbox, and we present an algorithm to compute division trails of Sbox. We
observed that, considering bit-based division property could preserve more
integral property along with division property propagation through Sbox. By
converting division trails of Sbox layer into a set of linear inequalities we
construct MILP models for PRESENT and RECTANGLE, as a result, we
found 9-round distinguishers for both ciphers which are two more rounds
than the best integral distinguishers in the literature.
3. TWINE [16] and LBlock [23] are two generalized Feistel structure block
ciphers. By modeling Sbox, Copy and Xor with linear inequalities, we apply
our technique to these two ciphers and we found 16-round distinguishers which
are in accordance with the results in [26].
Our results are listed in Table 1. All the ciphers explored above except
SIMON32 have a block size larger than 32, and searching integral distinguish-
ers by bit-based division property under Todo’s framework is computationally
infeasible for those ciphers. Note that all our experiments are conducted on a
desktop and the consuming time varies from seconds to minutes which is very
efficient, the details are listed in Table 1. Moreover, by converting the search
algorithm into MILP problems, we can find better integral distinguishers for
SIMON48/64/96/128, SIMECK48/64, PRESENT and RECTANGLE.
The rest of the paper is organized as follows: In Sect. 2 we introduce some
basic background which will be used later. Section 3 studies how to model some
basic operations and components used in block cipher, and to construct a lin-
ear inequality system to accurately describe the division property propagations.
Section 4 studies the stopping rule and a search algorithm will be presented in
this section. Section 5 shows some applications of the technique, and we conclude
in Sect. 6.
2 Preliminaries
2.1 Notations
Let F2 denote the finite field with only two elements and Fn2 denote the n-bit
string over F2 . Let Z and Zn denote the integer ring and the set of all vectors
whose coordinates are integers respectively. For any a ∈ Fn2 , let a[i] denote the
n−1
i-th bit of a, and the Hamming weight of a is calculated as i=0 a[i]. For any
652 Z. Xiang et al.
n
a = (a0 , · · · , am−1 ) ∈ Fn2 0 × · · · × F2 m−1 , the vectorial Hamming weight of a is
defined as W (a) = (w(a0 ), · · · , w(am−1 )) where w(ai ) is the Hamming weight
of ai . Let k = (k0 , k1 , · · · , km−1 ) and k∗ = (k0∗ , k1∗ , · · · , km−1
∗
) be two vectors in
∗ ∗
Z . Define k k if ki ≥ ki holds for all i = 0, 1, · · · , m − 1. Otherwise we
m
write k k∗ .
Bit Product Function πu (x) and πu (x): For any u ∈ Fn2 , let πu (x) be a
function from Fn2 to F2 . For any x ∈ Fn2 , define πu (x) as follows:
n−1
πu (x) = x[i]u[i]
i=0
n
Let πu (x) be a function from (Fn2 0 ×Fn2 1 ×· · ·×F2 m−1 ) to F2 for all u ∈ (Fn2 0 ×
n
F2 ×, · · · , ×F2 m−1 ). For any u = (u0 , u1 , · · · , um−1 ), x = (x0 , x1 , · · · , xm−1 ) ∈
n1
n
(Fn2 0 × Fn2 1 ×, · · · , ×F2 m−1 ), define πu (x) as follows:
m−1
πu (x) = πui (xi )
i=0
the r-round division property propagation. Thus, the set of the last vectors of all
r-round division trails which start with k is equal to Kr .
656 Z. Xiang et al.
Generally, given an initial division property Dkn,m , and if one would like to
check whether there exists useful integral property after r-round encryption, we
n,m
have to propagate the initial division property for r rounds to get DK r
and
check all the vectors in Kr . According to Proposition 5, it is equivalent to find
all r-round division trails which start with k, and check the last vectors in the
division trails to judge if any exploitable distinguisher can be extracted. Based
on this observation, in the following we focus on how to accurately describe all
division trails.
A linear inequality system will be adopted to describe division property prop-
agations, that is we will construct a linear inequality system such that the feasible
solutions represent all division trails. Since division property propagation is a
deterministic procedure, the constructed linear inequality system must satisfy:
– For each division trail, it must satisfy all linear inequalities in the linear
inequality system. That is each division trail corresponds to a feasible solution
of the linear inequality system.
– Each feasible solution of the linear inequality system corresponds to a division
trail. That is all feasible solutions of the linear inequality system do not
contain any impossible division trail.
In this subsection, we show how to model bit-wise Copy, And and Xor operations
by linear inequalities.
Modeling Copy. Copy operation is the basic operation used in Feistel block
cipher. The left half of the input is copied into two equal parts, one of which
is fed to the round function. Since we consider bit-based division property, the
division property propagation of each bit is independent of each other. Thus, we
consider only a single bit.
Let X be an input multiset whose elements take a value of F2 . The copy
function creates y = (y0 , y1 ) from x ∈ X where y0 = x and y1 = x. Assuming the
input multiset has division property Dk1 , then the corresponding output multiset
has division property D(0,k),···
1
,(k,0) from Proposition 1. Since we consider bit-
based division property, the input multiset division property Dk1 must satisfy
k ≤ 1. If k = 0, the output multiset has division property D(0,0) 1
, otherwise if
copy
k = 1, the output multiset has division property D(0,1),(1,0)
1
. Thus, (0) −→ (0, 0)
copy
is the only division trail given the initial division property D01 , and (1) −→ (0, 1),
copy
(1) −→ (1, 0) are the two division trails given the initial division property D11 .
Applying MILP Method to Searching Integral Distinguishers 657
It is easy to check that all feasible solutions of the inequalities in (2) cor-
responding to (a0 , a1 , b) are (0, 0, 0), (0, 1, 1), (1, 0, 1) and (1, 1, 1), which are
exactly the four division trails of And function described above.
Modeling Xor. Bit-wise Xor is another basic operation used in block ciphers.
Similarly, a linear inequality system can be constructed to describe the division
property propagation through Xor function.
Let X denote an input multiset whose elements take a value of F2 × F2 . The
Xor function creates y = x0 ⊕ x1 from x = (x0 , x1 ) ∈ X. Assuming the input
multiset X has division property Dk1,2 where k = (k0 , k1 ), thus, the corresponding
output multiset Y has division property Dk10 +k1 . Since we consider bit-based
2
In this paper we do not make a distinction between equality and inequality, since
the MILP problem use both equalities and inequalities as constraints.
658 Z. Xiang et al.
We can check that all the feasible solutions of inequality (3) corresponding to
(a0 , a1 , b) are (0, 0, 0), (0, 1, 1) and (1, 0, 1), which are exactly the division trails
described above.
where d is the algebraic degree of the Sbox. At last, for any value y ∗ =
y0 ||y1 || · · · ||yn−1 in Y∗ , a Split function creates y = (y0 , y1 , · · · , yn−1 ) from y ∗ .
Apparently, the output multiset of Split function equals to Y. According to Rule
i
4 in [17], the division property of Y is Dk1,n 0 ,k1 ,··· where k = (k0i , k1i , · · · , kn−1
i
)
k0 +k1 +···+kn−1
(i ≥ 0) denote all solutions of x0 + x1 + · · · , xn−1 = d .
Applying MILP Method to Searching Integral Distinguishers 659
Thus,
π(0,0,0,1) ((y3 , y2 , y1 , y0 )) = y0
and
π(0,0,0,1) ((y3 , y2 , y1 , y0 ))
x∈X
= y0
x∈X
= (x0 ⊕ x2 ⊕ x3 ⊕ x1 x2 )
x∈X
division trails starting from the given initial division property. Thus, we have
to model the initial division property into the linear inequality system. Denote
(a0n−1 , · · · , a00 ) → · · · → (arn−1 , · · · , ar0 ) an r-round division trail, L is thus a
linear inequality system defined on variables aji (i = 0, · · · , n − 1. j = 0, · · · , r)
and some auxiliary variables. Let Dk1,n denote the initial input division property
with k = (kn−1 , · · · , k0 ), we need to add a0i = ki (i = 0, · · · n − 1) into L, and
thus all feasible solutions of L are division trails which start from vector k.
Denote L a linear inequality description of all r-round division trails with the
given initial input division property Dk1,n . Let the sum of the coordinates of
the last vector in the division trail be the objective function Obj as in Eq. (5).
Denote M (L, Obj) the MILP problem composed of L and Obj. Algorithm 3 will
return whether r-round integral distinguisher exists.
Our MILP problems are solved by the openly available MILP optimizer
Gurobi [1], Algorithm 3 is presented with some Gurobi syntax. We denote the
set of last vectors of all division trails by Kr .
ari in this case. var.getAttr( x ) retrieves the value of var under the current
solution. Line 12 removes var from S, since we have found e ∈ Kr whose
nonzero position is var which means var can’t be a balanced bit position.
M.addConstr(var = 0) adds a new constraints var = 0 into M , and this is
used to rule out e from Kr . Line 14 updates the model since we have added
a new constraint.
Line 19 This step returns S, the execution of this step means the objective
value of M is larger than one, that is we can no longer find a division trail
with the last vector being a unit vector. In this case, we have found all unit
vectors in Kr which represent undetermined bit positions, and thus we have
ruled out all unbalanced bits and get an integral distinguisher.
Line 22 M do not have any feasible solutions means we have ruled out all units
vectors of Kr and made Kr an empty set along with the execution. In this
case, we can return S as output since we have checked all vectors.
Line 25 If the for loop do not make the procedure exit, return S as output.
Usually, in this case S is an empty set which means no distinguisher found.
Applying MILP Method to Searching Integral Distinguishers 665
In this section, we show some applications of our technique. All the source
codes are avaiable at https://github.com/xiangzejun/MILP Division Property.
We applied our algorithm to SIMON, SIMECK, PRESENT, RECTANGLE,
LBlock and TWINE block ciphers. The results are listed in Table 1. The Round
(Previous) column and Round (Sect. 5) column list the number of rounds of the
distinguishers of previous and our results. The Data column represents the num-
ber of active bits of the input pattern of the integral distinguisher, the data com-
plexity of the distinguisher is determined by the initial input division property.
Balanced bits column represents the number of balanced bits of the distinguisher
we found. Time presents the time used by Algorithm 3 for searching the corre-
sponding distinguishers, among which s is short for second and m is short for
minute. All the experiments are conducted on the following platform: Intel Core
i7-2600 CPU @3.40 GHz, 8.00G RAM, 64-bit Windows 7 system. Moreover, the
distinguishes listed in Table 1 are presented in Appendix E. The table shows
that we get improved distinguishers for SIMON48/64/96/128, SIMECK48/64,
PRESENT and RECTANGLE. For SIMECK32, LBlock and TWINE our results
are consistent with the previous best results. The result of SIMON32 is one round
less than the result in [19]. However, we only use bit-based division property here,
the 15-round distinguisher found in [19] for SIMON32 used bit-based division
property using three subset. If bit-based division property is the only technique
adopted, 14-round distinguisher is the longest distinguisher we can find.
SIMON [3] is a family of lightweight block ciphers published by the U.S. National
Security Agency (NSA) in 2013. SIMON adopts Fesitel structure and it has a
very compact round function which only involves bit-wise And, Xor and circular
shift operations. The structure of one round SIMON encryption is depicted in
Fig. 1 where S i denotes left circular shift by i bits.
1-round Description of SIMON: Denote one round division trail of
SIMON2n by (ai0 , · · · , ain−1 , bi0 , · · · , bin−1 ) → (ai+1 0 , · · · , an−1 , b0 , · · · , bn−1 ).
i+1 i+1 i+1
(ui0 , · · · , uin−1 ) the input division property of S 1 . Similarly, denote (v0i , · · · , vn−1
i
)
and (w0i , · · · , wn−1 i
) the input division property of S 8 and S 2 respectively. Let
(ti0 , · · · , tin−1 ) denote the output division property of bit-wise And operation.
Subsection 3.1 has modeled Copy, And and Xor functions. According to Eq. (1),
the following inequalities are sufficient to model the Copy operation used in
SIMON2n:
At last, the Xor operations in SIMON2n can be modeled by the following inequal-
ities according to Eq. (3):
L3 : ai+1
j − bij − tij − wj+2
i
= 0 for j ∈ {0, 1, · · · , n − 1}
So far, we have modeled all operations used in SIMON, and get an accurate
description {L1 , L2 , L3 } of 1-round division trails. By repeating this procedure
r times, we can get a linear inequality system L for r-round division prop-
erty propagation. Given some initial division property, we can add the corre-
sponding constrains into L and estimate whether a useful distinguisher exists by
Algorithm 3. The results for SIMON family are listed in Table 1.
Applying MILP Method to Searching Integral Distinguishers 667
PRESENT [5] and RECTANGLE [28] are two SP-network block ciphers, of
which the linear layers are bit permutations. Figure 2 illustrates one round
encryption of PRESENT.
1-round Description of PRESENT: Denote one round division trail of
PRES-ENT by (ai63 , · · · , ai0 ) → (ai+1
63 , · · · , a0 ). We first model the division
i+1
668 Z. Xiang et al.
property propagation of Sbox layer. Denote the division property of the output
of Sbox by (bi63 , · · · , bi0 ). Subsection 3.2 has studied how to calculate the division
trails of Sbox and model those trails by linear inequalities. Appendix C shows
the 11 inequalities of PRESENT Sbox. For each of the 16 Sboxes of PRESENT,
we introduce 11 inequalities and thus the Sbox layer of PRESENT can be mod-
eled by 11 × 16 = 176 inequalities which is denoted by L1 . The linear layer of
PRESENT is a bit permutation, thus, the division property propagation through
linear layer is just a permutation of the coordinates of the vector, that is
i+1
a16j mod 63 = bij j ∈ {0, 1, · · · , 62}
L2 :
ai+1
j = bij j = 63
Note that L1 is a linear inequality system defined on variables (ai63 , · · · , ai0 ) and
(bi63 , · · · , bi0 ), we can use the equalities in L2 to replace the variables (bi63 , · · · , bi0 )
in L1 in order to save auxiliary variables.
Now we have get a linear inequality system to describe one round divi-
sion propagation of PRESENT. By repeating this procedure, an r-round linear
inequality system can be constructed. For a given initial division property Dk1,64 ,
we add this information into the linear inequality system and use Algorithm 3
to estimate whether there exists an integral distinguisher.
The result for PRESENT is listed in Table 1. We found a 9-round integral
distinguisher for PRESENT which is two more rounds than the previous best
results in [22].
The modeling procedure of RECTANGLE is very like to PRESENT, we
only list the result here in Table 1. The previous longest integral distinguisher of
RECTANGLE is found by the designers, and they gave a 7-round distinguisher.
In this paper we find a 9-round distinguisher which is two more rounds.
number of division trails and linear inequalities required to describe those divi-
sion trails of LBlock and TWINE Sboxes are presented in Table 3. The {D.C}
column represents the number of division trails of the corresponding Sbox, and
the {Ine} column represents the number of linear inequalities we found to accu-
rately describe the division trails. Note that we chose the first inequality in the
sixth line of Algorithm 1, however, other choice rather than the first one may
result in different set of inequlities.
Our experimental results regarding LBlock and TWINE are listed in Table 1.
The distinguishers found in this paper are the same as the distinguishers found
for these two ciphers in [26].
Experiments. To illustrate the validity of the technique proposed in this paper, we
presented some integral distinguishers found by our technique with a small num-
ber of active bits, and we run experiments on these distinguishers. The exper-
iments are presented at Appendix D. Our experiments showed that the distin-
guishers found by our technique are sound. Moreover, the results on PRESENT
and RECTANGLE illustrate that our technique can find quite accurate distin-
guishers, that is the balanced bits found by Algorithm 3 are exactly in accordance
with experimental results. For PRESENT cipher, we retrieved and improved the
5-round distinguisher found in [22], our technique found all the four balanced
bits of the outputs of the fifth round given the same input pattern as in [22],
while Wu et al. could only prove the balancedness of only one bit.
trail and used this new notion to characterize the division property propagation,
then we showed that it is sufficient to check the last vectors of all r-round division
trails in order to estimate whether an r-round distinguisher exists.
Based on the observations on division trails, we proposed to construct a
linear inequality system to characterize the division property propagations. We
first studied how to model division property propagations of Copy, And and
Xor operations by linear inequalities. For another basic component Sbox used
in block ciphers, we studied the bit-based division property propagations for
the first time, and we proposed an algorithm to compute the division trails
of an Sbox. Moreover, we used those division trails to derive a set of linear
inequalities whose feasible solutions are exactly all division trails. Thus, for a
block cipher we can construct a linear inequality system whose solutions are all
r-round division trails of the cipher, and we used this linear inequality system
as constraints of the MILP problem. Then, the stopping rule in the search of
integral distinguisher were studied and we converted it into an objective function
of an MILP problem. To be specific, we set the sum of the coordinates of the
last vector in an r-round division trail as objective function. Thus, we can get a
complete MILP problem, based on which we presented an algorithm to estimate
whether an r-round integral distinguisher exists by checking how many unit
vectors are contained in the last vectors of all division trails.
We applied our technique to SIMON, SIMECK, PRESENT, RECTANGLE,
LBlock and TWINE. For SIMON48/64/96/128, SIMECK48/64, PRESENT and
RECTANGLE, we get much longer distinguishers than previous results based
on division property in the open literature. Moreover, our results on PRESENT
and RECTANGLE show that we can get better integral distinguishers by using
the algebraic normal form of the Sboxes. Our results show that, by using our
technique, we can search integral distinguishers based on bit-based division prop-
erty in practical time for block ciphers with block size larger than 32, which is
impractical under the traditional framework.
In [19], Todo et al. also introduced bit-based division property using three
subsets, and they found 15-round distinguisher for SIMON32. However, we have
not found a way to model this framework by an MILP problem at present. A
surprising result is, by using our technique we also derived the 15-round dis-
tinguisher of SIMECK32 which are constructed by bit-based division property
using three subsets [19]. We also used our technique on some Sbox-based block
ciphers such as PRESENT and RECTANGLE, note that their linear layers are
all bit permutations. However, this technique can be easily extended to arbitrary
linear layers as pointed out by the reviewers, since any linear layer can be viewed
as bit-level linear layer which can be treated as bit-wise copy and Xor.
A An Example
Let’s consider a simple example in this section. Suppose that A =
{(0, 1), (1, 0), (1, 1)} is a subset of {0, 1}2 with three points, and we would like
to get a linear inequality system L such that all feasible solutions of L restricted
in {0, 1}2 are A.
We proceed by using inequality generator() function in the Sage software to
compute the H-Representation of Conv(A). The following is the source code.
Points = [ [ 0 , 1 ] , [ 1 , 0 ] , [ 1 , 1 ] ]
t r i a n g l e = Polyhedron ( v e r t i c e s = P o i n t s )
f o r l in t r i a n g l e . i n e q u a l i t y g e n e r a t o r ( ) :
print l
As a result, Sage returns three inequalities:
⎧
⎪
⎨x + y − 1 ≥ 0
L = −y + 1 ≥ 0 (6)
⎪
⎩
−x + 1 ≥ 0
It is easy to check that the feasible solutions of L form a triangle with A being
its three vertices, and the set of all feasible solutions of L restricted in {0, 1}2 is
exactly A. Thus, Eq. 6 is a description of A.
However, we can use Algorithm 1 to reduce the number of inequalities
required. We apply Algorithm 1 to this example and we find that only one
inequality is sufficient to accurately describe A:
L∗ = {x + y − 1 ≥ 0} (7)
It is easy to check that all solutions of L∗ restricted in {0, 1}2 are (0, 1) ,(1, 0)
and (1, 1) as expected.
TWINE the distinguisher found in this paper are in accordance with the dis-
tinguishers presented in [26]. Thus, we believe that the distinguishers found for
SIMON, SIMECK, Lblock and TWINE are sound. In the following we only
conduct some experiments on PRESENT and RECTANGLE.
PRESENT : We found the following 5-round distinguisher for PRESENT. If we
fix the left most 60 bits as random constant and vary the right most 4 bits, then
after five round encryption, the four right most bits of the state are balanced.
Input:(ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccaaaa)
Output:(????????????????????????????????????????????????????????????bbbb)
c: constant bit, a: active bit, ?: unknown bit, b: balanced bit
ccccccccccaaaaaa bbbbbb??????????
For SIMON and SIMECK family block ciphers, all distinguisher can be extended
one more round by the technique in [20].
Input:(caaaaaaaaaaaaaaa,aaaaaaaaaaaaaaaa)
Output:(????????????????,bbbbbbbbbbbbbbbb)
Applying MILP Method to Searching Integral Distinguishers 675
Input:(caaaaaaaaaaaaaaaaaaaaaaa,aaaaaaaaaaaaaaaaaaaaaaaa)
Output:(????????????????????????,bbbbbbbbbbbbbbbbbbbbbbbb)
Input:(caaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa)
Output:(????????????????????????????????,bbbbbbbbbbb?????b?????bbbbbbbbbb)
Input:(caaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa)
Output:(????????????????????????????????????????????????,
b?b????b?????????????????????????????????b????b?)
Input:(caaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa)
Output:(????????????????????????????????????????????????????????????????,
b?b???????????????????????????????????????????????????????????b?)
Input:(caaaaaaaaaaaaaaa,aaaaaaaaaaaaaaaa)
Output:(????????????????,bb???bb???bb???b)
Input:(caaaaaaaaaaaaaaaaaaaaaaa,aaaaaaaaaaaaaaaaaaaaaaaa)
Output:(????????????????????????,b???bb?????????????bb???)
Input:(caaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa)
Output:(????????????????????????????????,bb???b?????????????????????b???b)
676 Z. Xiang et al.
Input:(aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacccc)
Output:(???????????????????????????????????????????????????????????????b)
⎛ ⎞ ⎛ ⎞
caaaaaaaaaaaaaaa bbb?b?bbbbbbbbbb
⎜ caaaaaaaaaaaaaaa ⎟ ⎜ ?????????????b?b ⎟
Input : ⎜ ⎟ ⎜ ⎟
⎝ caaaaaaaaaaaaaaa ⎠ −→ Output : ⎝ ???????????????? ⎠
caaaaaaaaaaaaaaa ????????????????
Input:(caaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa)
Output:(????????????????????????????????,bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb)
Input:(caaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa)
Output:(????bbbb????bbbb????bbbb????bbbb,????bbbb????bbbb????bbbb????bbbb)
References
1. http://www.gurobi.com/
2. http://www.sagemath.org/
3. Beaulieu, R., Shors, D., Smith, J., Treatman-Clark, S., Weeks, B., Wingers, L.:
The SIMON and SPECK families of lightweight block ciphers. IACR Cryptology
ePrint Archive 2013, 404 (2013)
4. Biryukov, A., Shamir, A.: Structural cryptanalysis of SASAS. In: Pfitzmann, B.
(ed.) EUROCRYPT 2001. LNCS, vol. 2045, pp. 395–405. Springer, Heidelberg
(2001). doi:10.1007/3-540-44987-6 24
5. Bogdanov, A., Knudsen, L.R., Leander, G., Paar, C., Poschmann, A., Robshaw,
M.J.B., Seurin, Y., Vikkelsoe, C.: PRESENT: an ultra-lightweight block cipher.
In: Paillier, P., Verbauwhede, I. (eds.) CHES 2007. LNCS, vol. 4727, pp. 450–466.
Springer, Heidelberg (2007). doi:10.1007/978-3-540-74735-2 31
6. Boura, C., Canteaut, A.: Another view of the division property. In: Robshaw, M.,
Katz, J. (eds.) CRYPTO 2016. LNCS, vol. 9814, pp. 654–682. Springer, Heidelberg
(2016). doi:10.1007/978-3-662-53018-4 24
7. Daemen, J., Knudsen, L., Rijmen, V.: The block cipher Square. In: Biham, E. (ed.)
FSE 1997. LNCS, vol. 1267, pp. 149–165. Springer, Heidelberg (1997). doi:10.1007/
BFb0052343
8. Knudsen, L., Wagner, D.: Integral cryptanalysis. In: Daemen, J., Rijmen, V. (eds.)
FSE 2002. LNCS, vol. 2365, pp. 112–127. Springer, Heidelberg (2002). doi:10.1007/
3-540-45661-9 9
Applying MILP Method to Searching Integral Distinguishers 677
9. Kölbl, S., Leander, G., Tiessen, T.: Observations on the SIMON block cipher fam-
ily. In: Gennaro, R., Robshaw, M. (eds.) CRYPTO 2015. LNCS, vol. 9215, pp.
161–185. Springer, Heidelberg (2015). doi:10.1007/978-3-662-47989-6 8
10. Lucks, S.: The saturation attack — a bait for twofish. In: Matsui, M. (ed.)
FSE 2001. LNCS, vol. 2355, pp. 1–15. Springer, Heidelberg (2002). doi:10.1007/
3-540-45473-X 1
11. Mouha, N., Wang, Q., Gu, D., Preneel, B.: Differential and linear cryptanalysis
using mixed-integer linear programming. In: Wu, C.-K., Yung, M., Lin, D. (eds.)
Inscrypt 2011. LNCS, vol. 7537, pp. 57–76. Springer, Heidelberg (2012). doi:10.
1007/978-3-642-34704-7 5
12. Sun, B., Hai, X., Zhang, W., Cheng, L., Yang, Z.: New observation on division
property. Science China Information Science (2016). http://eprint.iacr.org/2015/
459
13. Sun, S., Hu, L., Song, L., Xie, Y., Wang, P.: Automatic security evaluation of
block ciphers with S-bP structures against related-key differential attacks. In: Lin,
D., Xu, S., Yung, M. (eds.) Inscrypt 2013. LNCS, vol. 8567, pp. 39–51. Springer,
Heidelberg (2014). doi:10.1007/978-3-319-12087-4 3
14. Sun, S., Hu, L., Wang, M., Wang, P., Qiao, K., Ma, X., Shi, D., Song, L., Fu,
K.: Towards finding the best characteristics of some bit-oriented block ciphers
and automatic enumeration of (related-key) differential and linear characteristics
with predefined properties. Technical report, Cryptology ePrint Archive, Report
2014/747 (2014)
15. Sun, S., Hu, L., Wang, P., Qiao, K., Ma, X., Song, L.: Automatic security evalu-
ation and (Related-key) differential characteristic search: application to SIMON,
PRESENT, LBlock, DES(L) and other bit-oriented block ciphers. In: Sarkar, P.,
Iwata, T. (eds.) ASIACRYPT 2014. LNCS, vol. 8873, pp. 158–178. Springer, Hei-
delberg (2014). doi:10.1007/978-3-662-45611-8 9
16. Suzaki, T., Minematsu, K., Morioka, S., Kobayashi, E.: TWINE : a lightweight
block cipher for multiple platforms. In: Knudsen, L.R., Wu, H. (eds.) SAC
2012. LNCS, vol. 7707, pp. 339–354. Springer, Heidelberg (2013). doi:10.1007/
978-3-642-35999-6 22
17. Todo, Y.: Integral cryptanalysis on full MISTY1. In: Gennaro, R., Robshaw, M.
(eds.) CRYPTO 2015. LNCS, vol. 9215, pp. 413–432. Springer, Heidelberg (2015).
doi:10.1007/978-3-662-47989-6 20
18. Todo, Y.: Structural evaluation by generalized integral property. In: Oswald, E.,
Fischlin, M. (eds.) EUROCRYPT 2015. LNCS, vol. 9056, pp. 287–314. Springer,
Heidelberg (2015). doi:10.1007/978-3-662-46800-5 12
19. Todo, Y., Morii, M.: Bit-based division property and application to SIMON family.
Cryptology ePrint Archive, Report 2016/285 (2016). http://eprint.iacr.org/
20. Wang, Q., Liu, Z., Varıcı, K., Sasaki, Y., Rijmen, V., Todo, Y.: Cryptanalysis of
reduced-round SIMON32 and SIMON48. In: Meier, W., Mukhopadhyay, D. (eds.)
INDOCRYPT 2014. LNCS, vol. 8885, pp. 143–160. Springer, Heidelberg (2014).
doi:10.1007/978-3-319-13039-2 9
21. Wu, S., Wang, M.: Security evaluation against differential cryptanalysis for block
cipher structures. IACR Cryptology ePrint Archive 2011, 551 (2011)
22. Wu, S., Wang, M.: Integral attacks on reduced-round PRESENT. In: Qing, S.,
Zhou, J., Liu, D. (eds.) ICICS 2013. LNCS, vol. 8233, pp. 331–345. Springer,
Heidelberg (2013). doi:10.1007/978-3-319-02726-5 24
23. Wu, W., Zhang, L.: LBlock: a lightweight block cipher. In: Lopez, J., Tsudik, G.
(eds.) ACNS 2011. LNCS, vol. 6715, pp. 327–344. Springer, Heidelberg (2011).
doi:10.1007/978-3-642-21554-4 19
678 Z. Xiang et al.
24. Xiang, Z., Zhang, W., Lin, D.: On the division property of SIMON48 and
SIMON64. International Workshop on Security (2016)
25. Yang, G., Zhu, B., Suder, V., Aagaard, M.D., Gong, G.: The Simeck fam-
ily of lightweight block ciphers. In: Güneysu, T., Handschuh, H. (eds.) CHES
2015. LNCS, vol. 9293, pp. 307–329. Springer, Heidelberg (2015). doi:10.1007/
978-3-662-48324-4 16
26. Zhang, H., Wu, W.: Structural evaluation for generalized feistel structures
and applications to LBlock and TWINE. In: Biryukov, A., Goyal, V. (eds.)
INDOCRYPT 2015. LNCS, vol. 9462, pp. 218–237. Springer, Heidelberg (2015).
doi:10.1007/978-3-319-26617-6 12
27. Zhang, H., Wu, W., Wang, Y.: Integral attack against bit-oriented block ciphers.
In: Kwon, S., Yun, A. (eds.) ICISC 2015. LNCS, vol. 9558, pp. 102–118. Springer,
Heidelberg (2016). doi:10.1007/978-3-319-30840-1 7
28. Zhang, W., Bao, Z., Lin, D., Rijmen, V., Yang, B., Verbauwhede, I.: Rectangle:
a bit-slice lightweight block cipher suitable for multiple platforms. Sci. China Inf.
Sci. 58(12), 1–15 (2015)
29. Zhang, W., Su, B., Wu, W., Feng, D., Wu, C.: Extending higher-order integral: an
efficient unified algorithm of constructing integral distinguishers for block ciphers.
In: Bao, F., Samarati, P., Zhou, J. (eds.) ACNS 2012. LNCS, vol. 7341, pp. 117–134.
Springer, Heidelberg (2012). doi:10.1007/978-3-642-31284-7 8