Next Article in Journal
On Quantum Chosen-Ciphertext Attacks and Learning with Errors
Previous Article in Journal
A Robust, Low-Cost and Secure Authentication Scheme for IoT Applications
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Linear Cryptanalysis of Reduced-Round Simon Using Super Rounds

Department of Computer Science, The George Washington University, Washington, DC 20052, USA
*
Author to whom correspondence should be addressed.
Cryptography 2020, 4(1), 9; https://doi.org/10.3390/cryptography4010009
Submission received: 5 March 2020 / Accepted: 15 March 2020 / Published: 18 March 2020

Abstract

:
We present attacks on 21-rounds of Simon 32/64, 21-rounds of Simon 48/96, 25-rounds of Simon 64/128, 35-rounds of Simon 96/144 and 43-rounds of Simon 128/256, often with direct recovery of the full master key without repeating the attack over multiple rounds. These attacks result from the observation that, after four rounds of encryption, one bit of the left half of the state of 32/64 Simon depends on only 17 key bits (19 key bits for the other variants of Simon). Further, linear cryptanalysis requires the guessing of only 16 bits, the size of a single round key of Simon 32/64. We partition the key into smaller strings by focusing on one bit of state at a time, decreasing the cost of the exhaustive search of linear cryptanalysis to 16 bits at a time for Simon 32/64. We also present other example linear cryptanalysis, experimentally verified on 8, 10 and 12 rounds for Simon 32/64.

1. Introduction

Lightweight cryptography is a rapidly growing area of research, emerging to fill the need for securing highly-constrained devices such as RFID tags and sensor networks. The limited hardware and software resources require that the cryptographic primitives be highly efficient. In 2013, the U.S. National Security Agency introduced two families of lightweight block ciphers for this effort: Simon and Speck that have a simple design and perform well on constrained software environments [1]. Since then, both block ciphers have attracted the attention of researchers and have been the subject of many security investigations.
In this paper, we propose an extension of the classical linear cryptanalytic approach which uses multiple linear approximations and Matsui’s second algorithm. The standard approach, of extending the linear approximation by a single round of decryption (encryption), comes at the cost of guessing the last round (first round) key: O ( 2 n ) for an n-bit round key for Simon block size 2 n . We propose extending the linear approximation by a super-round—which, in the case of Simon, is four rounds with a total cost O ( n 2 b ) , for  b n , depending on the Simon variant, leading to the determination of four round keys, instead of the single round key obtained through the traditional approach. Directly applying Matsui’s approach by appending four rounds would require a cost of O ( 2 4 n ) ); but this is not necessary because of the weakness in Simon, which we express as a super round. Thus we demonstrate a simple, efficient extension of the key recovery attack using Matsui’s second algorithm, and recover multiple round keys, including the entire master key in some cases. For this reason, we compare our results with other results in the literature that were obtained using the classical simple Matsui’s second algorithm without recourse to linear hull approaches.

1.1. Our Contributions

In this paper we present an attack on reduced-round Simon, illustrating it in detail for Simon 32/64, and providing a sketch of it for other variants. Our attack is based on the observation that, after four rounds of encryption, one bit of the left half of the state of Simon 32/64 depends on only 17 key bits, and linear cryptanalysis requires the guessing of only 16 bits, the size of a single round key. A single bit of right half state similarly depends on 8 key bits (seven need to be guessed for linear cryptanalysis). By focusing on a single bit of the state at a time, we are able to partition the key into smaller strings, enabling us to more efficiently apply exhaustive search to perform linear cryptanalysis, doing it 16 (or 7) bits at a time. We are able to determine multiple round keys, which corresponds to a large fraction of the independent master key bits. This approach extends to other variants of Simon as well. We summarize the approach below for Simon 32/64.
We define the super round—four rounds of encryption with output limited to a single bit—and the corresponding super key limited to the relevant 16 (or 7) bits. For each bit of state, we extend the super round with an appropriate linear approximation with one active input bit. We carry out Matsui’s second cryptanalysis using the super round instead of a single round and obtain the corresponding super key by performing an exhaustive search over 16 (or 7) bits. We do this for all 32 bits of the state. Thus, the use of the super round significantly improves the overall time complexity of linear cryptanalysis of Simon.
We thus obtain 16 super keys of size 16 each (left half) and 16 super keys of size 7 each (right half), with considerable overlap among the key bits, as there are only 48 independent master key bits in the four-round cipher extended by the linear approximation. Consequently, we obtain 368 related key bits representing 48 independent key bits, which allows for error correction. We can further extend the super round and the linear approximation with an additional two rounds at the end, to obtain 60 independent key bits, which can be used to obtain up to 60 master key bits.
We extend the above attack to other variants of Simon. We also perform an experimental verification of our attack on 8, 10 and 12-round Simon 32/64. Using the capacity-based projections of the relationship of bias to the number of P/C pairs [2], we predict the determination of the entire master key of 20-round Simon 32/64, with  2 32 P/C pairs and time complexity 2 60 . We are also able to determine all 64 master key bits of 8-round Simon using a meet-in-the-middle attack with one super round of encryption and one super round of decryption, with data complexity 2 5.58 and time complexity 2 34.58 .
We need to point out that [3] has an observation similar to ours: that a single bit after four rounds of encryption is affected only by 18 bits, and they use it to define a related-key attack. We had derived this result independently.

1.2. Comparison with Other Work

We now compare our results with those of Alizadeh et al. [4], which are improvements on their peer-reviewed work in [5] and are currently the best peer-reviewed attacks on Simon  that use the classical Matsui’s second algorithm and multiple approximations. As we mentioned earlier, linear hull attacks are able to go deeper; here, we focus on our improvement on the classical approach without recourse to linear hulls. ([6] claims better work than [4], but is not peer-reviewed and has been criticized in the literature so we are not sure if the results hold; see Section 3.) Alizadeh  et al. present two types of linear cryptanalysis: one using Matsui’s second algorithm and the other using multiple linear cryptanalysis. They do not use both attacks simultaneously as we do in this paper. For a fair comparison with our work, we had to make changes to how the data complexity was computed in their work. As we are using multiple linear approximations, we used the capacity model [2] for both our work and theirs. This generally helped improve their numbers. We computed the cost of using n approximations, each corresponding to a shift of one bit, which enabled the computation of all the key bits we were able to compute. Additionally, they present the average case complexity of their attacks: each guessed key bit involved in an XOR is counted as half a bit. In the literature, it is standard to count each key bit guessed as a single bit, whether it is included only in an ANDed expression or not. We hence present two sets of comparisons.
1.
Table 1 shows the comparisons using average case complexity in counting guessed key bits, as used in their work. Key bits in a bitwise AND operation are counted as half a bit each, whereas all other key bits are counted as a single bit each. Their argument is that when we have an expression such as k 0 & k 1 , if we guess k 0 as a zero there is no need to continue guessing the second bit because the ANDed value will be zero independent of the value of k 1 . Using this computation of the time complexity, we are able to go deeper than [4] for all Simon versions.
2.
Table 2 shows a comparison of worst-case time complexity, which is the standard in the literature. Each key bit guessed is counted as a single key bit, and we recomputed their numbers in order to accurately reflect this in both our work and theirs. We are able to go deeper for Simon 32/64, Simon 64/128 and Simon 128/256, and in the other versions, even though we cryptanalyze the same number of rounds, the time complexity of their attacks is worse than brute force attacks.
Note that, in our proposed model, we only use independent linear approximations; as a result, we avoid the issue described in [7], about using dependent approximations in another work on Simon.
It might be worth investigating how to combine our model with more general multidimensional cryptanalysis, where approximation independency is not assumed [8].

1.3. Organization

This paper is organized as follows. Section 2 summarizes the Simon cipher and Section 3 describes related work. Section 4 presents the idea of the super round and the associated super key and Section 5 the approximations we used. Section 6 presents experimental verification, and Section 7 projected results. Section 9 concludes. The Appendix A, Appendix B, Appendix C, Appendix D, Appendix E and Appendix F contain derivations and the linear attacks of Simon 48, Simon 64, Simon 96 and Simon 128.

2. Simon

Simon is a family of lightweight block ciphers designed by U.S. National Security Agency (NSA) in 2013 [9], which aims to provide lightweight resource-constrained devices with needed security. It supports a variety of block and key sizes which is denoted by Simon 2 n / m n , where n is the word size, m is the number of key words and 2 n is the block size. The following Table 3 lists other variants:
It is designed based on a Feistel structure with the key-dependent round function, (see Figure 1):
( X L j + 1 , X R j + 1 ) = R k j ( X L j , X R j ) = ( X R j F ( X L j ) k j , X L j ) .
The specification of each block cipher is determined by the two main functions, the round function, and the key schedule. Thus, the round function F consists of three operations: bitwise XOR ⊕, bitwise AND &, and left circular shift by j bits j . It can be expressed as:
F ( X L j ) = [ ( X L j 1 ) & ( X L j 8 ) ] X L j 2 )
The key schedule takes the master key K as an input and generates r subkeys k 0 , k 1 , . . . . k r 1 . The first w subkeys are initialized with the master key words, k w 1 . . . k 0 . Depending on the number of key words w, a different procedure is applied as the following:
For w = 2 : k i + 2 = k i ( k i + 1 3 ) ( k i + 1 4 ) c ( z j ) i For w = 3 : k i + 3 = k i k i + 1 ( k i + 2 3 ) ( k i + 1 1 ) ( k i + 2 4 ) c ( z j ) i For w = 4 : k i + 4 = k i k i + 1 ( k i + 3 3 ) ( k i + 1 1 ) ( k i + 3 4 ) c ( z j ) i .
As it is shown above, the generated subkey is XOR-ed with a constant c which is equal to 2 n 4 = 0 x f f . . . f c and the ith bit of ( z j ) , where the choice of ( z j ) depends on Simon versions. Thus, these constants are added to prevent slide attacks and eliminate circular shift symmetries. There are five constant sequences ( z 0 ) , ( z 1 ) , ( z 2 ) , ( z 3 ) , and  ( z 4 ) , which take the following values:
z = [ 11111010001001010110000111001101111101000100101011000011100110 , 10001110111110010011000010110101000111011111001001100001011010 , 10101111011100000011010010011000101000010001111110010110110011 , 11011011101011000110010111100000010010001010011100110100001111 , 11010001111001101011011000100000010111000011001010010011101111 ] .

3. Related Work

