Next Article in Journal
Computational Analysis of the Magnetized Second Grade Fluid Flow Using Modified Fourier and Fick’s Law towards an Exponentially Stretching Sheet
Next Article in Special Issue
On Resilient Boolean and Vectorial Boolean Functions with High Nonlinearity
Previous Article in Journal
Random Maximum 2 Satisfiability Logic in Discrete Hopfield Neural Network Incorporating Improved Election Algorithm
Previous Article in Special Issue
Robust Code Constructions Based on Bent Functions and Spline Wavelet Decomposition
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A New Mixture Differential Cryptanalysis on Round-Reduced AES

1
School of Cyberspace Science and Technology, Beijing Institute of Technology, Beijing 100081, China
2
Key Laboratory of Cryptography of Zhejiang Province, Hangzhou Normal University, Hangzhou 311121, China
3
Southeast Institute of Information Technology, Beijing Institute of Technology, Fujian 351100, China
4
School of Cyber Science & Engineering, Wuhan University, Wuhan 430072, China
*
Author to whom correspondence should be addressed.
Mathematics 2022, 10(24), 4736; https://doi.org/10.3390/math10244736
Submission received: 11 October 2022 / Revised: 22 November 2022 / Accepted: 9 December 2022 / Published: 13 December 2022
(This article belongs to the Special Issue Advances in Algebraic Coding Theory and Cryptography)

Abstract

:
AES is the most widely used secret-key cryptosystem in industry, and determining the security of AES is a central problem in cryptanalysis. The mixture differential property proposed in Eurocrypt 2017 is an essential property to setup state-of-the-art key recovery attacks on some round-reduced versions of AES. In this paper, we exploit mixture differential properties that are automatically deduced from a mixed integer linear programming (MILP)-based model to extend key recovery attacks on AES. Specifically, we modify the MILP model toolkit to produce all mixture trails explicitly and test a 5-round secret-key mixture differential distinguisher on small-scale AES experimentally. Moreover, we utilize this distinguisher to do a key recovery attack on 6-round AES-128 that outperforms previous work in the same fashion. We also for the first time utilize a 6-round AES secret-key distinguisher to set up a key recovery attack on 7-round AES-192. This work is a new yet simple cryptanalysis on AES by exploiting mixture differential properties.
MSC:
94A60

1. Introduction

Block ciphers, as a category of private key cryptographic algorithms, are the workhorse of cryptography for ensuring confidentiality due to their high efficiency compared with public key cryptographic algorithms. The security of cryptographic algorithms is analyzed from both theoretical and practical points of view. Analysis from the theoretical point of view is referred to as cryptanalysis, where an attacker can only access plaintexts and ciphertexts of the target algorithm. Cryptanalysis aims to find out flaws in the cipher design, which can give a more accurate security evaluation of the target cipher. In this paper, we focus on cryptanalysis of the most widely used standard block cipher, AES [1], to try to find out special statistic properties reflected only in plaintexts and ciphertexts to recover the secret key from a theoretical point of view. In addition to theoretical cryptanalysis, analysis from a practical point of view (e.g., differential power analysis [2] or differential fault analysis [3]) analyzes the security of the implementation of the target cipher, which is beyond the scope of this paper.
A key recovery attack on AES comes in two steps: (1) finding out the property that can make a distinguisher and (2) designing the key recovery attack algorithm based on the found distinguisher to recover the secret key. Distinguishing a block cipher under a secret key from a random permutation is a devastating violation of security. Technically, the distinguishers are properties that hold on (even reduced round) block ciphers with a probability significantly different from that for random permutations. After a distinguisher is found, the divide-and-conquer framework can be used to setup a key recovery attack. However, the key recovery procedure is not always so obvious because the data/time/memory complexities of the whole process will probably exceed the complexities of brute-force methods that are standard measures to compare against. The state-of-the-art key recovery attacks on AES exploit a variety of statistical properties that can be used as a distinguisher, including the mixture differential properties revealed in [4] by an automatic searching method. Whether this kind of distinguisher can be used to setup key recovery attacks on AES remains unclear. In this paper, we answer this question by providing effective key recovery attacks based on the mixture differential distinguishers.

1.1. Related Work

A variety of properties of AES have been investigated to do key recovery attacks. The collision attack [5] revealed that there exist collisions between some partial byte-oriented functions induced by the AES structure, and thus a 4-round distinguisher can be constructed that in turn enables attacks on 7-round AES with any key length. Differential cryptanalysis [6] provides the basic concepts of many cryptanalysis methods, including the impossible differential cryptanalysis [7]. As for key recovery attacks on AES, the impossible differential cryptanalysis [8] put a 4-round impossible differential distinguisher in the middle to launch a 6-round key recovery attack. Meet-in-the-Middle (MITM) attack [9] utilized the 4-round property that, for a special plaintext set called δ -set, the number of possible values for one byte in the ciphertext set after four-round encryption is very limited. With additional techniques such as data/time/memory trade-off and differential enumeration, key recovery attack complexities for 6-round AES-128 and up to 8-round AES-192 and AES-256 are modified from that in a previous MITM attack [10]. The Square attack was presented in the design of AES [11], and shows that for a δ -set of plaintexts, the XOR sum of the intermediate states after three rounds of encryption is equal to zero. A “partial sum” technique has been introduced [12], which substantially reduces the work factor of the dedicated Square attack. The “partial sum” method in the Square attack can be improved by analyzing more information per δ -set [13], and thus the time complexity can be significantly reduced.
In Eurocrypt 2017, Grassi et al. [14] discovered the first secret-key distinguisher for 5-round AES. In FSE/ToSC 2019, this property is further refined as “mixture-differential cryptanalysis” [15]. The main idea is, given that the 4-round ciphertexts from a chosen plaintext pair lie in a particular subspace, the probability is 1 that a specially constructed pair has the same property, while this is not the case for the random permutation. This 4-round property is modified to 5-round and a 6-round key recovery attack is launched by prepending one round before the distinguisher [16]. Note that this is the first time that a 5-round distinguisher can be used to set up key recovery attacks. The mixture differential property was used by Bar-On et al. [17,18] to launch key-recovery attacks on up to 7-round AES-192 and -256 with practical data and memory complexities. Meanwhile, the record for a 5-round key recovery attack, which cost 2 16.5 encryption/decryption [19], is also highly related to such mixture differential structures.
The mixture differential property has been investigated from diverse perspectives to extend to more block ciphers [20] and to setup distinguishers with more rounds [16]. However, all these properties are deduced by scrutinizing structures of AES-like constructions manually. Not until recently has a Mixed Integer Linear Programming (MILP)-based method been proposed to search for mixture differential properties automatically [4]. With this method, given a description of an aligned block cipher, whether in SPN or Feistel structure, finding the mixture differential distinguishers is converted to an MILP problem that can be solved by off-the-shelf constraint programming problem solvers (e.g., Gurobi [21]), which is the paradigm for the automatic symmetric-key cryptanalysis that has been gaining popularity in recent years [22,23,24,25,26,27]. The automatically deduced mixture differential distinguishers for AES cover up to 6 rounds and have been used to perform distinguishing attacks. However, no key recovery attacks have been provided based on distinguishers on AES. Furthermore, no previous work has ever directly applied a 6-round distinguisher to perform key recovery attacks.

1.2. Our Contribution

In this paper, we answer the question of whether the automatically deduced mixture differential distinguishers can be used to do key recovery attacks. The contributions are summarized below.
  • We verify the 5-round mixture differential distinguisher deduced from the MILP method experimentally on small-scale AES practically. With lookup-table-based implementation, the verification efficiency is improved about 20 times. Compared with the textbook implementation, the verification time with 2 30 5-round encryption is decreased from more than 20 min to about 1 min when running on 32 parallel threads with an AMD Ryzen Threadripper 3970X Processor. We also refined the MILP-based automatic tool for searching for mixture differential distinguishers to illustrate all trails to form the distinguisher.
  • In the key recovery aspect, we give a 6-round key recovery attack on AES-128 by directly exploiting the automatically deduced 5-round secret key distinguisher with data/time complexity reduced to 2 38 / 2 83.36 / 2 33 . The previous best attack in the same fashion was by Grassi [16], with data/time/memory complexity being 2 72.8 / 2 105 / 2 33 . Our methods present a dramatic decrease in data and time complexity with the same memory complexity.
  • Further, a novel 7-round key recovery attack on AES-192 that directly exploits a 6-round secret-key distinguisher is also presented. Though this attack has higher complexity than some previous ones, this is the first direct utilization of a 6-round secret-key distinguisher to do key recovery attacks on 7-round AES with complexity lower than a brute-force attack.
All our source codes are provided in the repository https://github.com/qiaokexin/mixture-differential-for-AES.git (accessed on 10 October 2022).
This paper is organized as follows. In Section 2, after a short description of AES, we introduce metrics for evaluating cryptanalysis methods and mixture differential distinguishers. In Section 3, we rewrite the automatic mixture differential searching model and verify the 5-round distinguisher on small-scale AES practically and also illustrate the 6-round mixture characteristics concretely for verification. In Section 4, key recovery attacks on 6-round AES-128 and 7-round AES-192 are given. The paper is summarized in Section 5.

2. Preliminary

We inherit some notations from [4,18].

2.1. A Brief Description of AES