We focus in this paper on linear cryptanalysis. The best linear results on Simon are obtained using linear hulls.
First introduced by [10], the linear hull is a set of linear approximations with the same input and output masks. Abdelraheem et al. [4] generalized the method of converting any differential characteristic to a linear characteristic for Simon, and investigated the security of Simon against different variants of linear cryptanalysis, classical, multiple and linear hull. Using linear hull, they present attacks on the reduced-round of 21, 21, 29, 36, and 50 rounds of Simon 32/64, Simon 48/96, Simon 64/128, Simon 96/144, and Simon 128/256.
Shi et al. [11] by using the method of automatic enumeration of differential and linear approximations Mixed-integer Linear Programming presented in [12], they present linear hull crytpanalysis on the reduced-round 21, 21, 29 rounds for Simon 32/64, Simon 48/96, Simon 64/128 respectively.
Then, Abdelraheem et al. [13] proposed a time-memory trade-off method to search for highly biased linear trails. Hence, they found 14-round and 17-round linear approximations for Simon 32 and Simon 48 respectively. As a result, they present 24, 23 and 24 rounds of Simon 32/64, Simon 48/72 and Simon 48/96. Additionally, Sun et al. [12] present a 16-round linear hull for Simon 48/96, which used to break up 23 rounds.
The best linear hull attacks presented in [7] by using a dynamic key-guessing technique which first proposed to improve the differential cryptanalysis in [14]. They apply the dynamic- key-guessing method to reduce the number of key bits required guessing, and they present linear hull attacks on the reduced-round 23, 25, 31, 38 and 53 for Simon 32, Simon 48, Simon 64, Simon 96 and Simon 128 respectively. An interesting future work direction would be to examine the combination of linear hulls and super rounds. Table 4 summarizes the linear hull attack results on Simon.
Moreover, there are other results using different attack methods such as Zero-correlation linear cryptanalysis. Bogdanov et al. [15] propose an extension of linear cryptanalysis based on linear approximations with correlation Zero, called Zero-correlation linear cryptanalysis. [16] present Zero-correlation linear cryptanalysis on all versions of Simon. Hence, they successfully present attacks on 19, 20, 22, 23, 25, 28, 33, and 34 rounds for Simon 32/64, Simon 48/72, Simon 48/96, Simon 64/96, Simon 64/128, Simon 96/144, Simon 128/192 and Simon 128/256 respectively.
Wang et al. [17] also present improved results using zero-correlation with the help of divide-and-conquer technique on 20, 21 and 21 rounds of Simon 32/64, Simon 48/72, Simon 48/96. Then, Sun et al. [18] improved Zero-correlation linear cryptanalysis presented in [17] on Simon 32/64, Simon 48/72, Simon 48/96 and the first to apply it on the larger variants of Simon. Hence, they attack 21, 21, 22, 23, 24, 28, 32 and 34 rounds of Simon 32/64, Simon 48/72, Simon 48/96, Simon 64/96, Simon 64/128, Simon 96/144, Simon 128/192 and Simon 128/256 respectively.
There are works that focused on the classical linear cryptanalysis. The first work to look at is [19] by Abed et al., where they analyze the linear properties of Simon round function. Hence, they linearize the only non-linear part which is the bitwise AND operation, and present this linear approximation: [ F ( x ) ) = ( x 2 ) ] , which holds with probability 3/4, and bias ϵ = 2 2 .
Moreover, following this approach they generate linear trails to a larger number of rounds and to all Simon versions. Hence, they successfully present linear cryptanalysis of length 11, 14, 16, 20 and 23 on Simon 32, Simon 48, Simon 64, Simon 96 and Simon 128 respectively. Since their attack is considered Matsui’s first algorithm, the required number of plaintext and ciphertext pairs is what determines the complexity of the attack. Accordingly, the required data complexity were 2 23 , 2 47 , 2 61 , 2 95 and 2 125 for Simon 32, Simon 48, Simon 64, Simon 96 and Simon 128 respectively.
Improved results in terms of covering more rounds have been presented by Alizadeh et al. in [20], where they exploit a direct connection between linear characteristics and differential characteristics. So given an r-round differential characteristic, an equivalent r-round linear characteristic can be constructed. Given this observation, they derived improved linear trails and then mounted linear cryptanalysis using Matsui’s first algorithm with a reported success probability of 0.997 for 12, 15, 19, 28 and 35 rounds for Simon 32, Simon 48, Simon 64, Simon 96, and Simon 128 respectively.
Because in these two works [19,20], they apply Matsui’s first algorithm, they were only able to determine a parity bits of the subkeys, where a represents the number of approximations that have been used, which is equal to the block size 32, 48, 64, 96 and 128.
In [4], they consider the classical linear cryptanalysis and multiple linear cryptanalysis. So, they extend the previous results to cover more rounds and launch key recovery attacks using Matsui’s second algorithm, and recover 27.5 key bits of Simon 32, and the average of 32.5, 41.5, 42.5, and 78 key bits for Simon 48, Simon 64, Simon 96 and Simon 128. Thus, they have successfully introduced attacks on 17, 20, 23, 34 and 42 rounds for all versions of Simon 32, Simon 48, Simon 64, Simon 96 and Simon 128 respectively. Moreover, they apply multiple linear cryptanalysis and present attacks on 18, 20, 22, 33 and 39 rounds of respective block sizes of 32, 48, 64, 96, and 128 bits respectively, and they can determine n parity bits of the subkeys.
The most recent results were presented in [6] by Ashur. They describe a new method to compute the bias of linear trails, which was then used to obtain longer linear approximations than what previous works have obtained. The literature calls into question the correctness of the results presented in this work. In particular, from [7], “it uses the correlation when all the subkeys are zero as the expected correlation under random key situations, which is not exact. Moreover, if the potential of each linear hull of the cipher is smaller than that of random permutations, then the combination of these linear hulls can not distinguish between the cipher and a random permutation.”

4. The Cryptanalytic Model

In this section we describe the idea of a super round and its super key, and the use of this idea in linear cryptanalysis as well as for a brute force attack on eight rounds on Simon 32/64.
We first establish some notation. Superscripts denote round number beginning with 0, and subscripts denote bit number from left to right, also beginning with 0. We denote by X L j and X R j the left and right half inputs respectively to the j-th cipher round (and hence the outputs of the ( j 1 ) -th round), and by k i j the i-th bit of the j-th round key. Left and right plaintext and ciphertext halves are denoted P L , P R , C L and C R respectively.

4.1. Central Observation

We observe that, after four rounds of Simon 32/64 encryption, one bit of the left half of the state depends on only 16 key bits—the size of one round key. One bit of the right half depends on only 7 key bits. On the other hand, the 32-bit state after four rounds of encryption depends on all 64 master key bits. Thus, by focusing on a single bit of the state, we are able to partition the key into smaller pieces. This enables us to more efficiently apply exhaustive search, doing it 16 (or 7) bits at a time.
In Matsui’s second linear cryptanalysis, the first (or final) round key is determined by encryption (or decryption) with all possibilities (exhaustive search), choosing the most likely one. One would like to be able to use the same approach to determine all possible master key bits, instead of only those in the final round key. Performing an exhaustive search by encrypting multiple rounds is, however, prohibitively expensive. Using our observation, it is possible to efficiently encrypt the four first rounds (not only the first round), by focusing on a single bit of state at a time, and performing an exhaustive search over smaller pieces of the key. To extend Matsui’s second linear cryptanalysis to four rounds in this manner, we would need linear cryptanalytic expressions with only a single bit of input state. The expressions and the encryption are symmetric with respect to the single bit of super round output, and we are hence able to perform this type of cryptanalysis on every bit of super round output.
An outline of the attack is as follows:
1.
For every bit of super round output, we guess all possible combinations of the corresponding 16 key bits for the left half, or 7 for the right half, to obtain the most likely one. We do this for all 32 bits of the block.
2.
This gives us 16 keys of size 16 each (left half) and 16 keys of size 7 each (right half), with considerable overlap among the key bits, as there are only 48 independent master key bits.
3.
We obtain 368 related key bits representing 48 independent key bits, which allows for correcting errors.
The complexity of this attack is ( 16 × 2 16 + 16 × 2 7 ) × N where N is the number of plaintext-ciphertext (P/C) pairs used.

4.2. The Super Round

We use the term super round to represent a generalization of the four-round encryption we described above.
Definition 1
(Super Rounds and Super Keys).A super round for a block cipher is a function representing s-rounds of encryption of the cipher, for some s > 1 . It takes as input a full block of plaintext and the required key bits, and outputs t bits of ciphertext, where t is considerably smaller than the block size. The required key bits for a super round are referred to as a super key.
Examples: For Simon 32/64:
  • A super round of the first four rounds requires a super key for the left half of length 16 and has as output a single bit of left-half ciphertext.
  • A super-round of the first four rounds requires a super key for the right half of length 7 key bits and has as output a single bit of right-half ciphertext.
Figure 2 depicts these examples, where F S represents the super round.

4.3. Linear Cryptanalysis with Super Rounds

In this section we describe the general linear cryptanalytic attack of Matsui’s second algorithm with super rounds. The linear approximations we will derive in Section 5 are chosen so as to have a single bit of input— X L i 4 or X R i 4 —which is approximately related to multiple bits of the ciphertext C (see Figure 3). The super round itself relates this bit, exactly, (modulo a key bit absorbed into the linear approximation) to the plaintext P and the ith super key. Thus we obtain an approximate relationship between P, C and the super key bits. By performing an exhaustive search over the super key space, we obtain the super key bits. We repeat this process for all bits of the super round output.
For each of the two super rounds (for left and right hand output halves), for each value of i, there are corresponding 16-bit and 7-bit super keys. Table 5 lists the components of the super keys.
We see that each super key for the left half contains nine bits from k 0 , in the form k i + m 0 for m = 1 , 2 , 3 , 4 , 5 , 8 , 10 , 11 , 12 . Thus a particular bit of k 0 , say k s 0 , appears in the super key of left half bits s m , for  m = 1 , 2 , 3 , 4 , 5 , 8 , 10 , 11 , 12 . That is, if we determine the super key for each value of i in the left half of the state, we will obtain nine copies of each bit of k 0 . Similarly, the super key for the right half contains five bits of k 0 . Additionally, there are other bits in the super key as well. Thus, over all sixteen bits of X L 4 and X R 4 , we obtain:
  • 14 copies of k s 0
  • 7 copies of k s 0 k s + 2 1
  • 2 copies of k s 0 k s + 4 0 k s + 2 1 k s 2
for s = 0 , 1 , 2 , . . . , 15 .
The redundancy above allows us to better estimate the individual key bits, and we estimate each of the 48 independent key bits by a majority vote from the corresponding multiple copies. In any experiment, we get three outcomes: correctly determined bits, incorrectly determined bits and undetermined bits (when the outcome is a tie).
Finally, we will have 16 bits of k 0 , 16 bits of k s 0 k s + 2 1 , and 16 bits of k s 0 k s + 4 0 k s + 2 1 k s 2 , for a total of 48 independent key bits. We may use estimates of bits of k 0 to estimate bits of k 1 , and then to estimate bits of k 2 . We note that the error increases as we go from k 0 through k 2 ; not only because the number of copies of the required bits decreases, but because the error is compounded (the error in determining k 2 is increased due to errors in estimating k 0 and k 1 ).

4.4. The Construction of Super Rounds and Derivations of Super Keys