AES [1] block cipher takes in a 128-bit block organized as a 4 × 4 matrix on G F ( 2 8 ) and a 128-, 192- or 256-bit master key. Denote the three versions by AES-128, AES-192 and AES-256 respectively. The number of rounds for AES-128, AES-192 and AES-256 are 10, 12 and 14, respectively. The key schedules for generating subkeys in each round for the three versions are different in detail but follow the same framework. The encryption operations in each round for all versions are identical. The input state is denoted by x 1 . After XORing a whiten key k 1 , the state iterates on round functions 10, 12 and 14 times, respectively. The whitening key is the first 128 bits of the master key. The state before the i-th round is denoted by x i . In the i-th round, the state goes through the following four steps (Figure 1):
  • SubBytes ( SB ): each byte of x i is substituted by another byte according to an invertible 8-bit Sbox to get state x i . The substitution is determined by a table called Sbox, which is a permutation of 8-bit elements. The Sbox and inverse Sbox are given in Appendix A. An inverse Sbox is used in decryption, and this step is denoted by InvSubBytes.
  • ShiftRows ( SR ): the j-th ( j = 0 , , 3 ) row of state x i is cyclicly shifted by j bytes to the left to get state x i . Cyclic shifting to the right with the same offsets is applied in decryption, and this step is denoted by InvShiftRows.
  • MixColumn ( MC ): multiply each column of x i by a 4 × 4 MDS (maximum distance separable) matrix over G F ( 2 8 ) . The MDS matrix and its inverse are
    M = 2 3 1 1 1 2 3 1 1 1 2 3 3 1 1 2 , and M 1 = E B D 9 9 E B D D 9 E B B D 9 E ,
    where each element in the matrix is an element in G F ( 2 8 ) defined by the irreducible polynomial x 8 + x 4 + x 3 + x + 1 , and multiplication and addition are also performed in this field. Multiplication of M 1 on each column is performed in decryption, and this step is denoted by InvMixColumn. The MDS property ensures that the number of non-zero bytes among the input column and output column is no less than 5, except for the all-zero case, i.e., the branch number being 5.
  • AddRoundKey ( ARK ): XORing a 128-bit subkey k i to the state to get x i + 1 .
Note that in the last round, MC operation is omitted, and this is also the case for reduced versions in this paper. The key schedule algorithm processes the master key to generate the whiten key and all subkeys. As our attack does not utilize relations among subkeys, we do not show the key schedule here.
The indexes of each byte in a state are in column first order. Use x r , I to denote the bytes of state x r indicated by I, where I can be a single index or a set of indexes. Use C o l ( j ) to denote the j-th column of the state and C o l ( j 0 , , j l 1 ) for multi-columns. We are interested in diagonals of states, denoted by x i , SR 1 ( C o l ( J ) ) , and also inversive diagonals, denoted by x i , SR ( C o l ( J ) ) , where J is a column index or consists of several column indexes. Use Δ ( x ) to denote the difference on specific state x. We use x ( 0 ) , x ( 1 ) , x ( 2 ) , x ( 3 ) to denote four states in a quadruple.
A straightforward decryption of AES is done by using the inverses of the steps InvSubBytes, InvShiftRows, InvMixColumns and AddRoundKey and reversing their order. However, an equivalent algorithm for decryption that performs InvSubBytes–InvShiftRows–InvMixColumns–AddRoundKey in each round and omits InvMixColumns in the last round has been anticipated in the AES design. So we can have a decryption algorithm that has the same structure as the encryption, with a change in the key schedule in that we need to apply the InvMixColumns operation to the round keys in the middle rounds. Considering that the distinguishers used in our key recovery attacks are independent of the details of the Sbox and the MixColumn matrix, we can get an equivalent distinguisher on the decryption direction by shifting the patterns on diagonal positions to the anti-diagonal positions due to the shift row differentiations. Therefore, our key recovery attack can be applicable to both encryption and decryption with the same complexities.
AES block cipher by itself is only suitable for encryption or decryption of one block, say a 128-bit string. When processing messages longer than a block, a mode of operation is needed to repeatedly apply AES. Common modes of operation include ECB, CBC, CFB, OFB, CTR, etc. As cryptanalyses on modes of operation are beyond the scope of this work, we do not present them in detail.

2.2. Metrics of Evaluation of Cryptanalysis Methods

Cryptanalysis tries to find non-randomness in the cipher design that can be reflected from plaintexts and ciphertexts without any side-channel information from the execution. Key recovery attacks are the most threatening cryptanalysis method. Technically, the key recovery procedure is a divide-and-conquer process. By appending or prepending extra rounds to the distinguisher, partial key bits involved in the added rounds can be recovered by utilizing the distinguisher property. Then, the non-involved key bits are exhaustively searched. The cost of a key recovery attack is estimated with respect to the following aspects: data complexity, time complexity and memory complexity. Data complexity is measured by the number of queries of encryption oracle by the attacker. Time complexity is measured by the computational cost executed by the attacker offline. The unit is usually the cost of one execution of the encryption algorithm. Memory complexity is the memory required to launch the attack. An effective key recovery attack should have complexities lower than those of a brute-force attack, which is the standard measure to compare against. A brute-force attack has data/time/memory complexity of 1 / 2 n / 1 (by enumerating all keys) or 1 / 1 / 2 n (by lookup from a precomputed table), where n is the number of key bits. More basics of cryptanalysis on block ciphers can be found in ([28], Chap. 4). The goal of cryptanalysts is to reduce the complexities of the attack, and one cryptanalysis method outperforms another if its complexity is lower.

2.3. Mixture Differentials

Mixture differential property reflects the byte-wise equality relation among a quadruple of states. There are a total of 15 sorted combinations of four bytes up to pair-wise equality:
( a , b , b , b ) , ( a , a , b , b ) , ( a , b , a , a ) , ( a , b , b , a ) , ( a , b , c , c ) , ( a , b , b , c ) , ( a , a , b , a ) , ( a , b , c , a ) , ( a , a , a , a ) , ( a , b , a , c ) , ( a , b , a , b ) , ( a , b , c , d ) , ( a , a , b , c ) , ( a , a , a , b ) , ( a , b , c , b ) ,
where different letters indicate different values. We call them quadruple patterns. If the four bytes consist of two same pairs, we call this quadruple a mixture ([18], Def. 1). Quadruple patterns of mixtures include the following cases:
  • copy pattern ( a , b , a , b ) , which means the second pair is a copy of the first pair. This pattern is denoted by “c” and shown graphically as Mathematics 10 04736 i001.
  • exchange pattern ( a , b , b , a ) , which means the second pair is acquired by exchange of the two values in the first pair. This pattern is denoted by “e” and shown graphically as Mathematics 10 04736 i002.
  • shift pattern ( a , a , b , b ) , which means the second pair is acquired by shifting an inactive pair, denoted by “s” and shown graphically as Mathematics 10 04736 i003.
  • inactive pattern ( a , a , a , a ) , which consists of four equal bytes. This pattern is denoted by “-” and shown graphically as Mathematics 10 04736 i004.
Other quadruple patterns are denoted by “∗” and shown graphically as Mathematics 10 04736 i005. Throughout this paper, mixture patterns or mixture differential patterns include these five quadruple patterns. Probability for a random quadruple to have a “c”, “e” or “s” pattern is 2 2 w , and probability to have an inactive pattern is 2 3 w , where w is width of the word.
For aligned block ciphers, the quadruple/mixture patterns on each byte (or nibble for nibble-wise block ciphers) constitute the quadruple/mixture pattern of the full state. In the iterative cryptographic primitives, certain mixture patterns can be deduced with some probability through the iteration. The mixture patterns for states in each round constitute a pattern trail. With fixed input and output mixture patterns, probability on all trails with significantly high probability can be summed up to make a mixture differential distinguisher with higher probability, which resembles the differential hull for classical differential cryptanalysis. If the probability is higher than that of a random permutation, this property can potentially be used for distinguishing attacks or key recovery attacks. We refine the formal definition and proposition for mixture differentials from [4].
Definition  1
((Refined) Mixture Differential). A mixture differential is a pair of quadruple patterns ( P i n , P o u t ) such that given plaintext quadruples ( P 0 , P 1 , P 2 , P 3 ) conforming P i n , the ciphertext quadruples ( C 0 , C 1 , C 2 , C 3 ) conform P o u t with probability p.
We have the following proposition
Proposition 1.
To distinguish an aligned cryptographic permutation from a random one by mixture differentials defined in Definition 1, it is required that for cryptographic permutation, p > 2 w ( 3 n + 2 ( n c + n x + n s ) ) significantly, where w is the width of the word for the cryptographic permutation, and n , n c , n x , n s are the number of word-wise “-”, “ c ”, “ x ” and “ s ” mixture patterns in the output pattern.
Figure 2 shows a mixture trail on 4-round AES with probability 2 32 that is utilized in Bar-On et al.’s work [17,18] (they actually consider a cluster of similar distinguishers). Note that for a random F 2 128 F 2 128 permutation, the probability of having the output mixture pattern given the input mixture pattern is 2 64 .

3. Mixture Differential Distinguishers

Though mixture differential cryptanalysis has attracted a lot of attention since its proposed, it was not until recently that it was investigated by using an automatic tool to search for such distinguishers. In [4], an MILP-based automatic tool is developed to search for mixture distinguishers.

3.1. Search for Mixture Differential Distinguishers with MILP Model

The framework of the MILP model firstly uses binary variables to represent the equality between any two states among a quadruple; thus, the mixture pattern is encoded to a 6-bit string for each byte. Then, the mixture patterns propagate through each layer with probabilities that are also encoded as binary strings. The mixture pattern variables and probability variables affect each other by satisfying some linear inequalities. Noting that second-order property—whether the first pair difference equals the second pair difference on a byte—influences the probability of getting a certain mixture pattern; second-order equalities on each byte are also encoded to binary variables, and with some auxiliary variables, the effect on probability is expressed by linear inequalities as well. All 0-1 variables used in the model are summarized as follows.
  • e ij r 1 , s , ij Ind = { 01 , 02 , 03 , 12 , 13 , 23 } , s [ 0 , 15 ] , mixture pattern encoding variables for the s-th byte in the input state to the r-th round, i.e., x r 1 , s . We have e ij r 1 , s = 0 iff x r 1 , s ( i ) = x r 1 , s ( j ) .
  • deA ij r 1 , t , ij Ind , t [ 0 , 3 ] , column-wise mixture pattern encoding variables for the t-th input column for MC operation in the r-th round. Note that an input column to MC layer is a diagonal of the input state, i.e., x r 1 , SR 1 ( C o l ( t ) ) . We have deA ij r 1 , t = 0 iff x r 1 , SR 1 ( C o l ( t ) ) ( i ) = x r 1 , SR 1 ( C o l ( t ) ) ( j ) .
  • A h r 1 , s , A l r 1 , s , s [ 0 , 15 ] , probability encoding variables. By considering the first-order differential property, the probability to have some mixture pattern on x r , s is 2 w ( 2 A h r 1 , s + A l r 1 , s ) . For example, for a random input quadruple, the probability of an output byte conforming a “ c ”, “ s ” or “ e ” pattern is 2 2 w ( A h r 1 , s = 1 , A l r 1 , s = 0 ) , and it is 2 3 w ( A h r 1 , s = 1 , A l r 1 , s = 1 ) for a “-” pattern.
  • Δ SB r 1 , s together with A SB r 1 , s , s [ 0 , 15 ] . The former indicates whether the second-order differential is 0 for x r 1 , s , i.e., Δ SB r 1 , s = 0 iff x r 1 , s ( 0 ) x r 1 , s ( 1 ) = x r 1 , s ( 2 ) x r 1 , s ( 3 ) . The latter describes that the assignment of Δ SB r 1 , s holds with probability 2 w A SB r 1 , s . If the s-th Sbox is active for both the first pair and the second pair in the quadruple, with probability 2 w ( A SB r 1 , s = 1 ) we have Δ SB r 1 , s = 0 , or we have Δ SB r 1 , s = 1 with probability 1 ( A SB r 1 , s = 0 ). If the s-th Sbox is inactive for both pairs, Δ SB r 1 , s = 0 with probability 1 ( A SB r 1 , s = 0 ). If the s-th Sbox is inactive for only one pair, we have Δ SB r 1 , s = 1 with probability 1 ( A SB r 1 , s = 0 ).
  • dop r 1 , t , t [ 0 , 3 ] , indicates whether second-order differential is 0 on x r 1 , C o l ( t ) . We have dop r 1 , t = s SR 1 ( Col ( t ) ) Δ SB r 1 , s .
  • lab r 1 , t , t [ 0 , 3 ] , a dummy variable used as a label. We have lab r 1 , t = 0 deA Ind = 111111 .
  • A minus r 1 , s , number of activity variables reduced considering second-order differential properties. The probability of the mixture pattern trail covering R rounds is estimated as 2 r = 1 R s = 0 15 ( 2 A h r 1 , s + A l r 1 , s + A SB r 1 , s A minus r 1 , s ) .
Now we are ready to impose constraints on these variables. The pseudo-code of how the MILP model is built is shown in Algorithm 1, and we refer the readers to [4] for the detailed mechanism of how the inequality templates are generated. For completeness and to enable the readers to reproduce the distinguishers (once produced, deduced distinguishers are easy to be verified experimentally or theoretically, as will be shown later), details of how linear inequalities concerning certain variables are generated by templates are provided in Appendix B. Note that the input pattern and output pattern can be left null and additional variables and constraints need to be added to describe how many activity variables are consumed to have an output pattern for random permutations, which is used as a threshold. By imposing that the objective function is smaller than the threshold, we get an optimization model to deduce input and output patterns to form a distinguisher.
With this model, by solving an optimization problem, the largest probability together with input and output mixture patterns are deduced. Furthermore, given the input and output mixture patterns, by solving an enumeration problem, one can enumerate all mixture pattern trails with the same high probability and sum up the probabilities to estimate the true probability of making a distinguisher.
Two distinguishers are impressive, which we will use in key recovery attacks. Table 1 shows the input and output pattern of the distinguishers, the probability for one trail, the number of trails with the same probability and the total probabilities on AES and on a random permutation. The input mixture patterns of the two distinguishers are the same, which are “inactive” patterns on x 0 , SR 1 ( C o l ( 0 , 1 ) ) , “copy” patterns on x 0 , SR 1 ( C o l ( 2 ) ) and “exchange” patterns on x 0 , SR 1 ( C o l ( 3 ) ) . Define this pattern to be D i n . The 5-round distinguisher has “shift” patterns on x 4 , SR ( C o l ( 0 ) ) . Denote it by D o u t { 0 } . The probability to have D o u t { 0 } after 5 full rounds and MC 1 of AES is 15 × 2 8 = 2 60.19 , while it is 2 64 for random permutations. The 6-round distinguisher has “shift”-type mixture patterns on x 5 , SR ( C o l ( 0 , 1 , 2 ) ) . Denote it by D o u t { 0 , 1 , 2 } . The probability to have D o u t { 0 , 1 , 2 } after 6 full round and MC 1 of AES is 56 × 2 8 × 22 = 2 170.19 , while it is 2 192 for random permutations. Source codes for generating these two distinguishers are provided in the repository.
Algorithm 1 MILP model to get the probability of given mixture patterns
1:
functionGenerateModel( R , P i n , P o u t )   ▹ Number of rounds, input and output patterns
2:
    Index set Ind = { 01 , 02 , 03 , 12 , 13 , 23 }
3:
    Initialize an MILP model M
4:
     M . var e ij 0 , s , ij Ind , s [ 0 , 15 ]   ▹ mixture pattern encoding variables
5:
    for  1 r R  do
6:
         M . var e ij r , l , ij Ind , l [ 0 , 15 ]
7:
         M . con inequalities on e Ind r , l by Template 1
8:
        for  0 t 3 do    ▹ for each column
9:
           Prepare input and output coding variables for the t-th column:
var Ind = [ e Ind r 1 , in 0 , e Ind r 1 , in 1 , e Ind r 1 , in 2 , e Ind r 1 , in 3 , e Ind r , out 0 , e Ind r , out 1 , e Ind r , out 2 , e Ind r , out 3 ]
10:
            M . con inequalities on var ij by Template 2 for each ij Ind   ▹ branch number=5
11:
            M . var deA ij r 1 , t , ij Ind   ▹ column-wise mixture pattern encoding variables
12:
            M . con deA ij r 1 , t = e ij r 1 , in 0 e ij r 1 , in 1 e ij r 1 , in 2 e ij r 1 , in 3 , ij Ind
13:
            M . var A h r 1 , out j , A l r 1 , out j , j [ 0 , 3 ]   ▹ variables corresponding to probability
   /* Constraints concerning first-order property */
14:
           for  0 s 3  do
15:
                M . con inequalities on [ deA Ind r 1 , t , e Ind r , out s , A h r 1 , out s , A l r 1 , out s ] by Template 3
16:
           end for
17:
        end for
    /* Concerning second-order property effect*/
18:
         M . var Δ SB r 1 , s , s [ 0 , 15 ]   ▹ variables for second-order equality on each byte
19:
         M . var A SB r 1 , s , s [ 0 , 15 ]   ▹ variables corresponding to probability
20:
        for  0 s 15  do
21:
            M . con inequalities on [ e Ind r 1 , s , Δ SB r 1 , s , A SB r 1 , s ] by Template 4
22:
        end for
23:
        for  0 t 3  do
24:
            M . var dop r 1 , t   ▹ variables for column-wise second-order equality
25:
            M . con dop r 1 , t = Δ SB r 1 , in 0 Δ SB r 1 , in 1 Δ SB r 1 , in 2 Δ SB r 1 , in 3
26:
            M . var lab r 1 , t   ▹ a variable to indicate if not deA Ind = 111111
27:
            M . con lab = 1 ij Ind deA ij r 1 , t
28:
           for  0 s 3  do
29:
                M . con inequalities on [ lab r 1 , t , dop r 1 , t , e Ind r , 4 t + s ] by Template 5
30:
           end for
31:
        end for
32:
        for  0 s 15  do
33:
            M . var A minus r 1 , s   ▹ variables corresponding to probability
34:
        end for
35:
        for  0 t 3  do
36:
           for  0 s 3  do
37:
                M . con inequalities on [ lab r 1 , t , dop r 1 , t , A h r 1 , 4 t + s , A l 4 t + s , A minus r 1 , 4 t + s ] by Template 6
38:
           end for
39:
        end for
40:
    end for
41:
     M . con e Ind 0 , s conforming input mixture pattern P i n
42:
     M . con e Ind R , s conforming input mixture pattern P o u t
43:
     M . obj min r = 1 R s = 0 15 ( 2 A h r 1 , s + A l r 1 , s + A SB r 1 , s A minus r 1 , s )
44:
    return  M
45:
end function

3.2. Verification of 5-Round Distinguishers