Here, we demonstrate how the super rounds are constructed for Simon cipher, beginning with Simon 32/64 and going on to other variants [21].
Since Simon is designed based on a Feistel structure with the key-dependent round function, one round of Simon can be expressed as:
( X L j + 1 , X R j + 1 ) = R k j ( X L j , X R j ) = ( X R j F ( X L j ) k j , X L j )
which implies that:
X L i j + 1 = X R i j Z i j k i j = X L i j 1 Z i j k i j = X L i j 3 Z i j 2 k i j 2 Z i j k i j
Hence:
X L i 4 = X L i 0 Z i 1 k i 1 Z i 3 k i 3 = P L i Z i 1 k i 1 Z i 3 k i 3
Similarly,
X R i j + 1 = X L i j = X L i j 2 Z i j 1 k i j 1 = X R i j 3 Z i j 3 k i j 3 Z i j 1 k i j 1
and hence that:
X R i 4 = X R i 0 Z i 0 k i 0 Z i 2 k i 2 = P R i Z i 0 k i 0 Z i 2 k i 2
Given the round function of Simon:
F ( X L j ) = [ ( X L j 1 ) & ( X L j 8 ) ] X L j 2 )
which implies that:
Z i j = ( X L i + 1 j & X L i + 8 j ) X L i + 2 j
giving us:
Z i 0 = ( P L i + 1 & P L i + 8 ) P L i + 2 Z i 1 = [ ( Z i + 1 0 k i + 1 0 P R i + 1 ) & ( Z i + 8 0 k i + 8 0 P R i + 8 ) ] ( Z i + 2 0 k i + 2 0 P R i + 2 ) Z i 2 = [ ( Z i + 1 1 k i + 1 1 X R i + 1 1 ) & ( Z i + 8 1 k i + 8 1 X R i + 8 1 ) ] ( Z i + 2 1 k i + 2 1 X R i + 2 1 ) = [ ( Z i + 1 1 k i + 1 1 P R i + 1 ) & ( Z i + 8 1 k i + 8 1 P R i + 8 ) ] ( Z i + 2 1 k i + 2 1 P R i + 2 ) Z i 3 = ( v 1 & v 2 ) v 3
where:
v 1 = Z i + 1 2 k i + 1 2 X R i + 1 2 = Z i + 1 2 k i + 1 2 X L i + 1 1 = Z i + 1 2 Z i + 1 0 k i + 1 0 P R i + 1 k i + 1 2 v 2 = Z i + 8 2 k i + 8 2 X R i + 8 2 = Z i + 8 2 k i + 8 2 X L i + 8 1 = Z i + 8 2 Z i + 8 0 k i + 8 0 P R i + 8 k i + 8 2 v 3 = Z i + 2 2 k i + 2 2 X R i + 2 2 = Z i + 2 2 k i + 2 2 X L i + 2 1 = Z i + 2 2 Z i + 2 0 k i + 2 0 P R i + 2 k i + 2 2
Finally,
X L i 4 = Z i 3 k i 3 X R i 3 = Z i 3 k i 3 X L i 2 = Z i 3 k i 3 Z i 1 k i 1 P L i X R i 4 = X L i 3 = X L i 1 Z i 2 k i 2 = P R i k i 0 Z i 0 Z i 2 k i 2 .
Recall the Simon family consists of another nine variants of the cipher differing in their block and key sizes. All Simon variants share the same round function; hence the observation enabling us to construct super-rounds in Simon 32/64 continues to be valid. Even though the larger variants of Simon correspond to larger block and key sizes, we have found that the size of the super keys is only slightly larger than that for Simon 32/64. After four round of encryption, a single bit of the left-half of the intermediate state is influenced by only 18 key bits. On the other hand, the size of the super-key of the right half stays the same, at seven bits.
In Simon 32/64, we have nine bits of k i 0 , for  i = 1 , 2 , 3 , 4 , 5 , 8 , 10 , 11 , 12 , as shown in Table 5, where in Simon 48 we have 11 bits of k i 0 , for  i = 0 , 1 , 3 , 4 , 5 , 8 , 10 , 11 , 12 , 17 , 18 , and in Simon 64 we have a similar set of bits, except instead of k i 0 , we have k i + 24 0 . This difference arises from computing v 2 , where we have the similar computations for v 1 , and  v 3 . In larger Simon, we get:
v 2 = Z i + 8 2 k i + 8 2 X R i + 8 2 ,
where,
Z i + 8 2 = [ ( Z i + 9 1 k i + 9 1 X R i + 9 1 ) & ( Z ( i + 16 ) % n 1 k ( i + 16 ) % n 1 X R ( i + 16 ) % n 1 ) ] ( Z i + 10 1 k i + 10 1 X R i + 10 1 ) .
Hence:
Z i + 9 1 = [ ( Z i + 10 0 k i + 10 0 P R i + 10 ) & ( Z ( i + 17 ) % n 0 k ( i + 17 ) % n 0 P R ( i + 17 ) % n ) ] ( Z i + 11 0 k i + 11 0 P R i + 11 ) Z ( i + 16 ) % n 1 = [ ( Z i + 17 0 k i + 17 0 P R i + 17 ) & ( Z ( i + 24 ) % n 0 k ( i + 24 ) % n 0 P R ( i + 24 ) % n ) ] ( Z i + 18 0 k i + 18 0 P R i + 18 ) Z i + 10 1 = [ ( Z i + 11 0 k i + 11 0 P R i + 11 ) & ( Z ( i + 18 ) % n 0 k ( i + 18 ) % n 0 P R ( i + 18 ) % n ) ] ( Z i + 12 0 k i + 12 0 P R i + 12 ) .
It is clear from the equations that in the case of n = 24 , we get k i + 17 0 , k i + 18 0 and k i 0 from evaluating Z i + 9 1 , Z i + 16 1 and Z i + 10 1 . In the case of n = 32 , we get k i + 17 0 , k i + 18 0 and k i + 24 0 .
The value v 2 affects the super key bit k i + 2 0 k i 1 , which becomes in the case of larger Simon, k i + 18 0 k i + 16 1 . The other components of the super key for the left half, are consistent with the bits presented in Table 5. See Algorithm 1 for pseudocode for our attack on Simon 32/64, using the left half system of approximation.
Algorithm 1 Matsui’s second algorithm using multiple linear approximations.
  • Let T be the number of plaintexts such that the linear approximation is True.
  • for i = 0, …, 2 n do      ▹ evaluate the linear approximation for the left word
  • for j = 0, …, 2 16 do                     ▹ try all 16-bit keys
  •   Initialize T with zero
  •   for all N plaintext–ciphertext pairs do
  •    calculate X L i 4 using super round
  •    if linear approximation is True then
  •     increment T
  •    end if
  •   end for
  •   Calculate b i a s j = ( T ( N ÷ 2 ) ) ÷ N
  • end for
  •  output the candidate key j with the highest bias
  • end for

5. Linear Approximations for Simon 32/64

In this section we derive linear approximations for 8, 10 and 12-round attacks on Simon 32/64. In Section 6 we describe experimental results for the proposed attacks.
We use a natural linear expression of the Simon round function, obtained by replacing the & function by 0, with a bias of 1 4 [19]. The left half is approximated as:
A p p r o x i m a t i o n 1 : P r [ F ( X L i j + 1 ) = X L i + 2 j ] = 3 4 .
Additionally, the following are linear expressions from the literature with a similar absolute bias of 1 4 :
A p p r o x i m a t i o n 2 : P r [ F ( X L i j + 1 ) = X L i + 2 j X L i + 1 j ] = 3 4 A p p r o x i m a t i o n 3 : P r [ F ( X L i j + 1 ) = X L i + 2 j X L i + 8 j ] = 3 4 A p p r o x i m a t i o n 4 : P r [ F ( X L i j + 1 ) = X L i + 2 j X L i + 1 j X L i + 8 j ] = 1 4 .
We use this approximation repeatedly for multiple-round attacks that relate a single bit of input to multiple output bits. The experimentally-verified success probabilities of the attacks on 8, 10 and 12 rounds are listed in Table 9.

5.1. 8-Round Attack

We find two four-round linear approximations, relating a single bit of the left and right half inputs respectively to a few bits of output after four rounds. We can use a super round to obtain exactly the single bit of input from the plaintext and the super key and then concatenate it with the approximation, thus relating the plaintext, super key and ciphertext bits of eight rounds encryption (see Figure 4).
Beginning with a single bit of the left half plaintext, P L = X L 0 , we approximate a linear relationship with bits from the output:
P L i = X L i 0 = X R i 1 = F ( X R 2 ) i X L i 2 k i 1 X R i + 2 2 X L i 2 k i 1 = F ( X R 3 ) i + 2 X L i + 2 3 k i + 2 2 X L i 2 k i 1 = F ( X R 3 ) i + 2 X L i + 2 3 k i + 2 2 X R i 3 k i 1 X R i + 4 3 X R i 3 X L i + 2 3 k i + 2 2 k i 1 = X R i , i + 4 3 X L i + 2 3 k i + 2 2 k i 1 = F ( X R 4 ) i , i + 4 X L i , i + 4 4 k i , i + 4 3 X L i + 2 3 k i + 2 2 k i 1 = F ( X R 4 ) i , i + 4 X L i , i + 4 4 k i , i + 4 3 X R i + 2 4 k i + 2 2 k i 1 = F ( X R 4 ) i , i + 4 X L i , i + 4 4 X R i + 2 4 k i , i + 4 3 k i + 2 2 k i 1 X R i + 2 , i + 6 4 X L i , i + 4 4 X R i + 2 4 k i , i + 4 3 k i + 2 2 k i 1 = X R i + 6 4 X L i , i + 4 4 k i , i + 4 3 k i + 2 2 k i 1
To produce a four-round linear approximation for the right half, we will start with a single bit of right half P R = X R 0 :
P R i = X R i 0 = F ( X R 1 ) i X L i 1 k i 0 X R i + 2 1 X L i 1 k i 0 = F ( X R 2 ) i + 2 X L i + 2 2 k i + 2 1 X R i 2 k i 0 X R i + 4 2 X L i + 2 2 X R i 2 k i + 2 1 k i 0 = X R i , i + 4 2 X L i + 2 2 k i + 2 1 k i 0 = F ( X R 3 ) i , i + 4 ) X L i , i + 4 3 k i , i + 4 2 X R i + 2 3 k i + 2 1 k i 0
X R i + 2 , i + 6 3 X L i , i + 4 3 X R i + 2 3 k i , i + 4 2 k i + 2 1 k i 0 = X R i + 6 3 X L i , i + 4 3 k i , i + 4 2 k i + 2 1 k i 0 = F ( X R 4 ) i + 6 X L i + 6 4 k i + 6 3 X R i , i + 4 4 k i , i + 4 2 k i + 2 1 k i 0 X R i , i + 4 , i + 8 4 X L i + 6 4 k i + 6 3 k i , i + 4 2 k i + 2 1 k i 0 .
Hence, appending the four rounds of encryption to Equations (3) and (4), we get the following expressions with biases 2 5 and 2 6 respectively:
X L i 4 X R i + 6 8 X L i , i + 4 8 = k i + 6 0 k i , i + 4 1 k i + 2 2 k i 3 k i 5 k i + 2 6 k i , i + 4 7
X R i 4 X R i , i + 4 , i + 8 8 X L i + 6 8 = k i , i + 4 0 k i + 2 1 k i 2 k i 4 k i + 2 5 k i , i + 4 6 k i + 6 7 .

5.2. 10-Round Attack