It is worth noting that the single 5-round mixture trail does not make a distinguisher, as it has the same probability as that of random permutations. Thus, to show the validity of the mixture differential distinguisher as a hull of mixture trails, we tested the validity of the 5-round distinguisher on the small-scale AES [29], which has the same structure as standard AES but with a 4-bit Sbox . As the probability of the distinguisher is not relevant to the size of Sbox and details of MC matrix but reflects how the structure allows for trails with a certain number of active Sboxes to hold, the verification on small scale AES is strong evidence for the distinguisher to hold on standard AES. The small scale AES is implemented in a lookup-table-based implementation [11] that resembles the AES implementation in many cryptographic libraries such as OpenSSL [30]. Four precomputed tables are generated by applying SB , SR , MC for all possible input nibbles such that each table consists of sixteen 16-bit values. The cost of each round is 16 table lookups and XORing of the table elements and round keys.
The Sbox used in the small-scale AES is in Table 2.
The operations in the i-th round can be expressed as
x i = 2 3 1 1 1 2 3 1 1 1 2 3 3 1 1 2 · S ( x i 1 , 0 ) S ( x i 1 , 4 ) S ( x i 1 , 8 ) S ( x i 1 , 12 ) S ( x i 1 , 5 ) S ( x i 1 , 9 ) S ( x i 1 , 13 ) S ( x i 1 , 1 ) S ( x i 1 , 10 ) S ( x i 1 , 14 ) S ( x i 1 , 2 ) S ( x i 1 , 6 ) S ( x i 1 , 15 ) S ( x i 1 , 3 ) S ( x i 1 , 7 ) S ( x i 1 , 11 ) k i 1 ,
where the matrix elements are elements in G F ( 2 4 ) defined by the primitive polynomial x 4 + x + 1 . The lookup-table-based implementation calculates one column by looking up four tables and adding the results as well as the corresponding subkey column. For the first column,
x i , C o l ( 0 ) = 2 1 1 3 · S ( x i 1 , 0 ) 3 2 1 1 · S ( x i 1 , 5 ) 1 3 2 1 · S ( x i 1 , 10 ) 1 1 3 2 · S ( x i 1 , 15 ) k i 1 , C o l ( 10 ) .
The four precomputed tables are the compositions of the dot multiplication by the column elements and the Sbox operation, i.e.,
T 0 ( · ) = 2 1 1 3 · S ( · ) , T 1 ( · ) = 3 2 1 1 · S ( · ) , T 2 ( · ) = 1 3 2 1 · S ( · ) , T 3 ( · ) = 1 1 3 2 · S ( · ) .
The input to the tables is 4-bit string and the output is 16-bit. So each table is a list with sixteen 16-bit elements. The four tables are shown in Table 3.
Then, x i can be calculated by
x i , C o l ( 0 ) = T 0 ( x i 1 , 0 ) T 1 ( x i 1 , 5 ) T 2 ( x i 1 , 10 ) T 3 ( x i 1 , 15 ) k i 1 , C o l ( 0 ) , x i , C o l ( 1 ) = T 0 ( x i 1 , 4 ) T 1 ( x i 1 , 9 ) T 2 ( x i 1 , 14 ) T 3 ( x i 1 , 3 ) k i 1 , C o l ( 1 ) , x i , C o l ( 2 ) = T 0 ( x i 1 , 8 ) T 1 ( x i 1 , 13 ) T 2 ( x i 1 , 2 ) T 3 ( x i 1 , 7 ) k i 1 , C o l ( 2 ) , x i , C o l ( 3 ) = T 0 ( x i 1 , 12 ) T 1 ( x i 1 , 1 ) T 2 ( x i 1 , 6 ) T 3 ( x i 1 , 11 ) k i 1 , C o l ( 3 ) ,
with 16 table lookup operations.
This implementation is faster than the textbook implementation where each operation is implemented by its definition, as used in [16]. We verified the 5-round distinguisher on both this lookup-table-based implementation and the implementation provided in [16]. The expected probability for the 5-round distinguisher to hold on small scale AES is 2 4 × 8 × 15 = 2 28.09 . We test on 200 randomly generated master keys and use a 20-round version to simulate a random permutation. For each randomly generated master key, 2 30 quadruples conforming input patterns are randomly generated. On average, the number of quadruples whose ciphertexts confirm the output pattern are 3.885 and 0.215 for 5-round small-scale AES and 20-round small-scale AES, respectively; thus, the probability of right quadruples is 2 28.04 for 5-round small scale AES and 2 32.22 for the 20-round version. This result verifies that the accumulated truncated mixture differential trails can make a distinguisher. The verification codes are included in our repository. The average running time with the textbook implementation is about 20 min, while it is about 1 min with a lookup-table-based implementation when run on an AMD Ryzen Threadripper 3970X Processor.

3.3. Illustration of 6-Round Distinguishers

Regarding 6-round distinguishers, the probability is too low to be verified experimentally even on a small variant of AES. Therefore, we demonstrate the mixture pattern trails of the 6-round distinguishers. Figure 3 shows one trail with probability 2 176 . The probability lies on the MC layer to make specific mixture patterns in states x 1 , x 3 and x 4 , marked in yellow. The deduced patterns reflect equality among quadruples. It is worth noting that for state x 0 and state x 2 , the differences of the first pair and the second pair are the same, so after the MC layer conditioned on that one pair has zero difference on specific bytes, the other pair has the same difference with probability 1. This is where the mixture differential distinguisher gains an advantage. However, after one more round of confusion, this property does not hold anymore, and probability is calculated independently on two pairs, as is the case for x 3 to x 4 .
There are a total of 56 trails with probability 2 176 with the same input and output pattern as in Figure 3. All trails are shown in abbreviated form in Table A4 in Appendix C.

4. Key Recovery Attacks

We utilize the 6-round mixture differential distinguisher with probability 2 170.19 to do a key recovery attack on 7-round AES-192 and use a 5-round distinguisher with probability 2 60.19 to do cryptanalysis on 6-round AES-128, all by appending one round after the distinguisher. As we do not prepend rounds before the distinguisher, we can acquire N quadruples conforming D i n trivially and concentrate on the guess-and-determine procedure on the ciphertext side.

4.1. Key Recovery on 6-Round AES-128

Suppose the plaintext quadruples in x 1 conform D i n , with probability 2 60.19 that the mixture pattern is s in position x 4 , SR ( C o l ( 0 ) ) , i.e., the differences of both the first pair and second pair are zero on the first inversed diagonal. These conditions are used as filters to filter out wrong guesses of k 5 . To use the MITM technique to reduce complexity, express the filter conditions by combinations of Δ ( x 5 ) through MC 1 operation. Specifically, the filter conditions and corresponding key byte that needs to be guessed to deduce the target difference are
Δ ( x 4 , 0 ) = 0 0 E x · Δ ( x 5 , 0 ) 0 B x · Δ ( x 5 , 1 ) = 0 D x · Δ ( x 5 , 2 ) 09 x · Δ ( x 5 , 3 ) , k 5 , 0 k 5 , 13 k 5 , 10 k 5 , 7 Δ ( x 4 , 7 ) = 0 0 B x · Δ ( x 5 , 4 ) 0 D x · Δ ( x 5 , 5 ) = 09 x · Δ ( x 5 , 6 ) 0 E x · Δ ( x 5 , 7 ) , k 5 , 4 k 5 , 1 k 5 , 14 k 5 , 11 Δ ( x 4 , 10 ) = 0 0 D x · Δ ( x 5 , 8 ) 09 x · Δ ( x 5 , 9 ) = 0 E x · Δ ( x 5 , 10 ) + 0 B x Δ ( x 5 , 11 ) , k 5 , 8 k 5 , 5 k 5 , 2 k 5 , 15 Δ ( x 4 , 13 ) = 0 09 x · Δ ( x 5 , 12 ) 0 E x · Δ ( x 5 , 13 ) = 0 B x · Δ ( x 5 , 14 ) 0 D x · Δ ( x 5 , 15 ) . k 5 , 12 k 5 , 9 k 5 , 6 k 5 , 3
The four filter bytes together with four involved bytes for each are called four groups. In the key recovery procedure, initialize four counters of size 2 32 for each group. To get 2 m right quadruple, we prepare 2 60.09 + m quadruples conforming the input pattern. Then,
  • For each quadruple, do the MITM procedure on four groups:
    (a)
    For the first group, guess K 5 , { 0 , 13 } , compute the value 0 E x · Δ ( x 5 , 0 ) 0 B x · Δ ( x 5 , 1 ) on both the first pair and the second pair, and store the current guess in a hash table T indexed by this 16-bit value. After this step, each item of T contains on average one element.
    (b)
    Guess k 5 , { 10 , 7 } and compute the value 0 D x · Δ ( x 5 , 2 ) 09 x · Δ ( x 5 , 3 ) on both the first pair and the second pair. Look up the table T by this 16-bit value and get the candidate for the combination k 5 , { 0 , 13 , 10 , 7 } . Increase the counter for the first group. After this step, on average, 2 16 candidates are suggested.
    (c)
    Repeat Step 1(a)–(b) for the other three groups.
  • To have h-bit advantage of key exhaustive search on each group, combine the top 2 32 h candidates suggested by each counter to get 2 128 4 h candidates of the full 128-bit key k 5 . Check with plaintext–ciphertext pairs.
Time and memory complexity. The memory complexity of the attack is 4 × 2 32 counters, and the hash table is sized 2 16 , which are negligible. For each quadruple, the first MITM step takes 2 16 × 8 times Sbox lookups and 2 16 hash table lookups. The second step has about the same cost. If each round of AES is estimated as 20 times Sbox lookups and each hash table lookup is estimated as one AES round, the time complexity for each group in Step 1 is 2 × 2 16 × ( 8 × 1 5 × 20 + 1 5 ) 2 15.16 5-round AES encryptions. The total time complexity of the attack is 2 60.19 + m × 4 × 2 15.16 + 2 128 4 h = 2 77.36 + m + 2 128 4 h .
Success probability and data complexity. Step 1 of the attack goes on each group independently, so we only need to know whether the 32-bit right key will appear in the top 2 h positions for each group with high probability. Each quadruple recommends 2 16 candidates on average. Each right quadruple hits the right key once and hits the wrong keys 2 16 1 times. Each wrong quadruple hits the right key and wrong keys indiscriminately a total of 2 16 times. The right key is hit about 2 m + 2 60.19 + m 16 = 2 44.19 + m + 2 m times, and each wrong key is, on average, hit ( 2 m ( 2 16 1 ) + 2 60.19 + m ( 2 16 2 16 ) ) / ( 2 32 1 ) 2 44.19 + m + 2 m 16 times. Thus, the signal/noise ratio, i.e., the ratio of the counter of the right key and the average counter of a wrong key, is S N = 2 44.19 + m + 2 m 2 44.19 + m + 2 m 16 1 + 2 44.19 . We estimate the success probability by the formula P s = Φ ( 2 m S N Φ 1 ( 1 2 h ) S N + 1 ) [31], where Φ is the cumulative distribution function of the standard normal distribution. By setting m = 6 and h = 12 , the success probability is above 99% and the time complexity is 2 83.36 .
To have 2 6 right quadruples, we need to build up 2 66.19 quadruples conforming input pattern D i n . We fix 90 bits of plaintexts and enumerate the remaining 38 bits. Among the 90 fixed bits, 64 are located in x 0 , SR 1 ( 0 , 1 ) . Choose six bytes from x 0 , SR 1 ( 2 , 3 ) and fix 3-bit in each of these six bytes, and fix 4-bit in each of the remaining 2bytes. We could build ( 2 5 ( 2 5 1 ) 2 ) 6 ( 2 4 ( 2 4 1 ) 2 ) 2 2 67.53 quadruples, which is enough for the attack. The data complexity is no larger than 2 38 .

4.2. Key Recovery on 7-Round AES-192

The key recovery attack on 7-round AES-192 is quite similar to the previous one on 6-round AES-128, considering that they both append one round after a distinguisher and the distinguishers have the same input pattern. But there are more filter conditions on the output of the 6-round distinguisher. The filters can be divided into four groups, each involving four bytes in k 6 . We show the guess-and-filter procedure in the first group, and the other three groups proceed in the same fashion.
In the first group, the filters are Δ ( x 5 , 0 ) = 0 , Δ ( x 5 , 1 ) = 0 and Δ ( x 5 , 2 ) = 0 , holding on to both the first pair and the second pair. Equivalently, Δ ( x 5 ) can be expressed by Δ x 6 through the MC 1 layer. In the key recovery procedure, to apply the MITM technique, write the filter conditions in the first group as
Δ ( x 5 , 0 ) = 0 0 E x · Δ ( x 6 , 0 ) 0 B x · Δ ( x 6 , 1 ) = 0 D x · Δ ( x 6 , 2 ) 09 x · Δ ( x 6 , 3 ) , Δ ( x 5 , 1 ) = 0 09 x · Δ ( x 6 , 0 ) 0 E x · Δ ( x 6 , 1 ) = 0 B x · Δ ( x 6 , 2 ) 0 D x · Δ ( x 6 , 3 ) , Δ ( x 5 , 2 ) = 0 0 D x · Δ ( x 6 , 0 ) 09 x · Δ ( x 6 , 1 ) = 0 E x · Δ ( x 6 , 2 ) 0 B x · Δ ( x 6 , 3 ) . k 6 , 0 k 6 , 13 k 6 , 10 k 6 , 7
Initialize four counters of size 2 32 for each group. Suppose we have prepared 2 170.19 + m plaintext quadruples conforming D i n to expect 2 m right quadruples. Then:
  • For each quadruple, do the MITM procedure on four groups:
    (a)
    For the first group, guess k 6 , { 0 , 13 } , compute the value 0 E x · Δ ( x 6 , 0 ) 0 B x · Δ ( x 6 , 1 ) on both the first pair and the second pair, and store the current guess in a hash table T indexed by this 16-bit value. After this step, each item of T contains, on average, one element.
    (b)
    Guess k 5 , { 10 , 7 } and compute the value 0 D x · Δ ( x 6 , 2 ) 09 x · Δ ( x 6 , 3 ) on both the first pair and the second pair. Look up the table T by this 16-bit value and get the candidate for the combination k 6 , { 0 , 13 , 10 , 7 } . Test if the last two equations in Equation (6) are satisfied under this candidate on both the first pair and the second pair. This test is a filter with probability 2 32 . If so, increase the counter; otherwise, discard the key candidate.
    (c)
    Repeat Step 1(a–b) for the other three groups.
  • To have h-bit advantage of key exhaustive search on each group, combine the top 2 32 h candidates indicated by each counter to form 2 128 4 h full 128-bit key k 6 and combine with the other 64-bit keys that are independent of k 6 . Check the 2 192 4 h candidate keys with plaintext–ciphertext pairs.
Time and memory complexity. The memory complexity of the attack is 4 × 2 32 counters, and it has a hash table of size 2 16 , which are negligible. For each quadruple, the first MITM step takes 2 16 × 8 times Sbox lookups and 2 16 hash table lookups. Step 1(b) takes an additional 16 Sbox lookups in each guess of k 5 , { 10 , 7 } . The complexity of Step 1 is estimated as 2 × 2 16 × ( 8 × 1 6 × 20 + 1 6 ) + 2 16 × 16 6 × 20 2 15.26 6-round AES encryptions. The total time complexity of the attack is 2 170.19 + m × 4 × 2 15.26 + 2 192 4 h = 2 187.45 + m + 2 192 4 h .
Success probability and data complexity. Each quadruple only suggests 2 16 32-bit keys for each group on average. Each right quadruple will hit the right 32-bit key once. The wrong quadruples will hit all keys indiscriminately. Thus, the right key will be hit about 2 m + 2 170.19 + m 16 / 2 32 2 122.19 + m + 2 m times. The wrong key will be hit 2 122.19 + m times on average. The signal/noise ratio is no smaller than S N = 1 + 2 122.19 . By setting m = 1 , h = 2 , the success probability is about 69.95% with time complexity 2 188.45 .
To build up 2 171.19 plaintext quadruples conforming the input pattern, we build structures such that in each structure, 64-bits of x 0 , SR 1 ( 0 , 1 ) are fixed and the other bits are enumerated. Each structure can provide ( 2 8 ( 2 8 1 ) 2 ) 8 2 119.95 quadruples conforming the input pattern; therefore, 2 52 structures are needed. The data complexity of the attack is 2 52 + 64 = 2 116 .
The comparison of our work and previous ones is shown in Table 4. Key recovery attacks are estimated from the data/time/memory complexities. From Table 4, it is obvious that for the 6-round key recovery attack on AES-128, our method outperforms the impossible differential attack [8], MITM attack [9] and the original mixture differential attack [17]. Especially considering the number of rounds of distinguishers used, denoted by R Dist in the table, our result is the best one by utilizing a 5-round distinguisher to launch key recovery attacks. For 7-round AES-192, our result is the first one to setup a key recovery attack with a 6-round distinguisher.

5. Conclusions

In this paper, we exploited the secret-key mixture differential properties on round-reduced AES deduced from MILP models to present key recovery attacks on 6-round AES-128 and 7-round AES-192 by appending one round after the distinguishers. The complexity of our 6-round AES-128 key recovery attack with a 5-round distinguisher outperforms the previous one of the same fashion, as the data/time/memory complexities are significantly reduced from 2 72.8 / 2 105 / 2 33 to 2 38 / 2 83.36 / 2 33 . Further, this is the first time that a 7-round key recovery attack has been possible by utilizing a 6-round distinguisher directly. Moreover, in the distinguisher verification part, the implementation of the small-scale AES used in our experiments is about 20 times more efficient than the previous one.
Future work can include finding out more properties to make a distinguisher on block ciphers as well as designing key recovery attacks with reduced data/time/memory complexity. For the AES block cipher, the current mixture differential property is byte-oriented. That is to say, the details of the Sbox and the mix column matrix are not taken into account when searching for the mixture differential properties. Methods to search for properties with higher probability on AES or that that can cover more rounds remain to be investigated. In the key recovery aspects, the current method is independent of the key schedule. There may exist useful relations among subkeys to further reduce the complexity of the key recovery attack. The key schedule effect will be taken into consideration in future work.

Author Contributions

Conceptualization, K.Q.; methodology, K.Q.; software, J.C.; validation, J.C.; formal analysis, K.Q.; investigation, K.Q.; resources, J.C.; data curation, K.Q.; writing—original draft preparation, C.O.; writing—review and editing, J.C.; supervision, C.O.; project administration, C.O.; funding acquisition, K.Q. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by Beijing Institute of Technology Research Fund Program for Young Scholars grant number XSQD-202024003, National Natural Science Foundation of China grant number 62102025, Beijing Natural Science Foundation grant number 4222035, and the Open Research Fund of Key Laboratory of Cryptography of Zhejiang Province grant number ZCL21018.

Data Availability Statement

Codes repository (accessed on 10 October 2022): https://github.com/qiaokexin/mixture-differential-for-AES.git.

Conflicts of Interest

The authors declare no conflict of interest.

Abbreviations

The following abbreviations are used in this manuscript:
MILPMixed Integer Linear Programming
MITMMeet-in-the-Middle
SB SubBytes
SR ShiftRows
MC MixColumn

Appendix A. AES Encryption Parameters