We extend the 8-round attack by adding two more rounds of decryption at the end so we have a 10-round attack. The two rounds are added by decrypting the ciphertext bits; this comes at the cost of exhaustive search over a few more key bits. See Figure 5.
Recall single-round decryption:
X L j = X R j + 1 X R j = F ( X L j ) X L j + 1 k j = F ( X R j + 1 ) X L j + 1 k j ,
and hence two rounds decryption is:
X L j = F ( X R j + 2 ) X L j + 2 k j + 1 X R j = F ( F ( X R j + 2 ) X L j + 2 k j + 1 ) X R j + 2 k j ,
which gives us:
X L 8 = X L 10 F ( X R 10 ) k 9 X R 8 = X R 10 F ( X L 10 F ( X R 10 ) k 9 ) k 8 .
Recall the four-round linear approximation for the single bit in the left half:
X L i 4 X R i + 6 8 X L i , i + 4 8 = k i 5 k i + 2 6 k i , i + 4 7 .
Substituting for X 8 , we get:
X L i 4 X R i + 6 10 F ( X L 10 F ( X R 10 ) k 9 ) i + 6 k i + 6 8 X L i , i + 4 10 F ( X R 10 ) i , i + 4 k i , i + 4 9 = k i 5 k i + 2 6 k i , i + 4 7 ,
or:
X L i 4 X R i + 6 10 [ ( X L i + 7 10 F ( X R 10 ) i + 7 k i + 7 9 ) & ( X L i + 14 10 F ( X R 10 ) i + 14 k i + 14 9 ) ] k i + 6 8 X L i + 8 10 F ( X R 10 ) i + 8 k i + 8 9 X L i , i + 4 10 [ X R i + 1 10 & X R i + 8 10 ] X R i + 2 10 [ X R i + 5 10 & X R i + 12 10 ] X R i + 6 10 k i , i + 4 9 = k i 5 k i + 2 6 k i , i + 4 7 .
or:
X L i 4 X R i + 6 10 [ ( X L i + 7 10 F ( X R 10 ) i + 7 k i + 7 9 ) & ( X L i + 14 10 F ( X R 10 ) i + 14 k i + 14 9 ) ] k i + 6 8 X L i + 8 10 ( X R i + 9 10 & X R i 10 ) X R i + 10 10 k i + 8 9 X L i , i + 4 10 [ X R i + 1 10 & X R i + 8 10 ] X R i + 2 10 [ X R i + 5 10 & X R i + 12 10 ] X R i + 6 10 k i , i + 4 9 = k i 5 k i + 2 6 k i , i + 4 7
and finally,
X L i 4 X R i + 2 , i + 10 10 X L i , i + 4 , i + 8 10 [ ( X L i + 7 10 F ( X R 10 ) i + 7 k i + 7 9 ) & ( X L i + 14 10 F ( X R 10 ) i + 14 k i + 14 9 ) ] ( X R i + 9 10 & X R i 10 ) [ X R i + 1 10 & X R i + 8 10 ] [ X R i + 5 10 & X R i + 12 10 ] = k i 5 k i + 2 6 k i , i + 4 7 k i + 6 8 k i , i + 4 , i + 8 9 .
Hence, two new key bits k i + 7 9 and k i + 14 9 (in addition to the 16 bits to compute X L i 4 ) required guessing to add the two rounds decryption.
Now recall the linear approximation for the single bit on the right side:
X R i 4 X R i , i + 4 , i + 8 8 X L i + 6 8 = k i 4 k i + 2 5 k i , i + 4 6 k i + 6 7 .
Again, substituting the expressions for X 8 in terms of X 10 we get:
X R i 4 X R i 10 F ( X L 10 F ( X R 10 ) k 9 ) i k i 8 X R i + 4 10 F ( X L 10 F ( X R 10 ) k 9 ) i + 4 k i + 4 8 X R i + 8 10 F ( X L 10 F ( X R 10 ) k 9 ) i + 8 k i + 8 8 X L i + 6 10 F ( X R 10 ) i + 6 k i + 6 9 = k i 4 k i + 2 5 k i , i + 4 6 k i + 6 7
X R i 4 X R i , i + 4 , i + 8 10 X L i + 6 10 [ ( X L i + 1 10 F ( X R 10 ) i + 1 k i + 1 9 ) & ( X L i + 8 10 F ( X R 10 ) i + 8 k i + 8 9 ) ] X L i + 2 10 F ( X R 10 ) i + 2 k i + 2 9 [ ( X L i + 5 10 F ( X R 10 ) i + 5 k i + 5 9 ) & ( X L i + 12 10 F ( X R 10 ) i + 12 k i + 12 9 ) ] X L i + 6 10 F ( X R 10 ) i + 6 k i + 6 9 [ ( X L i + 9 10 F ( X R 10 ) i + 9 k i + 9 9 ) & ( X L i 10 F ( X R 10 ) i k i 9 ) ] X L i + 10 10 F ( X R 10 ) i + 10 k i + 10 9 F ( X R 10 ) i + 6 = k i 4 k i + 2 5 k i , i + 4 6 k i + 6 7 k i , i + 4 , i + 8 8 k i + 6 9 .
In this case, six new key bits (in addition to the seven required to obtain X R i 4 from the plaintext), k i 9 , k i + 1 9 , k i + 5 9 , k i + 8 9 , k i + 9 9 , k i + 12 9 , are required for the decryption of the last two rounds.
Thus, the number of key bits affecting the approximation for the left side is 18, and that for the right side is 13.

5.3. 12-Round Attack

To extend the linear attack of Simon 32/64 to 12 rounds, we need to extract r-round linear approximations for r > 4 . Therefore, we derive two seven-round linear approximations for the left half and the right half, with biases 2 11 and 2 14 respectively (see Tables 10 and 11 for details):
X L i 4 X L i + 2 , i + 10 11 X R i , i + 8 , i + 12 11 = k i 5 k i + 2 6 k i , i + 4 7 k i + 6 8 k i , i + 4 , i + 8 9 k i + 2 , i + 10 10
X R i 4 X L i , i + 8 , i + 12 11 X R i + 14 11 = k i 4 k i + 2 5 k i , i + 4 6 k i + 6 7 k i , i + 4 , i + 8 8 k i + 2 , i + 10 9 k i , i + 8 , i + 12 10 .
We can extend the attack by one decryption round free of any approximations, which enables us to attack 12 rounds. See Figure 6.

6. Experimental Verification

To validate our proposed linear cryptanalysis of Simon 32/64, we conducted a number of experiments for the 8-round, 10-round, and 12-round linear attacks, which we summarize in this section.
We will need some additional notation. As mentioned before, the super key of the left-half is of size 16 bits, each bit being in one of three forms (recall Table 5): k i 0 , k i + 2 0 k i 1 , or k i 0 k i + 4 0 k i + 2 1 k i 2 . We denote the 16-bit strings of bits of this form (for i = 0 , 1 , 2 , . . . , 15 ) as B i t 1 , B i t 2 , and B i t 3 respectively.
We determine B i t 1 , B i t 2 and B i t 3 from the super key estimates using a majority vote for error correction. We then compute the 48 master key bits ( k 0 , k 1 , and k 2 ) using Equation (10).
k i 0 = B i t 1 i k i 1 = B i t 2 i B i t 1 i + 2 k i 2 = B i t 1 i B i t 2 i + 2 B i t 3 i .
In all cases—8, 10 and 12 round attacks— B i t 1 is determined with the greatest accuracy, then B i t 2 , and, last, B i t 3 . This is to be expected because there are more copies of B i t 1 (nine) than B i t 2 (five), and B i t 3 has the fewest copies (two). In all cases, k 0 is computed more accurately than k 1 , which is more accurately computed than k 2 . This is because k 0 , k 1 and k 2 are computed from one, two and three values of the estimated values of super key bits. Additionally, k 0 is computed from the most accurately estimated super key bits, B i t 1 ; k 1 from B i t 1 and B i t 2 ; k 2 from B i t 1 , B i t 2 and B i t 3 . Table 6, Table 7 and Table 8 compare between the number of super key bits guessed correctly in the 8-round, 10-round and 12-round attacks respectively.

6.1. Experimental Results

6.1.1. 8-Round Attack

We carried out 14 instances of the 8-round attack, with 2 14 P/C pairs and keys chosen at random. We observed that obtaining estimates of the super key bits corresponding to the right half of the state does not improve the estimate over using only those obtained from the left half state.
This is likely because the bias for the right half is half that of the left half, and hence the right half data is noisier and not particularly useful. Figure 7 shows the results achieved using super rounds corresponding to the left half and to the left and right halves.

6.1.2. 10-Round Attack

We carried out 14 instances of the 10-round attack, each with a key chosen at random and 2 14 plaintext/ciphertext pairs. In addition to the super keys (48 bits), we recover the last round key k 9 (16-bits), which is denoted as B i t 4 , hence we retrieve a total of 64 key bits. We find that the last round key bits are not independent, so we do not obtain 64 independent bits.
In contrast to the 8-round attack, we obtain better overall results by using super rounds corresponding to both right and left halves, as compared to using only the left half. The improvement is especially noticeable in the estimate of k 9 . The reason is that we receive 96 bits ( 16 × 6 ) of k 9 from the right half and only 32 bits ( 16 × 2 ) from the left-half. Thus, even though the right-half attacks have a lower bias, having a larger number of copies of k 9 bits results in better estimation. Figure 8 shows the improvements of the results obtained using super rounds corresponding to both right and left halves over using the left half only.

6.1.3. 12-Round Attack

We performed three instances of the 12-round attack using 2 25 plaintext and ciphertext pairs. We got similar results in the case we use the estimates of the super key bits corresponding to only the left half and in the case, we combine the estimates corresponding to both halves. As in the 8-round attack, the right half of the state doesn’t improve the overall results, hence we obtain the same results using the left half and the two halves. In the three experiments, we can determine correctly 48, 47 and 45 key bits.

6.2. The Deduction of k 3 from k 9

The 64-bit master key is used directly for the first four rounds; thereafter, the Simon key schedule generates all other round keys from the 64-bit master key. We are able to express k 3 in terms of k 0 , k 1 , k 2 , and k 9 as follows:
k 3 ( k 3 4 ) = k 0 ( k 0 3 ) ( k 0 4 ) ( k 0 6 ) ( k 0 7 ) ( k 0 8 ) ( k 0 9 ) ( k 0 15 ) ( k 1 1 ) ( k 1 3 ) ( k 1 5 ) ( k 1 6 ) ( k 1 10 ) ( k 1 12 ) ( k 1 15 ) k 2 ( k 2 1 ) ( k 2 9 ) ( k 2 10 ) ( k 2 11 ) ( k 2 13 ) k 9 c o n s t a n t
Thus, on determining k 0 , k 1 , k 2 and k 9 , we obtain the 16 bit string k 3 ( k 3 4 ) , which we denote B i t 4 . Note that the bits of B i t 4 are not independent, because
B i t 4 i B i t 4 i + 4 B i t 4 i + 8 B i t 4 i + 12 = 0 i = 0 , 1 , 2 , 3
Thus only 12 bits of B i t 4 are independent, enabling us to determine up to 12 bits of k 3 . For fixed values of k 0 , k 1 and k 2 , there is a one-to-one correspondence between B i t 4 i and k i 9 . Thus, only 12 bits of k 9 are independent, and all possible values of k 9 will not be generated by the key schedule. Because of this, in addition to the 48 master key bits computed from the super key, we are able to deduce up to 12 bits of k 3 for a total of up to 60 master key bits.

6.3. 8-Round Attack without Approximations

Based on the Feistel symmetry of Simon, we are able to establish a four-round decryption super round in addition to the encryption super round we describe above. This allows us to launch a meet-in-the-middle attack on 8-round Simon 32/64 without any approximations. Instead of performing an exhaustive search over a large number of master key bits, we can focus on a single bit and perform an exhaustive search over fewer key bits at a time.
The encryption super round F s e n c , i takes the plaintext and 16 key bits of super key K e n c , i to produce a single bit of four-round encryption X L i 4 (modulo a single key bit). The decryption super round F s d e c , i takes the ciphertext and 8 key bits of super key K d e c , i to generate a single bit of four-round decryption, see Figure 9. For every bit of intermediate state i, the adversary computes F s e n c , i and F s d e c , i for all possible values of encryption super key K e n c , i and decryption super key K d e c , i respectively. If there isn’t a match between the two operations, the pair ( K e n c , i , K d e c , i ) is discarded as a possible candidate for the correct key. As all expressions are exact, there is no need to keep a count of how many times there was a match; a single mismatch disqualifies the key pair.
In this meet-in-the-middle attack on 8-round Simon, we attempt to recover 112 key bits, consisting of 64 bits of one super key and 48 more bits of the second super key. We are able to determine all 64 master key bits using only 48 plaintext and ciphertext pairs. We carried out two instances of this attack.

6.4. Summary of Experimental Results

Here we provide a summary of our experimental results (see Table 9).

7. Projected Results Using Multiple Linear Cryptanalysis

In this section we present projected results for the 20-round linear attack. Similar results for Simon 48 and Simon 64, Simon 96 and Simon 128 are presented in the Appendix C, Appendix D, Appendix E and Appendix F, respectively. Note that by “projected” results we mean results that have not been verified experimentally but are derived analytically.

7.1. 20-Round Linear Attack

In this section, we describe how to recover the entire master key in a 20-round attack. First, we extend the seven-linear approximations (Equations (8) and (9)) into 12-round linear trails, with bias 2 19 for the left-half and the right-half (see Figure 10):
P L i C L i + 8 = k i 1 k i + 2 2 k i , i + 4 3 k i + 6 4 k i , i + 4 , i + 8 5 k i + 2 , i + 10 6 k i , i + 8 , i + 12 7 k i + 14 8 k i + 8 , i + 12 9 k i + 10 10 k i + 8 11
P R i C R i + 8 = k i 0 k i + 2 1 k i , i + 4 2 k i + 6 3 k i , i + 4 , i + 8 4 k i + 2 , i + 10 5 k i , i + 8 , i + 12 6 k i + 14 7 k i + 8 , i + 12 8 k i + 10 9 k i + 8 10
Because the derived 12-round linear approximation for the left-half has one active input bit and one active output, we are able to append the super round of the four-round encryption at the beginning and the super round of the four-round decryption at the end, giving us a 20-round linear attack. The same is true for the right-half approximation. Table 10 and Table 11 list the sequence of approximations used to produce the 12-round linear approximation.
The extended linear approximations are:
X L i 4 X L i + 8 17 = k i 5 k i + 2 6 k i , i + 4 7 k i + 6 8 k i , i + 4 , i + 8 9 k 1 0 i + 2 , i + 10 k 1 1 i , i + 8 , i + 12 k i + 14 12 k i + 8 , i + 12 13 k i + 10 14 k i + 8 15
and
X R i 4 X R i + 8 17 = k i 4 k i + 2 5 k i , i + 4 6 k i + 6 7 k i , i + 4 , i + 8 8 k i + 2 , i + 10 9 k i , i + 8 , i + 12 10 k i + 14 11 k i + 8 , i + 12 12 k i + 10 13 k i + 8 14
To determine the computational complexity of the 20-round attack, first, we need to determine the required number of plaintext and ciphertext pairs. To do so, we will use the fact that in our proposed linear attack, we need to evaluate 16 linear approximations for the left-half, and 16 linear approximations for the right-half, hence we have a system of multiple approximations which enables us to apply multiple linear cryptanalysis.
Multiple linear cryptanalysis was first proposed in [22], by Kaliski and Robshaw, where they show how to exploit multiple linear expressions, all including the same key bits, to reduce the required number of plaintext and ciphertext pairs. Then Biryukov et al. [2], propose a more flexible framework for using multiple linear approximations, also defining the capacity of a system of m-approximations to be:
c ¯ 2 = 4 × i = 1 m c i 2 = 4 × i = 1 m ϵ i 2 .
A key recovery attack with a capacity of c ¯ 2 will require O ( 1 c ¯ 2 ) plaintext and ciphertext pairs. The system of the left-half approximations has a capacity of:
c ¯ 2 = 4 × 16 × 2 19 × 2 = 2 6 × ( 2 19 ) 2 = 2 32 .
Consequently, the data complexity of the 20-round linear attack may be approximated as 2 32 . The success probability, computed using the approach of [23], and with a four-bit advantage, is about 6 % . To increase the success probability, we would need to use a multiple of N = 1 c ¯ 2 P/C pairs, which is not feasible in this case. If we use 2 31 P/C pairs, the success probability drops to 4 % with a four-bit advantage. In the literature, key recovery attacks generally have a larger probability of success, but those attacks recover fewer bits of the key, while we have demonstrated recovery of the entire master key. We have a range of success probabilities, for example: 84 % for the 20-round attack of Simon 48/96 and 78 % for the 24-round attack of Simon 64/128.
In addition to the data complexity, we need to add the cost of guessing the key bits of the extended rounds to connect the plaintext and ciphertext with the left-half and the right-half approximations. Evaluating the left half approximations requires guessing 16 key bits for the super round of four-round encryption and another seven key bits for the super round of the four-round decryption, which results in a total time complexity of 16 × 2 32 × 2 16 × 2 7 = 2 59 . In the case of the right-half approximations, we need to brute force seven key bits to append the super round of fur-round encryption, and 16 key bits for the super round of four-round decryption which results also in 2 59 , hence the overall computational complexity to evaluate the two halves is 2 60 . In addition to the first three round keys ( k 0 , k 1 , k 2 ), we recover the last three round keys ( k 17 , k 18 , k 19 ) from which we can deduce k 3 as described in the next section. This results in the recovery of the entire master key.

7.2. The k 3 Deduction from k 19

According to the key schedule algorithm used in Simon, k 19 is:
k 19 = k 15 k 16 ( k 18 3 ) ( k 16 1 ( k 18 4 ) ) c ( z 0 ) 15 .
It can be rewritten in terms of the master key bits as follows:
k 19 = k 0 ( k 0 2 ) ( k 0 7 ) ( k 0 9 ) ( k 0 11 ) ( k 0 12 ) ( k 0 13 ) ( k 0 14 ) k 1 ( k 1 1 ) ( k 1 3 ) ( k 1 4 ) ( k 1 6 ) ( k 1 7 ) ( k 1 8 ) ( k 1 9 ) ( k 1 11 ) ( k 1 12 ) ( k 1 14 ) ( k 1 15 ) ( k 2 3 ) ( k 2 5 ) ( k 2 8 ) ( k 2 9 ) ( k 2 10 ) ( k 2 12 ) ( k 2 14 ) ( k 2 15 ) k 3 c o n s t a n t
It is clear from Equation (19), that we are able to compute k 3 , given the first three round keys ( k 0 , k 1 , k 2 ), and the last round key k 19 .

7.3. Summary of Projected Results

In Section 6, we presented the results from the experimental verification of our approach on small numbers of rounds. Table 12 summarizes our results for larger numbers of rounds (that cannot, obviously, be experimentally verified) on Simon32/64:

8. The Effect of Super Rounds on Larger Variants of Simon

Although the larger variants of Simon correspond to larger block and key sizes, we have found that the size of the super-keys is only slightly larger than that for Simon 32/64. After four-round encryption, a single bit of the left-half of the intermediate state is influenced by only 18 key bits. On the other hand, the size of the super-key of the right half stays the same, at seven bits.
We found that, for larger variants of Simon, the bias of linear approximations with only a single active bit in the input mask is very low. We looked for approximations with a higher bias that uses a very small number of active bits in the input mask. Thus, we may not be using the linear trails with the highest bias, but we need to realize an acceptable trade-off between the bias and the number of active bits of especially the left half, because appending the super round, in this case, is more expensive.
For Simon 48, we derived linear approximations with high bias that have three active bits in the input mask, one bit for the left half and two bits of the right half. Appending three super rounds to these approximations requires the guessing of 24 key bits, the size of one round key.
For Simon 64, we derived a linear trail with four active bits of input, one of the left half and three bits of the right half, requiring the guessing of 31 key bits with appended super rounds. This is smaller than a single round key. In Simon 96, and Simon 128, we obtain linear approximations that need the guessing of 41 and 53 key bits respectively, which, in both cases, are smaller than a single round key in these variants.

9. Conclusions

This paper describes the novel notions of super rounds and super keys and demonstrates their efficacy through both experimental and projected theoretical linear cryptanalysis of Simon 32/64. The feature of our attack is that we are able to apply Matsui’s second algorithm in an efficient manner, especially in the forward direction, to recover the entire master key or three-fourths of it.
We were able to recover three-fourths of the master key in the 8-round and 12-round linear attacks of Simon 32/64 with high accuracy, and we approximately recover more than 80 percent of the master key in the 10-round key recovery attack. The attack may be extended to 20 and 21-rounds revealing the full master key of size 64 bits. Similar results have been achieved and presented in the appendices for Simon 48, Simon 64, Simon 96, and Simon 128. We propose to apply our linear attack with super-rounds to other block ciphers with a design similar to Simon.

Author Contributions

R.A. contributed more than P.L.V. did to this work, with R.A. leading the work for her doctoral dissertation and contributing about 80% of the effort. All authors have read and approved the final version of the manuscript.

Funding

This research was sponsored in part by NSF award 1421373.

Conflicts of Interest

The authors declare no conflict of interest.

Appendix A. The Deduction of k3 from k9

Recall k 9 is generated as follows:
k 9 = k 5 k 6 ( k 8 3 ) ( k 6 1 ( k 8 4 ) ) c ( z 0 ) 5
k 9 = k 0 ( k 0 3 ) ( k 0 4 ) ( k 0 6 ) ( k 0 7 ) ( k 0 8 ) ( k 0 9 ) ( k 0 15 ) ( k 1 1 ) ( k 1 3 ) ( k 1 5 ) ( k 1 6 ) ( k 1 10 ) ( k 1 12 ) ( k 1 15 ) k 2 ( k 2 1 ) ( k 2 9 ) ( k 2 10 ) ( k 2 11 ) ( k 2 13 ) k 3 ( k 3 4 ) c o n s t a n t
C o n s t a n t = ( c ( z 0 ) 0 ) ( ( c ( z 0 ) 0 ) 3 ) ( ( c ( z 0 ) 0 ) 4 ) ( ( c ( z 0 ) 0 ) 6 ) ( ( c ( z 0 ) 0 ) 7 ) ( ( c ( z 0 ) 0 ) 8 ) ( ( c ( z 0 ) 0 ) 9 ) ( ( c ( z 0 ) 0 ) 15 ) ( ( c ( z 0 ) 1 ) 12 ) ( c ( z 0 ) 2 ) ( ( c ( z 0 ) 2 ) 1 ) ( ( c ( z 0 ) 2 ) 9 ) ( ( c ( z 0 ) 2 ) 10 ) ( ( c ( z 0 ) 2 ) 11 ) ( ( c ( z 0 ) 2 ) 12 ) ( ( c ( z 0 ) 3 ) 6 ) ( ( c ( z 0 ) 3 ) 8 ) ( ( c ( z 0 ) 4 ) 3 ) ( ( c ( z 0 ) 4 ) 4 ) ( c ( z 0 ) 5 ) .

Appendix B. 21-Rounds Linear Attack on Simon 32/64

Using the 13-rounds linear approximation with bias = 2 19 , we can append a super round before and after which results in a 21-rounds linear attack. The capacity of this system is 4 × 16 × 2 19 2 = 2 32 . Hence, the data complexity is 2 32 . The cost of appending the super rounds in average is 2 23 , as a result the time complexity to evaluate the left half approximations is 2 4 × 2 32 × 2 23 = 2 59 , additionally evaluate the right half system costs 2 56.5 . The total time complexity 2 59 + 2 56.5 = 2 59.23 .

Appendix C. Linear Attacks on Simon 48

In this section, we present the two projected linear attacks of 18-rounds and 20-rounds on Simon48. In addition to the 20-rounds and 21-rounds linear attacks in the average case.

Appendix C.1. 18-Rounds and 20-Rounds Linear Attacks on Simon 48/72

Here, we append the super rounds of four-rounds encryption to the 12-rounds linear approximation (see Table A1) and add two rounds decryption at the end to get 18-rounds linear attack. To compute the data complexity, first we need to compute the capacity of the multiple approximations.
c 2 = 4 × 24 × 2 19 × 2 = 2 6.58 × ( 2 19 ) 2 = 2 31.42 .
Appending four-rounds encryption comes at the cost of guessing 23 bits of subkeys, in addition to guessing 8 key bits of k 17 , to do two rounds decryption, in addition to guessing 8 key bits of k 17 , to do two rounds decryption, k i 17 for i = 1 , 8 , 13 , 20 , 9 , 16 , 17 , 0 .
Thus, the data complexity is 16 × ( 1 / 2 31.42 ) = 2 35.42 , and the total time complexity of this attack is 2 4.58 × 2 35.42 × 2 31 = 2 71 , with full recovery of the 72 master key bits, and with a success probability of 42 % with an 8-bit advantage. If we use only 8 × ( 1 / 2 31.42 ) = 2 34.42 , the success probability drops to 15 % .
In the case, we count the key bits we need to guess on average (key bits that are involved in and operation cost guessing a half-bit), then we can go further and present a 20-rounds linear attack. First, we extend the 12-rounds linear approximation by two more rounds and get a 14-rounds linear expression with bias = 2 26 (see Table A1). Here, we append four-rounds encryption to a 14-rounds linear approximation, then add two rounds decryption at the end which results in a 20-rounds linear attack. This costs guessing 21.5 bits (16.5 bits for the encryption and 5 bits for the decryption), and data complexity = 2 45.42 . The time complexity, in this case, is 2 71.5 ,with a 8 % success probability.
There are 10 bits of k i 19 , need guessing for i = 1 , 8 , 5 , 12 , 9 , 16 , 17 , 0 , 21 , 4 . However, counting these as a half bit results in guessing 5 bits in average.

Appendix C.2. 20-Rounds and 21-Rounds Linear Attacks on Simon 48/96

By extending the 12-rounds linear approximation by one more round we get a 13-round linear trail with capacity:
c 2 = 4 × 24 × 2 23 2 = 2 6.58 × 2 23 2 = 2 39.42 .
Appending four rounds encryption and three rounds decryption to the 13-round linear relation results in a 20-round linear attack. There are 23 key bits required guessing to add three rounds decryption: 17 bits of k i 19 for i = 1 , 8 , 9 , 16 , 17 , 0 , 12 , 19 , 2 , 4 , 11 , 18 , 5 , 20 , 3 , 10 , 21 , and 6 bits of the sum k i + 2 19 k i 18 for i = 11, 18, 3, 10, 19, 2.
The data complexity is 16 × 1 / 2 39.42 = 2 43.42 , and the time complexity in this case is 2 4.58 × 2 43.42 × 2 46 = 2 94 , with a success probability of about 21 % with an 8-bit advantage. We can increase this probability by increasing the number of plaintext and ciphertext pairs: 32 × 1 / 2 39.42 = 2 44.42 , which increases the success probability to 84 % ; the computational complexity rises to 2 96 . Table A1 lists the sequence of approximations used generate the 12-round, 13-round and 14-round linear approximations.
Table A1. The sequence of approximations used to derive 12, 13-rounds and 14-rounds linear trails for Simon 48.
Table A1. The sequence of approximations used to derive 12, 13-rounds and 14-rounds linear trails for Simon 48.
Active Bits in the Left SideActive Bits in the Right SideUsed ApproximationNumber of Approximations
60,4
0,421;12
2011
0-11
0 0
0211
20,411
0,461;12
60,4,811
0,4,82,101;1;13
2,100,8,121;12
0,8,12141;1;13
140,8,12,1611
0,8,12,162,10,181;1;1;14
2,10,180,4,8,16,201;1;13
In the average case computations, we can use the 14-round linear expression and append four rounds encryption and three rounds decryption to get a 21-rounds linear attack. There are 29 key bits reacquired guessing for adding three rounds decryption, but on average it costs 19.5 bits:
  • 19 bits of k i 20 for i = 2 , 9 , 16 , 10 , 17 , 0 , 18 , 1 , 8 , 6 , 13 , 20 , 7 , 14 , 22 , 5 , 12 , 23 , counted as a half bit
  • 10 bits of the sum k i + 2 20 k i 19 for i = 1 , 8 , 9 , 16 , 17 , 5 , 0 , 12 , 21 , 4
The time complexity of the attack is 2 4.58 × 2 45.42 × 2 16.5 × 2 19.5 = 2 86 . The success probability with an 8-bit advantage is 8 % .

Appendix D. Linear Attacks on Simon 64

Here, we describe the two linear attacks: 22-rounds and 24-rounds linear attacks on Simon 64/96 and Simon 64/128.

Appendix D.1. 22-Rounds and 23-Rounds Linear Attacks on Simon 64/96

We used the 16-rounds linear characteristic presented in Table A2, and append four-rounds encryption and two rounds decryption. The capacity of the system of 16-rounds linear trail:
c 2 = 4 × 32 × 2 28 2 = 2 7 × 2 62 2 = 2 49 .
The four-round encryption costs guessing 31 key bits and 8 more bits of k i 21 for i = 1 , 8 , 9 , 16 , 13 , 20 , 17 , 24 , to do two rounds decryption.
The data complexity is 4 × 1 / 2 49 = 2 51 , hence the time complexity is 2 5 × 2 51 × 2 39 = 2 95 , with a success probability of about 5 % with an 8-bit advantage and full recovery of the master key. We can increase the probability to 10 % by using 8 × 1 / 2 49 = 2 52 plaintext and ciphertext pairs, but the time complexity increase to 2 96 .
In the average case complexity, we got a 23-round linear attack, which results from appending seven rounds (four rounds encryption and three rounds decryption) to the 16-round linear trail. The four rounds encryption costs guessing 21.5 key bits on average, and the three rounds decryption requires guessing 16.5 key bits on average: There are 17 bits of k i 22 for i = 2 , 9 , 16 , 10 , 17 , 24 , 14 , 21 , 28 , 18 , 25 , 31 , 3 , 11 , 18 , 19 , 26 , these bits are counted as a half bit. Additionally, there are 8 bits of the sum k i + 2 22 k i 21 for i = 1 , 8 , 9 , 16 , 13 , 20 , 17 , 24 .
Thus, the time complexity of 23-round linear attacks is 2 5 × 2 51 × 2 21.5 × 2 16.5 = 2 94 .

Appendix D.2. 24-Rounds and 25-Rounds Linear Attacks on Simon 64/128

We derive a 17-rounds linear trail as presented in Table A2, and add four rounds before and three rounds after the linear characteristic to get a 24-rounds linear attack. The capacity of this new approximation is c 2 = 4 × 32 × 2 32 2 = 2 57 . Moreover, appending the extra rounds costs guessing 56 key bits, which consists of 31 for the four-rounds encryption and 24 bits for the decryption. There are 18 bits of k i 23 for i = 4 , 11 , 18 , 12 , 19 , 26 , 20 , 27 , 2 , 1 , 8 , 5 , 9 , 16 , 17 , 24 , 21 , 28 . Also, there are 6 bits of the sum k i + 2 23 k i 22 for i = 11 , 18 , 3 , 10 , 17 , 24 .
The data complexity is 32 × 1 / 2 57 = 2 62 . The time complexity is 2 5 × 2 62 × 2 55 = 2 122 , with a success probability of about 78 % with an 8-bit advantage.
In the case of counting the key bits on average, we can go deeper by using 18-rounds linear approximation and appending four rounds before and three rounds after, which results in a 25-rounds linear attack. The capacity of this system is c 2 = 4 × 32 × 2 35 2 = 2 63 , which makes the data complexity is 2 63 .
The four rounds encryption costs guessing 21.5 key bits in average. There are 10 bits of k i 24 for i = i = 2 , 9 , 16 , 6 , 13 , 20 , 10 , 17 , 24 , 18 , 25 , 0 , 22 , 29 , 7 , 14 , 23 , 30 . Additionally, there are 10 bits of the sum required guessing k i + 2 24 k i 23 for i = 1 , 8 , 5 , 12 , 9 , 16 , 21 , 28 , 17 , 24 . In total there are 41.5 key bits required guessing on average.
The time complexity of this attack is 32 × 2 63 × 2 41.5 = 2 109.5 .
Table A2. The sequence of approximations used to derive 16-rounds, 17-rounds and 18-rounds linear trails for Simon 64.
Table A2. The sequence of approximations used to derive 16-rounds, 17-rounds and 18-rounds linear trails for Simon 64.
Active Bits in the Left SideActive Bits in the Right SideUsed ApproximationNumber of Approximations
140,8,12
0,8,122,101;1;13
2,100,4,81;12
0,4,861;1;13
60,411
0,421;12
2011
0-11
0 0
0211
20,411
0,461;12
60,4,811
0,4,82,101;1;13
2,100,8,121;12
0,8,12141;1;13
140,8,12,1611
0,8,12,162,10,181;1;1;14
2,10,180,4,8,16,201;1;13

Appendix E. Simon 96

We derive a 28-rounds linear approximation presented in Table A3, with bias = 2 50 . Hence, we obtain a 34-rounds linear attack by appending four-rounds encryption at the beginning of the 28-rounds linear approximation and two rounds decryption at the end.
The capacity of this system of approximations: 2 2 × 2 5.58 × 2 50 2 = 2 92.42 . The four-rounds encryption cost guessing 31 key bits, where for the two rounds decryption costs guessing six more key bits for i = k i 33 for i= 1 , 8 , 5 , 12 , 9 , 16 . Thus, the time complexity is 2 5.58 × 2 93.42 × 2 37 = 2 136 , with a success probability of about 5 % with an 8-bit advantage.
In the case of average-case complexity, we present a 35-rounds linear attack, which comes from using a 28-rounds linear approximation and appending four rounds before and three rounds after. The four-rounds encryption costs guessing 21.5 bits on average. In addition to the costs of adding three rounds decryption, there are 12 bits of k i 34 for i = 2 , 9 , 16 , 6 , 13 , 20 , 10 , 17 , 24 , 3 , 11 , 18 , each counted as a half bit. Also, there are 6 bits of the sum k i + 2 34 k i 33 for i = 1 , 8 , 5 , 12 , 9 , 16 . The time complexity in this case is 2 5.58 × 2 93.42 × 2 21.5 × 2 12 = 2 132.5 .
Table A3. The sequence of approximations used to derive 28-rounds linear trails for Simon 96.
Table A3. The sequence of approximations used to derive 28-rounds linear trails for Simon 96.
Active Bits in the Left SideActive Bits in the Right SideUsed ApproximationNumber of Approximations
140,8,12
0,8,122,101;1;13
2,100,4,81;12
0,4,861;1;13
60,411
0,421;12
2011
0-11
00
0211
20,411
0,461;12
60,4,811
0,4,82,9,101;1;23
2,9,100,8,121;1;23
0,8,128,9,143;1;13
8,9,140,8,11,123;2;13
0,8,11,122,103;2;1;24
2,100,4,81;22
0,4,861;1;13
60,411
0,421;12
2011
0-0
-011
0211
20,411
0,461;12
60,4,811

Appendix F. Simon 128

We describe three linear attacks on the reduced round Simon 128 into: 41-rounds, 42-rounds and 43-rounds.

Appendix F.1. 40-Rounds and 42-Rounds Linear Attacks on Simon 128/192

We derive a 35-rounds linear approximation with bias = 2 68 and append a four-round encryption and one round decryption to get a 40-rounds linear attack. The capacity of this system of approximations 2 2 × 2 6 × 2 68 = 2 128 . The four rounds encryption costs guessing 53 key bits, where the one round decryption is free of any extra cost.
The time complexity in this case is 2 6 × 2 128 × 2 53 = 2 187 .
In the average case, we present a 42-rounds linear attack, which comes from using a 35-rounds linear approximation and append four rounds before and three rounds after. Extending the linear approximations by three rounds decryption involves 18 bits of k i 41 for i = 4 , 11 , 18 , 12 , 19 , 26 , 20 , 27 , 34 , 1 , 8 , 5 , 9 , 16 , 17 , 24 , 21 , 28 , which costs guessing 9 bits on average, in addition to 6 bits of the sum k i + 2 41 k i 40 for i = 11 , 18 , 5 , 10 , 19 , 26 . The four rounds encryption costs guessing 38.5 bits on average.
Counting the key bits on average reduce the cost of four rounds encryption from guessing 55 bits to 40 key bits. Also, the three rounds decryption costs 16 key bits on average, hence the time complexity 64 × 2 128 × 2 40 × 2 15 = 2 189 .

Appendix F.2. 43-Rounds Linear Attack on Simon 128/256

We extend the 42-round linear attack presented in Appendix F.1 by one more round at the end, this extension comes at the cost of guessing 106 key bits in total, which results in 2 6 × 2 106 × 2 128 = 2 240 . Table A4 lists the sequence of approximations used generate the 35-round linear approximation.
In the average case complexity, we have the same 43-rounds linear attack with a lower complexity. Thus, the four-rounds before and after costs guessing 76 key bits on average. The time complexity is 2 6 × 2 76 × 2 128 = 2 210 .
The key bits we need to guess to append four rounds decryption at the end are as follow:
  • 30 bits of k 34 for i = 5 , 12 , 19 , 6 , 13 , 26 , 20 , 27 , 14 , 21 , 34 , 28 , 29 , 22 , 35 , 42 , 36 , 2 , 9 , 16 , 10 , 17 , 24 , 18 , 25 , 32 , 36 , 7 , 23 , 30 , each counted as a half bit, which results in guessing a total of 15 key bits.
  • 17 bits of the sum k i + 2 34 k i 33 : for i = 4 , 11 , 18 , 12 , 19 , 26 , 27 , 34 , 1 , 8 , 5 , 9 , 16 , 17 , 24 , 21 , 28 .
  • 6 bits of the sum k i , i + 4 34 k i + 2 33 k i 32 for i = 3 , 10 , 11 , 18 , 19 , 26 .
Table A4. The sequence of approximations used to derive 35-rounds linear trails for Simon 128.
Table A4. The sequence of approximations used to derive 35-rounds linear trails for Simon 128.
Active bits in the Left SideActive bits in the Right SideUsed ApproximationNumber of Approximations
2,10,180,8,12,161;1;1;14
0,8,12,161411
140,8,121;1;13
0,8,122,101;12
2,100,4,81;1;13
0,4,8611
60,41,12
0,4211
2011
0-00
011
0211
20,41;12
0,4611
60,4,81;1;23
0,4,82,9,101;1;23
2,9,100,8,123;1;13
0.8.128,9,143;2;13
8,9,140,8,11,123;2;1;24
0,8,11,122,101;22
2,100,4,81;1;13
0,4,8611
60,41;12
0,4211
2011
0-0-
011
0211
20,41;12
0,4611
60,4,81;1;13
0,4,82,101;12
2,100,8,121;1;13
0,8,121411
140,8,12,161;1;1;14
0,8,12,162,10,18

References

  1. McKay, K.A.; Bassham, L.E.; Turan, M.S.; Mouha, N.W. Report on Lightweight Cryptography; National Institute of Standards and Technology: Gaithersburg, MD, USA, 2017. [Google Scholar]
  2. Biryukov, A.; De Cannière, C.; Quisquater, M. On Multiple Linear Approximations. In Advances in Cryptology—CRYPTO 2004; Franklin, M., Ed.; Springer: Berlin/Heidelberg, Germany, 2004; pp. 1–22. [Google Scholar]
  3. Lee, J.; Koo, B.; Kim, W. Related-Key Linear Cryptanalysis on SIMON. IACR Cryptol. ePrint Arch. 2018, 2018, 152. [Google Scholar]
  4. Alizadeh, J.; AlKhzaimi, H.; Aref, M.R.; Bagheri, N.; Gauravaram, P.; Lauridsen, M.M. Improved Linear Cryptanalysis of Round Reduced SIMON. IACR Cryptol. ePrint Arch. 2014, 2014, 681. [Google Scholar]
  5. Alizadeh, J.; Alkhzaimi, H.A.; Aref, M.R.; Bagheri, N.; Gauravaram, P.; Kumar, A.; Lauridsen, M.M.; Sanadhya, S.K. Cryptanalysis of SIMON Variants with Connections. Radio Frequency Identification: Security and Privacy Issues; Saxena, N., Sadeghi, A.R., Eds.; Springer International Publishing: Cham, Switzerland, 2014; pp. 90–107. [Google Scholar]
  6. Ashur, T. Improved Linear Trails for the Block Cipher Simon. IACR Cryptol. ePrint Arch. 2015, 2015, 285. [Google Scholar]
  7. Chen, H.; Wang, X. Improved Linear Hull Attack on Round-Reduced Simon with Dynamic Key-Guessing Techniques. In Fast Software Encryption; Peyrin, T., Ed.; Springer: Berlin/Heidelberg, Germany, 2016; pp. 428–449. [Google Scholar]
  8. Hermelin, M.; Cho, J.Y.; Nyberg, K. Multidimensional Linear Cryptanalysis. J. Cryptol. 2019, 32, 1–34. [Google Scholar] [CrossRef] [Green Version]
  9. Beaulieu, R.; Shors, D.; Smith, J.; Treatman-Clark, S.; Weeks, B.; Wingers, L. The SIMON and SPECK Families of Lightweight Block Ciphers. IACR Cryptol. ePrint Arch. 2013, 2013, 404. [Google Scholar]
  10. Nyberg, K. Linear approximation of block ciphers. In Advances in Cryptology—EUROCRYPT ’94; De Santis, A., Ed.; Springer: Berlin/Heidelberg, Germany, 1995; pp. 439–444. [Google Scholar]
  11. Ma, X.; Shi, D.; Hu, L.; Sun, S.; Song, L.; Qiao, K.; Ma, X. Improved Linear (hull) Cryptanalysis of Round-reduced Versions of SIMON. Sci. China Inf. Sci. 2017, 60, 39101. [Google Scholar]
  12. Sun, S.; Hua, L.; Wang, M.; Wang, P.; Qiao, K.; Ma, X.; Shi, D.; Ling Song, K.F. Towards Finding the Best Characteristics of Some Bit-oriented Block Ciphers and Automatic Enumeration of (Related-key) Differential and Linear Characteristics with Predefined Properties. Cryptol. ePrint Arch. 2014, 747, 2014. [Google Scholar]
  13. Abdelraheem, M.A.; Alizadeh, J.; Alkhzaimi, H.A.; Aref, M.R.; Bagheri, N.; Gauravaram, P. Improved Linear Cryptanalysis of Reduced-Round SIMON-32 and SIMON-48. In Progress in Cryptology—INDOCRYPT 2015; Biryukov, A., Goyal, V., Eds.; Springer International Publishing: Cham, Switzerland, 2015; pp. 153–179. [Google Scholar]
  14. Wang, N.; Wang, X.; Jia, K.; Zhao, J. Differential attacks on reduced SIMON versions with dynamic key-guessing techniques. Sci. China Inf. Sci. 2018, 61, 098103. [Google Scholar] [CrossRef] [Green Version]
  15. Bogdanov, A.; Rijmen, V. Linear hulls with correlation zero and linear cryptanalysis of block ciphers. Des. Codes Cryptogr. 2014, 70, 369–383. [Google Scholar] [CrossRef]
  16. Yu, X.; Wu, W.; Shi, Z.; Zhang, J.; Zhang, L.; Wang, Y. Zero-Correlation Linear Cryptanalysis of Reduced-Round SIMON. J. Comput. Sci. Technol. 2015, 30, 1358–1369. [Google Scholar] [CrossRef]
  17. Wang, Q.; Liu, Z.; Varici, K.; Sasaki, Y.; Rijmen, V.; Todo, Y. Cryptanalysis of Reduced-Round SIMON32 and SIMON48. In Progress in Cryptology—INDOCRYPT 2014, Proceedings of the 15th International Conference on Cryptology in India, New Delhi, India, 14–17 December 2014; Lecture Notes in Computer Science; Meier, W., Mukhopadhyay, D., Eds.; Springer: Berlin/Heidelberg, Germany, 2014; Volume 8885, pp. 143–160. [Google Scholar] [CrossRef] [Green Version]
  18. Sun, L.; Fu, K.; Wang, M. Improved Zero-Correlation Cryptanalysis on SIMON. In Information Security and Cryptology; Lin, D., Wang, X., Yung, M., Eds.; Springer International Publishing: Cham, Switzerland, 2016; pp. 125–143. [Google Scholar]
  19. Abed, F.; List, E.; Lucks, S.; Wenzel, J. Differential Cryptanalysis of Round-Reduced Simon and Speck. In Fast Software Encryption; Cid, C., Rechberger, C., Eds.; Springer: Berlin/Heidelberg, Germany, 2015; pp. 525–545. [Google Scholar]
  20. Alizadeh, J.; Bagheri, N.; Gauravaram, P.; Kumar, A.; Sanadhya, S.K. Linear Cryptanalysis of Round Reduced SIMON. IACR Cryptol. ePrint Arch. 2013, 2013, 663. [Google Scholar]
  21. Daemen, J.; Rijmen, V. Two-Round AES Differentials. IACR Cryptol. ePrint Arch. 2006, 2006, 39. [Google Scholar]
  22. Kaliski, B.S.; Robshaw, M.J.B. Linear Cryptanalysis Using Multiple Approximations. In Advances in Cryptology—CRYPTO ’94; Desmedt, Y.G., Ed.; Springer: Berlin/Heidelberg, Germany, 1994; pp. 26–39. [Google Scholar]
  23. Samajder, S.; Sarkar, P. Success probability of multiple/multidimensional linear cryptanalysis under general key randomisation hypotheses. Cryptogr. Commun. 2018, 10, 835–879. [Google Scholar] [CrossRef]
Figure 1. Simon round function.
Figure 1. Simon round function.
Cryptography 04 00009 g001
Figure 2. The super rounds.
Figure 2. The super rounds.
Cryptography 04 00009 g002
Figure 3. General form of linear attack with super rounds.
Figure 3. General form of linear attack with super rounds.
Cryptography 04 00009 g003
Figure 4. The 8-round linear attack.
Figure 4. The 8-round linear attack.
Cryptography 04 00009 g004
Figure 5. The 10-round linear attack.
Figure 5. The 10-round linear attack.
Cryptography 04 00009 g005
Figure 6. The 12-round linear attack.
Figure 6. The 12-round linear attack.
Cryptography 04 00009 g006
Figure 7. Number of bits guessed correctly using the left half only and using both halves in the 8-round attack.
Figure 7. Number of bits guessed correctly using the left half only and using both halves in the 8-round attack.
Cryptography 04 00009 g007
Figure 8. Number of bits guessed correctly using the left half only and using both halves in the 10-round attack.
Figure 8. Number of bits guessed correctly using the left half only and using both halves in the 10-round attack.
Cryptography 04 00009 g008
Figure 9. 8-round attack without approximations.
Figure 9. 8-round attack without approximations.
Cryptography 04 00009 g009
Figure 10. The 20-round linear attack.
Figure 10. The 20-round linear attack.
Cryptography 04 00009 g010
Table 1. Comparison of previous results using Matsui’s second algorithm and multiple linear cryptanalysis (without recourse to linear hull) on Simon.
Table 1. Comparison of previous results using Matsui’s second algorithm and multiple linear cryptanalysis (without recourse to linear hull) on Simon.
Average Case Computations
SimonNumber of RoundsData ComplexityTime ComplexityPresented in
32/6421-round 2 32 2 59.23 Appendix B
17-round 2 27 2 57.5 [4]
48/7220-round 2 45.42 2 71.5 Appendix C.1
19-round 2 39.42 2 68 [4]
48/9621-round 2 45.42 2 86 Appendix C.2
20-round 2 39.42 2 84.5 [4]
64/9623-round 2 51 2 94 Appendix D.1
22-round 2 51 2 89 [4]
64/12825-round 2 63 2 109.5 Appendix D.2
23-round 2 51 2 106 [4]
96/14435-round 2 93.42 2 132.5 Appendix E
34-round 2 86.42 2 134.5 [4]
128/19242-round 2 128 2 189 Appendix F.1
40-round 2 120 2 174.5 [4]
128/25643-round 2 128 2 210 Appendix F.2
42-round 2 120 2 233.5 [4]
Table 2. Comparison of previous results using Matsui’s second algorithm and multiple linear cryptanalysis on Simon without recourse to linear hull (* indicates that the complexity of [4] is worse than brute force attack).
Table 2. Comparison of previous results using Matsui’s second algorithm and multiple linear cryptanalysis on Simon without recourse to linear hull (* indicates that the complexity of [4] is worse than brute force attack).
Worst Case Computations
SimonNumber of RoundsData ComplexityTime ComplexityPresented in
32/6420-round 2 32 2 60 Section 7
* 17-round 2 26 2 66 [4]
48/7218-round 2 35.42 2 71 Appendix C.1
* 18-round 2 39.42 2 78 [4]
48/9620-round 2 43.42 2 94 Appendix C.2
* 20-round 2 39.42 2 97 [4]
64/9622-round 2 51 2 95 Appendix D.1
* 22-round 2 51 2 101 [4]
64/12824-round 2 62 2 122 Appendix D.2
23-round 2 51 2 123 [4]
96/14434-round 2 93.42 2 136 Appendix E
* 34-round 2 86.42 2 149 [4]
128/19240-round 2 128 2 187 Appendix F.1
40-round 2 120 2 192 [4]
128/25643-round 2 128 2 240 Appendix F.2
42-round 2 120 2 236 [4]
Table 3. Simon parameters.
Table 3. Simon parameters.
Block Size 2 n Key Size mn Word Size nKey Words mNumber of Rounds
Simon 326416432
Simon 487224336
96 436
Simon 649632342
128 444
Simon 969648252
144 354
Simon 12812864268
192 369
256 472
Table 4. Summary of linear hull results.
Table 4. Summary of linear hull results.
SimonTotal
Rounds
Attacked
Rounds
Data
Complexity
Time
Complexity
Reference
Simon 32/643221 2 30.56 2 55.56 [4]
21--[11]
23 2 30.59 2 50 [13]
23 2 31.19 2 61.84 A + 2 56 E [7]
Simon 48/723620 2 44.11 2 70.61 [4]
23 2 47.78 2 62.10 [13]
24 2 47.92 2 67.89 A + 2 65.34 E [7]
Simon 48/963621 2 44.11 2 87.11 [4]
21--[11]
24 2 47.78 2 83.10 [13]
23 2 47.92 2 92.92 [12]
25 2 47.92 2 89.89 A + 2 88.28 E [7]
Simon 64/964227 2 62.53 2 88.53 [4]
30 2 63.53 2 93.62 A + 2 88.13 E [7]
Simon 64/1284429 2 62.53 2 123.53 [4]
29--[11]
31 2 63.53 2 119.62 A + 2 120 E [7]
Simon 96/965237 2 95.2 2 67.94 A + 2 88 E [7]
Simon 96/1445436 2 94.2 2 135.2 [4]
38 2 95.2 2 98.54 A + 2 136 E [7]
Simon 128/1286836 2 124 2 124 [11]
49 2 127.6 2 87.77 A + 2 120 E [7]
Simon 128/1926948 2 126.6 2 187.6 [4]
43 2 127 -[11]
51 2 127.6 2 155.77 A + 2 184 E [7]
Simon 128/2567250 2 126.6 2 242.6 [4]
53 2 127.6 2 239.77 A + 2 248 E [7]
‘-’ refers to not given, A refers to number of additions, E refers to number of encryptions.
Table 5. Super Keys.
Table 5. Super Keys.
Super-Key for Fs enc , i , 0 i 15 Super-Key for Fs enc , i , 16 i 31
Left HalfRight Half
k i + 8 0 k i + 12 0 k i + 10 1 k i + 8 2 k i + 3 0 k i + 1 1
k i + 1 0 k i + 5 0 k i + 3 1 k i + 1 2 k i + 10 0 k i + 8 1
k i + 12 0 k i + 10 1 k i + 2 0
k i + 5 0 k i + 3 1 k i + 3 0
k i + 2 0 k i 1 k i + 10 0
k i + 11 0 k i + 9 1 k i + 9 0
k i + 4 0 k i + 2 1 k i 0
k i + 12 0
k i + 5 0
k i + 2 0
k i + 11 0
k i + 4 0
k i + 10 0
k i + 3 0
k i + 8 0
k i + 1 0
Table 6. Comparison of 8-round attack results using the left half only and using both halves.
Table 6. Comparison of 8-round attack results using the left half only and using both halves.
Number of RoundsSuper Key Bits Estimated Bits Correctly
Guessed
(out of 16 Bits)
No. of
Experiments
(out of 14)
8-round (left half) B i t 1 1614
B i t 2
average no. bits guessed correctly = 15.7
1611
152
141
B i t 3
average no. bits guessed correctly = 13.4
161
156
142
121
113
91
8-round (left and right halves) B i t 1 1614
B i t 2
average no. bits guessed correctly = 15.8
1611
153
B i t 3
average no. bits guessed correctly = 13.4
161
156
142
121
113
91
Table 7. Comparison of 10-round attack results using the left half only and using both halves.
Table 7. Comparison of 10-round attack results using the left half only and using both halves.
Number of RoundsSuper Key Bits EstimatedBits Correctly
Guessed
(out of 16 Bits)
No. of
Experiments
(out of 14)
10-round (left half) B i t 1 1614
B i t 2
average no. bits guessed correctly = 15.8
1613
141
B i t 3
average no. bits guessed correctly = 13.2
154
143
133
122
111
91
B i t 4
average no. bits guessed correctly = 13.8
162
152
145
132
122
111
10-round (left and right halves) B i t 1 1614
B i t 2
average no. bits guessed correctly = 15.8
1612
151
141
B i t 3
average no. bits guessed correctly = 13.4
161
154
143
132
122
111
91
B i t 4
average no. bits guessed correctly = 15.6
1611
152
131
Table 8. Comparison of 12-round attack results using the left half only and using both halves.
Table 8. Comparison of 12-round attack results using the left half only and using both halves.
Number of RoundsSuper Key Bits EstimatedBits Correctly
Guessed
(out of 16 Bits)
No. of
Experiments
(out of 3)
12-round (left half) B i t 1 163
B i t 2 163
B i t 3
average no. bits guessed correctly = 13
151
131
111
12-round (left and right halves) B i t 1 163
B i t 2 163
B i t 3
average no. bits guessed correctly = 13
151
131
111
Table 9. Summary of the Experimental Results.
Table 9. Summary of the Experimental Results.
Experimental
Results
Super Key Bits
Recovered
Master Key Bits
Recovered
Data
Complexity
Time
Complexity
Success
Probability
8-round41–48 bits43–48 bits 2 14 2 34.00281 94 %
10-round55–64 bits56–64 bits 2 14 2 36.044 95 %
12-round45–48 bits45–48 bits 2 25 2 45.0028 94 %
8-round without112 bits64 bits 2 5.58 2 34.58 100 %
approximations
Table 10. The sequence of approximations used to derive 12-rounds and 13-rounds linear trails for the left-half of Simon 32.
Table 10. The sequence of approximations used to derive 12-rounds and 13-rounds linear trails for the left-half of Simon 32.
Active Bits in the Left SideActive Bits in the Right SideUsed ApproximationNumber of Approximations
0-
011
0211
20,41;12
0,4611
60,4,81;1;13
0,4,82,101;12
2,100,8,121;1;13
0,8,121411
148,121;12
8,121011
10811
8-
-8
Table 11. The sequence of approximations used to derive and 13-rounds linear trails for the right-half of Simon 32.
Table 11. The sequence of approximations used to derive and 13-rounds linear trails for the right-half of Simon 32.
Active bits in the Left SideActive bits in the Right SideUsed ApproximationNumber of Approximations
-011
021;12
20,411
0,461;1;13
60,4,81;12
0,4,82,101;1;13
2,100,8,1211
0,8,12141;12
148,1211
8,121011
10811
8-1;12
-8
80,10
Table 12. Summary of the Projected Results.
Table 12. Summary of the Projected Results.
Projected
Results
Key Bits RecoveredMaster
Key Bits
Data
Complexity
Time
Complexity
20-round64 independent key bits64 master key bits 2 32 2 60
32 dependent key bits

Share and Cite

MDPI and ACS Style

Almukhlifi, R.; Vora, P.L. Linear Cryptanalysis of Reduced-Round Simon Using Super Rounds. Cryptography 2020, 4, 9. https://doi.org/10.3390/cryptography4010009

AMA Style

Almukhlifi R, Vora PL. Linear Cryptanalysis of Reduced-Round Simon Using Super Rounds. Cryptography. 2020; 4(1):9. https://doi.org/10.3390/cryptography4010009

Chicago/Turabian Style

Almukhlifi, Reham, and Poorvi L. Vora. 2020. "Linear Cryptanalysis of Reduced-Round Simon Using Super Rounds" Cryptography 4, no. 1: 9. https://doi.org/10.3390/cryptography4010009

Article Metrics

Back to TopTop