The Sbox and the inverse Sbox used in the AES block cipher are shown in Table A1 and Table A2, respectively. The i-th element in the table (count in row-first order) is the output for input i. All elements are in hex form.
Table A1. Sbox in the AES block cipher.
Table A1. Sbox in the AES block cipher.
000102030405060708090a0b0c0d0e0f
00637c777bf26b6fc53001672bfed7ab76
10ca82c97dfa5947f0add4a2af9ca472c0
20b7fd9326363ff7cc34a5e5f171d83115
3004c723c31896059a071280e2eb27b275
4009832c1a1b6e5aa0523bd6b329e32f84
5053d100ed20fcb15b6acbbe394a4c58cf
60d0efaafb434d338545f9027f503c9fa8
7051a3408f929d38f5bcb6da2110fff3d2
80cd0c13ec5f974417c4a77e3d645d1973
9060814fdc222a908846eeb814de5e0bdb
a0e0323a0a4906245cc2d3ac629195e479
b0e7c8376d8dd54ea96c56f4ea657aae08
c0ba78252e1ca6b4c6e8dd741f4bbd8b8a
d0703eb5664803f60e613557b986c11d9e
e0e1f8981169d98e949b1e87e9ce5528df
f08ca1890dbfe6426841992d0fb054bb16
Table A2. Inverse Sbox in the AES block cipher.
Table A2. Inverse Sbox in the AES block cipher.
000102030405060708090a0b0c0d0e0f
0052096ad53036a538bf40a39e81f3d7fb
107ce339829b2fff87348e4344c4dee9cb
20547b9432a6c2233dee4c950b42fac34e
30082ea16628d924b2765ba2496d8bd125
4072f8f66486689816d4a45ccc5d65b692
506c704850fdedb9da5e154657a78d9d84
6090d8ab008cbcd30af7e45805b8b34506
70d02c1e8fca3f0f02c1afbd0301138a6b
803a9111414f67dcea97f2cfcef0b4e673
9096ac7422e7ad3585e2f937e81c75df6e
a047f11a711d29c5896fb7620eaa18be1b
b0fc563e4bc6d279209adbc0fe78cd5af4
c01fdda8338807c731b11210592780ec5f
d060517fa919b54a0d2de57a9f93c99cef
e0a0e03b4dae2af5b0c8ebbb3c83539961
f0172b047eba77d626e169146355210c7d

Appendix B. Inequality Templates Used in MILP Model

There are six inequality templates in the MILP model to search for the mixture differential distinguishers, as is shown in Table A3. The template for generating inequalities concerning i variables consists of vectors of length ( i + 1 ) . Each vector represents one inequality. Formally, vector ( a 0 , a 1 , , a i 1 , b ) represents inequality a 0 x 0 + a 1 x 1 + + a i 1 x i 1 + b 0 .
Table A3. Inequality templates used in the MILP model to search for mixture differential distinguishers.
Table A3. Inequality templates used in the MILP model to search for mixture differential distinguishers.
No.Inequalities
Template 1(0, 0, 0, 1, −1, 1, 0), (1, 1, 0, −1, 0, 0, 0), (0, 0, 0, 1, 1, −1, 0), (−1, −1, 1, −1, 1, 1, 1), (1, −1, 0, 1, 0, 0, 0), (−1, 1, 0, 1, 0, 0, 0), (1, 1, 1, −1, −1, −1, 1), (1, 0, −1, 0, 1, 0, 0), (0, 1, −1, 0, 0, 1, 0), (0, −1, 1, 0, 0, 1, 0), (−1, 0, 1, 0, 1, 0, 0)
Template 2(1, 1, 1, 1, 1, −4, 1, 1, 0), (1, 1, 1, 1, −4, 1, 1, 1, 0), (1, −4, 1, 1, 1, 1, 1, 1, 0), (1, 1, 1, 1, 1, 1, 1, −4, 0), (1, 1, 1, −4, 1, 1, 1, 1, 0), (−4, 1, 1, 1, 1, 1, 1, 1, 0), (1, 1, −4, 1, 1, 1, 1, 1, 0), (1, 1, 1, 1, 1, 1, −4, 1, 0)
Template 3(1, 2, 3, 3, 1, 2, −2, −1, −3, −1, −2, −1, −5, −3, 0), (8, −14, −14, 4, 4, −10, −6, 6, 6, −1, −1, 7, 16, 6, 14), (−4, 0, 4, −2, 2, −2, 4, −1, −3, 2, −2, 3, 6, 4, 0), (−10, −14, 4, −14, 4, 8, 7, 6, −1, 6, −1, −6, 16, 6, 14), (−14, 8, −14, 4, −10, 4, 6, −6, 6, −1, 7, −1, 16, 6, 14), (4, −6, 4, 8, 4, −8, −2, 4, −6, −5, −1, 5, 0, 4, 2), (−2, −4, 2, 0, −2, 4, 2, 4, −2, −1, 3, −3, 6, 4, 0), (2, 4, −2, −2, 4, 6, −1, −1, 0, 0, −1, −3, −6, −4, 0), (4, 2, −2, −4, 0, −2, −3, −2, 3, 4, −1, 2, 6, 4, 0), (4, 4, 4, 4, 4, 4, −1, −1, −2, −3, −4, −4, −14, −10, 0), (−2, 4, 4, 2, 4, −2, −2, −3, 1, −2, 0, 1, −6, −2, 0), (4, −2, 4, 4, −2, 2, 1, −2, −3, 0, 1, −2, −6, −2, 0), (0, 0, 0, −2, −2, −2, 1, 1, −2, 1, 2, 2, 4, 2, 2), (−4, −3, −2, −4, −3, −2, −1, 3, 3, 2, 3, −1, 6, 2, 10), (−2, −2, −2, −2, −2, −2, 2, 0, 2, 1, −1, 1, 3, 2, 7)
Template 4(1, −1, 1, 1, −1, 1, −1, −2, 0), (−1, 1, 1, 1, 1, −1, −1, −2, 0), (1, 1, −1, −1, 1, 1, −1, −2, 0), (1, 1, 1, −1, −1, −1, 1, 0, 0), (1, −1, −1, 1, 1, −1, 1, 0, 0), (−1, 1, −1, 1, −1, 1, 1, 0, 0), (−1, −1, 1, −1, 1, 1, 1, 0, 0), (0, 0, −1, 0, −1, −1, 1, 1, 2)
Template 5(1, 1, −1, −1, 1, −1, 1, 1, 0), (0, 0, 1, 1, 0, −1, 0, 0, 0), (0, 0, 0, 0, 0, 1, 1, −1, 0), (0, 0, 0, 0, 0, 1, −1, 1, 0), (0, 0, 0, 1, −1, 0, 0, 1, 0), (0, 0, 1, 0, 1, 0, −1, 0, 0), (1, 1, 1, −1, −1, 1, 1, −1, 0), (0, 0, −1, 1, 0, 1, 0, 0, 0), (0, 0, 0, 1, 1, 0, 0, −1, 0), (0, 0, −1, −1, 1, −1, 1, 1, 1), (0, 0, 1, −1, 0, 1, 0, 0, 0), (0, 0, 1, 0, −1, 0, 1, 0, 0), (1, 1, 1, 1, 1, −1, −1, −1, 0)
Template 6(0, −1, 0, 0, −1, 1), (0, 0, 1, 0, −1, 0), (1, 1, −1, 0, 1, 0), (−1, 0, 0, 0, −1, 1)

Appendix C. Mixture Differential Trails of 6-Round AES

There are 56 mixture differential trails for 6-round AES, each with probability 2 176 . All the trails are shown in Table A4. In each trail, each state pattern consists of sixteen byte patterns in column-first order. State patterns for x 0 and x 5 to x 6 are the same as those in Figure 3, so we omit them.
Table A4. Mixture differential trails with probability 2 176 for 6-round AES ( x 0 and x 5 to x 6 patterns are the same as those in Figure 3. The signs “−", “c", “x", “s" and “*" represent the inactive, copy, exchange, shift and other quadruple patterns respectively).
Table A4. Mixture differential trails with probability 2 176 for 6-round AES ( x 0 and x 5 to x 6 patterns are the same as those in Figure 3. The signs “−", “c", “x", “s" and “*" represent the inactive, copy, exchange, shift and other quadruple patterns respectively).
No. x 1 x 2 x 3 x 4
0---- ---- --c- xxx-cccc xxxx xxxx xxxxs*ss ss*s sss* *sssssss ssss ssss *sss
1---- ---- c-c- x-x-cccc xxxx cccc xxxxs*ss ss*s sss* *sssssss ssss ssss *sss
2---- ---- -c-c -x-xxxxx cccc xxxx ccccsss* *sss s*ss ss*sssss ss*s ssss ssss
3---- ---- ---c -xxxxxxx xxxx xxxx ccccs*ss ss*s sss* *sssssss ssss ssss *sss
4---- ---- c--- x-xxxxxx xxxx cccc xxxxs*ss ss*s sss* *sssssss ssss ssss *sss
5---- ---- --cc -xx-cccc xxxx xxxx ccccs*ss ss*s sss* *sssssss ssss ssss *sss
6---- ---- -c-c -x-xxxxx cccc xxxx ccccs*ss ss*s sss* *sssssss ssss ssss *sss
7---- ---- -c-- xx-xxxxx cccc xxxx xxxxs*ss ss*s sss* *sssssss ssss ssss *sss
8---- ---- cc-c ---xxxxx cccc cccc ccccs*ss ss*s sss* *sssssss ssss ssss *sss
9---- ---- cc-- x--xxxxx cccc cccc xxxxs*ss ss*s sss* *sssssss ssss ssss *sss
10---- ---- c-cc --x-cccc xxxx cccc ccccs*ss ss*s sss* *sssssss ssss ssss *sss
11---- ---- -ccc -x--cccc cccc xxxx ccccs*ss ss*s sss* *sssssss ssss ssss *sss
12---- ---- -cc- xx--cccc cccc xxxx xxxxs*ss ss*s sss* *sssssss ssss ssss *sss
13---- ---- ccc- x---cccc cccc cccc xxxxs*ss ss*s sss* *sssssss ssss ssss *sss
14---- ---- c-cc --x-cccc xxxx cccc cccc*sss s*ss ss*s sss*s*ss ssss ssss ssss
15---- ---- ---c -xxxxxxx xxxx xxxx cccc*sss s*ss ss*s sss*s*ss ssss ssss ssss
16---- ---- cc-c ---xxxxx cccc cccc cccc*sss s*ss ss*s sss*s*ss ssss ssss ssss
17---- ---- --cc -xx-cccc xxxx xxxx cccc*sss s*ss ss*s sss*s*ss ssss ssss ssss
18---- ---- -c-c -x-xxxxx cccc xxxx cccc*sss s*ss ss*s sss*s*ss ssss ssss ssss
19---- ---- -ccc -x--cccc cccc xxxx cccc*sss s*ss ss*s sss*s*ss ssss ssss ssss
20---- ---- c--c --xxxxxx xxxx cccc ccccs*ss ss*s sss* *sssssss ssss ssss *sss
21---- ---- c--c --xxxxxx xxxx cccc ccccsss* *sss s*ss ss*sssss ss*s ssss ssss
22---- ---- c--- x-xxxxxx xxxx cccc xxxxsss* *sss s*ss ss*sssss ss*s ssss ssss
23---- ---- cc-c ---xxxxx cccc cccc ccccsss* *sss s*ss ss*sssss ss*s ssss ssss
24---- ---- ccc- x---cccc cccc cccc xxxxsss* *sss s*ss ss*sssss ss*s ssss ssss
25---- ---- ---c -xxxxxxx xxxx xxxx ccccsss* *sss s*ss ss*sssss ss*s ssss ssss
26---- ---- c-cc --x-cccc xxxx cccc ccccsss* *sss s*ss ss*sssss ss*s ssss ssss
27---- ---- -ccc -x--cccc cccc xxxx ccccsss* *sss s*ss ss*sssss ss*s ssss ssss
28---- ---- c--c --xxxxxx xxxx cccc cccc*sss s*ss ss*s sss*s*ss ssss ssss ssss
29---- ---- c--c --xxxxxx xxxx cccc ccccss*s sss* *sss s*ssssss ssss sss* ssss
30---- ---- c-c- x-x-cccc xxxx cccc xxxxsss* *sss s*ss ss*sssss ss*s ssss ssss
31---- ---- --cc -xx-cccc xxxx xxxx ccccsss* *sss s*ss ss*sssss ss*s ssss ssss
32---- ---- -c-- xx-xxxxx cccc xxxx xxxxsss* *sss s*ss ss*sssss ss*s ssss ssss
33---- ---- c--- x-xxxxxx xxxx cccc xxxx*sss s*ss ss*s sss*s*ss ssss ssss ssss
34---- ---- c-c- x-x-cccc xxxx cccc xxxx*sss s*ss ss*s sss*s*ss ssss ssss ssss
35---- ---- cc-- x--xxxxx cccc cccc xxxx*sss s*ss ss*s sss*s*ss ssss ssss ssss
36---- ---- --c- xxx-cccc xxxx xxxx xxxxsss* *sss s*ss ss*sssss ss*s ssss ssss
37---- ---- cc-- x--xxxxx cccc cccc xxxxsss* *sss s*ss ss*sssss ss*s ssss ssss
38---- ---- -cc- xx--cccc cccc xxxx xxxxsss* *sss s*ss ss*sssss ss*s ssss ssss
39---- ---- --c- xxx-cccc xxxx xxxx xxxx*sss s*ss ss*s sss*s*ss ssss ssss ssss
40---- ---- -c-- xx-xxxxx cccc xxxx xxxx*sss s*ss ss*s sss*s*ss ssss ssss ssss
41---- ---- ccc- x---cccc cccc cccc xxxx*sss s*ss ss*s sss*s*ss ssss ssss ssss
42---- ---- -cc- xx--cccc cccc xxxx xxxx*sss s*ss ss*s sss*s*ss ssss ssss ssss
43---- ---- cc-c ---xxxxx cccc cccc ccccss*s sss* *sss s*ssssss ssss sss* ssss
44---- ---- cc-- x--xxxxx cccc cccc xxxxss*s sss* *sss s*ssssss ssss sss* ssss
45---- ---- c-cc --x-cccc xxxx cccc ccccss*s sss* *sss s*ssssss ssss sss* ssss
46---- ---- c-c- x-x-cccc xxxx cccc xxxxss*s sss* *sss s*ssssss ssss sss* ssss
47---- ---- ccc- x---cccc cccc cccc xxxxss*s sss* *sss s*ssssss ssss sss* ssss
48---- ---- ---c -xxxxxxx xxxx xxxx ccccss*s sss* *sss s*ssssss ssss sss* ssss
49---- ---- --cc -xx-cccc xxxx xxxx ccccss*s sss* *sss s*ssssss ssss sss* ssss
50---- ---- c--- x-xxxxxx xxxx cccc xxxxss*s sss* *sss s*ssssss ssss sss* ssss
51---- ---- -ccc -x--cccc cccc xxxx ccccss*s sss* *sss s*ssssss ssss sss* ssss
52---- ---- -cc- xx--cccc cccc xxxx xxxxss*s sss* *sss s*ssssss ssss sss* ssss
53---- ---- -c-c -x-xxxxx cccc xxxx ccccss*s sss* *sss s*ssssss ssss sss* ssss
54---- ---- -c-- xx-xxxxx cccc xxxx xxxxss*s sss* *sss s*ssssss ssss sss* ssss
55---- ---- --c- xxx-cccc xxxx xxxx xxxxss*s sss* *sss s*ssssss ssss sss* ssss

References

  1. National Institute of Standards and Technology. FIPS PUB 197: Advanced Encryption Standard (AES). pub-NIST; 2001. Available online: http://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.197.pdf (accessed on 10 October 2022).
  2. Kocher, P.; Jaffe, J.; Jun, B. Differential Power Analysis. In Advances in Cryptology — CRYPTO’ 99. CRYPTO 1999; Springer: Berlin/Heidelberg, Germany, 1999; pp. 388–397. [Google Scholar]
  3. Biham, E.; Shamir, A. Differential Fault Analysis of Secret Key Cryptosystems. In Advances in Cryptology — CRYPTO ’97. CRYPTO 1997; Springer: Berlin/Heidelberg, Germany, 1997; pp. 513–525. [Google Scholar]
  4. Qiao, K.; Sun, S.; Zhang, Z.; Wang, A.; Zhu, L. Quadruple Differential Distinguishers and an Automatic Searching Tool. TechRxiv Preprint. 2022. Available online: https://www.techrxiv.org/articles/preprint/Quadruple_Differential_Distinguishers_and_an_Automatic_Searching_Tool/21186376 (accessed on 10 October 2022).
  5. Gilbert, H.; Minier, M. A Collision Attack on 7 Rounds of Rijndael. In Proceedings of the AES Candidate Conference, New York, NY, USA, 13–14 April 2000; Volume 2000, pp. 230–241. [Google Scholar]
  6. Biham, E.; Shamir, A. Differential Cryptanalysis of DES-like Cryptosystems. J. Cryptol. 1991, 4, 3–72. [Google Scholar] [CrossRef]
  7. Biham, E.; Biryukov, A.; Shamir, A. Cryptanalysis of Skipjack Reduced to 31 Rounds Using Impossible Differentials. In Advances in Cryptology–EUROCRYPT 1999; Springer: Berlin/Heidelberg, Germany, 1999; pp. 12–23. [Google Scholar]
  8. Cheon, J.H.; Kim, M.; Kim, K.; Jung-Yeun, L.; Kang, S. Improved Impossible Differential Cryptanalysis of Rijndael and Crypton. In Information Security and Cryptology — ICISC 2001. ICISC 2001; Springer: Berlin/Heidelberg, Germany, 2001; pp. 39–49. [Google Scholar]
  9. Derbez, P.; Fouque, P.A. Exhausting Demirci-Selçuk Meet-in-the-Middle Attacks against Reduced-round AES. In Fast Software Encryption. FSE 2013; Springer: Berlin/Heidelberg, Germany, 2013; pp. 541–560. [Google Scholar]
  10. Derbez, P.; Fouque, P.A.; Jean, J. Improved Key Recovery Attacks on Reduced-round AES in the Single-key Setting. In Advances in Cryptology – EUROCRYPT 2013. EUROCRYPT 2013; Springer: Berlin/Heidelberg, Germany, 2013; pp. 371–387. [Google Scholar]
  11. Daemen, J.; Rijmen, V. The Design of Rijndael: AES-the Advanced Encryption Standard; Springer: New York, NY, USA, 2002. [Google Scholar]
  12. Ferguson, N.; Kelsey, J.; Lucks, S.; Schneier, B.; Stay, M.; Wagner, D.; Whiting, D. Improved Cryptanalysis of Rijndael. In Fast Software Encryption. FSE 2000; Goos, G., Hartmanis, J., van Leeuwen, J., Schneier, B., Eds.; Springer: Berlin/Heidelberg, Germany, 2001; pp. 213–230. [Google Scholar]
  13. Tunstall, M. Improved “Partial Sums”-based Square Attack on AES. In Proceedings of the International Conference on Security and Cryptography-SECRYPT 2012, Rome, Italy, 24–27 July 2012; SciTePress: Setúbal, Portugal, 2012; pp. 25–34. [Google Scholar]
  14. Grassi, L.; Rechberger, C.; Rønjom, S. A New Structural-Differential Property of 5-Round AES. In Advances in Cryptology – EUROCRYPT 2017. EUROCRYPT 2017; Coron, J.S., Nielsen, J.B., Eds.; Springer International Publishing: Cham, Switzerland, 2017; pp. 289–317. [Google Scholar]
  15. Grassi, L. Mixture Differential Cryptanalysis: A New Approach to Distinguishers and Attacks on round-reduced AES. IACR Trans. Symmetric Cryptol. 2018, 2018, 133–160. [Google Scholar] [CrossRef]
  16. Grassi, L. Probabilistic Mixture Differential Cryptanalysis on Round-reduced AES. In Selected Areas in Cryptography – SAC 2019. SAC 2019; Springer: Cham, Switzerland, 2019; pp. 53–84. [Google Scholar]
  17. Bar-On, A.; Dunkelman, O.; Keller, N.; Ronen, E.; Shamir, A. Improved Key Recovery Attacks on Reduced-Round AES with Practical Data and Memory Complexities. In Advances in Cryptology–CRYPTO 2018; Shacham, H., Boldyreva, A., Eds.; Springer International Publishing: Cham, Switzerland, 2018; pp. 185–212. [Google Scholar] [CrossRef]
  18. Bar-On, A.; Dunkelman, O.; Keller, N.; Ronen, E.; Shamir, A. Improved Key Recovery Attacks on Reduced-round AES with Practical Data and Memory Complexities. J. Cryptol. 2020, 33, 1003–1043. [Google Scholar] [CrossRef]
  19. Dunkelman, O.; Keller, N.; Ronen, E.; Shamir, A. The Retracing Boomerang Attack. In Advances in Cryptology—EUROCRYPT 2020; Canteaut, A., Ishai, Y., Eds.; Springer International Publishing: Cham, Switzerland, 2020; pp. 280–309. [Google Scholar]
  20. Boura, C.; Canteaut, A.; Coggia, D. A General Proof Framework for Recent AES Distinguishers. IACR Trans. Symmetric Cryptol. 2019, 2019, 170–191. [Google Scholar] [CrossRef]
  21. Gurobi Optimization, LLC. Gurobi Optimizer Reference Manual. 2022. Available online: https://www.gurobi.com (accessed on 10 October 2022).
  22. Sun, S.; Hu, L.; Wang, P.; Qiao, K.; Ma, X.; Song, L. Automatic Security Evaluation and (Related-key) Differential Characteristic Search: Application to SIMON, PRESENT, LBlock, DES (L) and Other Bit-oriented Block Ciphers. In Advances in Cryptology–ASIACRYPT 2014; Springer: Berlin/Heidelberg, Germany, 2014; pp. 158–178. [Google Scholar]
  23. Sun, S.; Gerault, D.; Lafourcade, P.; Yang, Q.; Todo, Y.; Qiao, K.; Hu, L. Analysis of AES, SKINNY, and Others with Constraint Programming. IACR Trans. Symmetric Cryptol. 2017, 2017, 281–306. [Google Scholar] [CrossRef]
  24. Xiang, Z.; Zhang, W.; Bao, Z.; Lin, D. Applying MILP Method to Searching Integral Distinguishers Based on Division Property for 6 Lightweight Block Ciphers. In Advances in Cryptology—ASIACRYPT 2016; Cheon, J.H., Takagi, T., Eds.; Springer: Berlin/Heidelberg, Germany, 2016; pp. 648–678. [Google Scholar]
  25. Shi, D.; Sun, S.; Derbez, P.; Todo, Y.; Sun, B.; Hu, L. Programming the Demirci-Selçuk Meet-in-the-Middle Attack with Constraints. In Advances in Cryptology—ASIACRYPT 2018; Springer: Cham, Switzerland, 2018; pp. 3–34. [Google Scholar]
  26. Dong, X.; Zhang, Z.; Sun, S.; Wei, C.; Wang, X.; Hu, L. Automatic Classical and Quantum Rebound Attacks on AES-Like Hashing by Exploiting Related-Key Differentials. In Advances in Cryptology—ASIACRYPT 2021; Springer: Cham, Switzerland, 2021; pp. 241–271. [Google Scholar]
  27. Bao, Z.; Dong, X.; Guo, J.; Li, Z.; Shi, D.; Sun, S.; Wang, X. Automatic Search of Meet-in-the-Middle Preimage Attacks on AES-like Hashing. In Advances in Cryptology – EUROCRYPT 2021; Springer: Cham, Switzerland, 2021; pp. 771–804. [Google Scholar]
  28. Sakiyama, K.; Sasaki, Y.; Li, Y. Security of Block Ciphers: From Algorithm Design to Hardware Implementation; John Wiley & Sons: Singapore Pte. Ltd, 2016. [Google Scholar]
  29. Cid, C.; Murphy, S.; Robshaw, M.J.B. Small Scale Variants of the AES. In Fast Software Encryption. FSE 2005; Gilbert, H., Handschuh, H., Eds.; Springer: Berlin/Heidelberg, Germany, 2005; pp. 145–162. [Google Scholar]
  30. The OpenSSL Project. OpenSSL: The Open Source toolkit for SSL/TLS. Available online: https://www.openssl.org/ (accessed on 10 October 2022).
  31. Selçuk, A.A. On Probability of Success in Linear and Differential Cryptanalysis. J. Cryptol. 2008, 21, 131–147. [Google Scholar] [CrossRef]
Figure 1. AES round function.
Figure 1. AES round function.
Mathematics 10 04736 g001
Figure 2. A 4-round AES mixture differential trail with probability 2 32 . ( ARK layer omitted as it does not influence pattern propagation).
Figure 2. A 4-round AES mixture differential trail with probability 2 32 . ( ARK layer omitted as it does not influence pattern propagation).
Mathematics 10 04736 g002
Figure 3. A 6-round AES mixture differential trail with probability 2 176 .
Figure 3. A 6-round AES mixture differential trail with probability 2 176 .
Mathematics 10 04736 g003
Table 1. Mixture distinguishers covering 5- and 6-round AES.
Table 1. Mixture distinguishers covering 5- and 6-round AES.
No.Rd.Mix. Pattern for x 0 Mix. Pattern for x Rd . 1 Single Prob.#Trails Prob.AES Prob.Rand.
15 Mathematics 10 04736 i006 Mathematics 10 04736 i007 2 64 15 2 60.19 2 64
26 Mathematics 10 04736 i008 Mathematics 10 04736 i009 2 176 56 2 170.19 2 192
Table 2. The Sbox for the small-scale AES.
Table 2. The Sbox for the small-scale AES.
x0123456789ABCDEF
S ( x ) 6B542E7A9DFC3108
Table 3. Lookup tables for the small-scale AES.
Table 3. Lookup tables for the small-scale AES.
x01234567
T 0 ( x ) c66a5bbea55f844c4226fee1e7797aad
T 1 ( x ) ac66e5bbfa55c84464221fee9e77d7aa
T 2 ( x ) 6ac6be5b5fa54c842642e1fe79e7ad7a
T 3 ( x ) 66acbbe555fa44c82264ee1f779eaad7
x89abcdef
T 0 ( x ) 19989dd4dff2bcc7633521130388b
T 1 ( x ) 819949dd2dff7bcc563332110b388
T 2 ( x ) 9819d49df2dfc7bc3563132108b38
T 3 ( x ) 9981dd49ff2dcc7b33561132088b3
Table 4. Comparison of attacks on 6- and 7-round AES. ( R Dist is the number of rounds of the distinguisher exploited to set up the attack. Our results are highlighted in bold).
Table 4. Comparison of attacks on 6- and 7-round AES. ( R Dist is the number of rounds of the distinguisher exploited to set up the attack. Our results are highlighted in bold).
VersionRMethodData (CP)Time (ENC.)Memory R Dist (16-byte) Ref.
AES-1286Partial Sum 2 32 2 42 2 40 4[13]
Integral 2 35 2 69.7 2 32 4[11]
Mixture Diff. 2 27.5 2 81 2 27.5 4[17]
Mixture Diff. 2 38 2 83 . 36 2 33 5Ours
Mixture Diff. 2 72.8 2 105 2 33 5[16]
MITM 2 8 2 106.2 2 106.2 [9]
Imp. Differential 2 91.5 2 122 2 89 4[8]
AES-1927MITM 2 97 2 99 2 98 [10]
MITM 2 32 2 129.7 2 129.7 [9]
Collision 2 32 2 146.3 2 80 4[5]
Square 2 36.2 2 155 2 36.2 4[12]
Mixture Diff. 2 26 2 146.3 2 40 4[17]
Mixture Diff. 2 116 2 188 . 45 2 34 6Ours
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Qiao, K.; Cheng, J.; Ou, C. A New Mixture Differential Cryptanalysis on Round-Reduced AES. Mathematics 2022, 10, 4736. https://doi.org/10.3390/math10244736

AMA Style

Qiao K, Cheng J, Ou C. A New Mixture Differential Cryptanalysis on Round-Reduced AES. Mathematics. 2022; 10(24):4736. https://doi.org/10.3390/math10244736

Chicago/Turabian Style

Qiao, Kexin, Junjie Cheng, and Changhai Ou. 2022. "A New Mixture Differential Cryptanalysis on Round-Reduced AES" Mathematics 10, no. 24: 4736. https://doi.org/10.3390/math10244736

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop