Next Article in Journal
Advances in Authentication, Authorization and Privacy for Securing Smart Communications
Previous Article in Journal
Multiparty Homomorphic Encryption for IoV Based on Span Program and Conjugate Search Problem
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Computing the Differential Probability of a Word-Based Block Cipher

Department of Mathematics, Hanyang University, 17 Haengdang-dong, Seongdong-gu, Seoul 133-791, Republic of Korea
*
Author to whom correspondence should be addressed.
Cryptography 2025, 9(2), 42; https://doi.org/10.3390/cryptography9020042
Submission received: 6 May 2025 / Revised: 5 June 2025 / Accepted: 10 June 2025 / Published: 12 June 2025

Abstract

:
Differential cryptanalysis is one of the fundamental cryptanalysis techniques to evaluate the security of the block cipher. In many cases, resistance to differential cryptanalysis is proven through the upper bound of the differential characteristic probability, not the differential probability. Since the attacker uses a differential rather than a differential characteristic, resistance based on a differential characteristic tends to overestimate the security level of the block cipher. Such an overestimation is notably observed in lightweight block ciphers SKINNY, Midori, and CRAFT. In this paper, we examine the gap between the differential characteristics and the differential probability of lightweight block ciphers. We present practical methods for computing differential probability using a multistage graph. Using these methods, we count the exact number of maximum differential characteristics with fixed plaintext/ciphertext difference and activity pattern. By the exact number of maximum differential characteristics, we can calculate the probability that is closer to the real differential probability. In addition, by modifying the method, we compute a more accurate differential probability by considering the characteristics of the lower probability. We find differential distinguishers of 9-round Midori64 with probability 2 61.58 , 9-round SKINNY64 with 2 58.67 and 14-round CRAFT with 2 60.32 . Furthermore, we find a related-tweakey differential distinguisher of 11-round SKINNY64-64 with 2 55.93 and a related-tweak differential distinguisher of 17-round CRAFT with probability 2 63.37 . Finally, we explain why these gaps are notable in Midori64, SKINNY64 and CRAFT by relating the S-box differential distribution table.

1. Introduction

From Biham and Shamir in 1990 [1], differential cryptanalysis has become one of the fundamental cryptanalysis techniques of block ciphers. The main idea of differential cryptanalysis is to distinguish between a block cipher and a random permutation by checking whether the ciphertext difference is related to the plaintext difference.
The prior goal of differential cryptanalysis is to find a pair of plaintext and ciphertext differences with high probability. Many studies have been proposed to find differential pairs [2,3,4], and automatic search using off-the-shelf solvers to the modeled problem [5,6,7,8] has recently received attention.
Most of the block ciphers are provided with differential cryptanalysis of the ciphers. However, its resistance to differential cryptanalysis is sometimes proved by computing an upper bound of a single differential characteristic probability rather than a differential. Since differential cryptanalysis uses differential while ignoring intermediate values, the resistance may be overestimated if there is a significant gap between the differential probability and the differential characteristic probability. This phenomenon is noticeable in the lightweight block ciphers Midori64 [9], SKINNY64 [10], and CRAFT [11].
Finding a differential and computing a more accurate differential probability is a fundamental goal of differential cryptanalysis. A basic method to compute the differential probability is to find all the differential characteristics and to sum up the characteristic probabilities. However, finding all differential characteristics for a given differential is infeasible. In our research, instead of trying to find all the differential characteristics, we find some differential characteristics with a fixed activity pattern using a multistage graph. For a given differential, we construct a multistage graph in which the path from the source to the sink is equivalent to a differential characteristic. Using the graph, we can count the number of paths from source to sink, that is, the number of differential characteristics, and we can compute a more accurate differential probability.

1.1. Previoust Work

To find a differential characteristic with high probability, several algorithms have been proposed. The branch-and-bound algorithm of Matsui [4] that finds the differential characteristic of DES-like ciphers recursively searches for the best characteristic of i rounds based on the best characteristics of i 1 rounds. Based on the branch-and-bound algorithm, an improved algorithm [2], which reduces the search space using a pre-search technique, and a related-key differential characteristic search algorithm [3] are proposed.
Recently, several automatic methods to find a differential characteristic using off-the-shelf solvers such as Mixed Integer Linear Programming (MILP), Boolean satisfiability problem (SAT) and Satisfiability Modulo Theories (SMT) have been proposed. From the method by Mouha et al. [8] that counts the number of active S-boxes using the MILP solver, many methods using off-the-shelf solvers are proposed, such as [5,7,12], and are used to show the resistance of block cipher Midori, SKINNY and CRAFT to differential cryptanalysis [9,10,11]. These methos model differential propagation in block ciphers as a specific problem in order to find a solution using MILP, SAT or SMT solvers. A detailed comparison of differential cryptanalysis with MILP, SAT and SMT is also presented [13].
There are also studies on the differential beyond the differential characteristic of a block cipher. Methods using off-the-shelf solvers can be easily extended to find a collection of differential characteristics with a fixed plaintext/ciphertext difference. From the results of the above methods, the differential probabilities of Salsa-20 [14], SIMON [15], SPECK, LEA [6], and PRINCE, QARMA [16] are computed. In addition, there is a study using the SMT solver to find differential probabilities of SKINNY and Midori [17].
Other proposed methods are to find a truncated differential characteristic and then compute the differential probability by multiplying a transition probability matrix. These methods are used to find differential probabilities for TWINE [18], PRINCE [19], LAC [20] and CRAFT [21]. In addition, the method using a subgraph of a multistage graph representing all differential characteristics [22] and the meet-in-the-middle method [23,24] using a cluster made by forward and backward search are also proposed.

1.2. Contributions

In this paper, we present practical algorithms to compute differential probabilities using a multistage graph based on the meet-in-the-middle method using a cluster in [23]. We consider the differential characteristics with a fixed activity pattern of Substitution Permutation Network (SPN) structure block ciphers. We construct a multistage graph from the vertex of plaintext difference to the vertex of ciphertext difference. By the graph, we can count the exact number of maximum probability differential characteristics of a given activity pattern. Moreover, we show generalized algorithms to consider characteristics of lower probability than maximum probability. The algorithms presented in this paper run practically on a personal computer, even for full rounds of a block cipher.
Using our method, we present a differential distinguisher for 9-round Midori64 with probability 2 61.58 , 9-round SKINNY64 with probability 2 59.33 and 14-round CRAFT with probability 2 60.32 . Compared to previous works, we present differential distinguishers for Midori64 and SKINNY64 that are one round longer. Furthermore, we present the related-tweakey differential distinguisher with probability 2 55.93 and the related-tweak differential distinguisher with probability 2 63.37 . We find that the gap between the differential probability and the differential characteristic probability is 2 20.42 for Midori64, 2 22.67 for SKINNY64 and 2 43.68 for CRAFT. These large gaps indicate that it is not appropriate for block cipher designers to consider only a single differential characteristic to show resistance to differential cryptanalysis.
Our algorithms are applicable to block ciphers with S-boxes and word-based diffusion layers. But the gaps between differential and characteristic probability are noticeably large in only Midori64, SKINNY64, and CRAFT. We also explain the large gaps that occur in these block ciphers by relating it to the weak diffusion layer and the S-boxes of block ciphers.

1.3. Outline

In Section 2, we introduce some background on differential cryptanalysis. In Section 3, we show that there are a lot of characteristics with fixed difference using the SAT solver. In Section 4, we show algorithms for computing the differential probability by counting the characteristics using graphs. The results of our algorithms and the discussion are given in Section 5.

2. Preliminaries

A block cipher E is a function of F 2 k × F 2 n to F 2 n by E K , P = C where E K E ( K , ) is a permutation of F 2 n . K is called the k -bit key, and P , C are called the n -bit plaintext, ciphertext. Most block ciphers are classified as iterated block ciphers that are decomposed into r simple round functions.
E K P = f r f r 1 f 1 P
In many ciphers, the n -bit input of the round function is separated into m words of s -bit each, where n = m s . In this paper, we focus on the cipher in which the non-linear part of the round function is composed of 4-bit S-boxes, i.e., s = 4 . We denote X i as the output of the round function f i , which is also the input of f i + 1 . The j -th word of X is denoted by X j . And we denote S i as the i -th round of the S layer, Y i as the output of S i and L i as the i -th round of the linear layer.

2.1. Description of Midori64

Midori [9] is a family of lightweight block ciphers proposed in 2015, designed for efficient hardware implementations. There are two variants: Midori64 and Midori128. Midori64 employs a 64-bit block, and Midori128 employs a 128-bit block. Both employ a 128-bit key. Since we focus on Midori64 rather than Midori128, we discard the description of Midori128.
In Modori64, the 64-bit plaintext P = p 0 , , p [ 15 ] is presented as
P = p 0 p [ 4 ] p [ 8 ] p [ 12 ] p [ 1 ] p [ 5 ] p [ 9 ] p [ 13 ] p [ 2 ] p [ 6 ] p [ 10 ] p [ 14 ] p [ 3 ] p [ 7 ] p [ 11 ] p [ 15 ]
The encryption process of Midori64 is described in Algorithm 1.
Algorithm 1. Encryption process of Midori64
Input: 64-bit plaintext   P , 128-bit key   K
Output: 64-bit ciphertext   C
Procedure   Midori 64 _ enc P , K
1 .   K 0 K 1 K
2 .   X 0 P K 0 K 1
3 .   For   i = 0   to   14
     3-1. For   j = 0   to   15       Y i j Sbox X i j
     3-2. S = s 0 , , s 15 ( Y i 0 , Y i 10 , Y i 5 , Y i 15 , Y i 14 , Y i 4 , Y i 11 , Y i 1
                                               , Y i 9 , Y i 3 , Y i 12 , Y i 6 , Y i 7 , Y i 13 , Y i 2 , Y i [ 8 ] )
     3-3. For   j = 0 , 4 , 8 , 12
          s j , s j + 1 , s j + 2 , s j + 3 t 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 s j , s j + 1 , s j + 2 , s j + 3 t
     3-4. X i + 1 S K i mod 2 α i
4 .   For   j = 0 to 15       Y 15 j Sbox X 15 j
5 .   C Y 15 K 0 K 1
6 .   return   C
The S-box of Midori64 is given in Table 1. The constant α i used in key addition has no impact on differential cryptanalysis; no further explanation is given here.

2.2. Description of SKINNY64

SKINNY [10] is a tweakable lightweight block cipher proposed in 2016. Like the Midori block cipher, there are two variants: SKINNY64 and SKINNY128. SKINNY64 employs a 64-bit block, and SKINNY128 employs a 128-bit block. Since SKINNY follows the tweakey framework [25], SKINNY takes a unified tweakey input, which integrates the key and the tweak without distinguishing between them. The way of constructing the tweakey is flexible. For a block size n (64 or 128), there are three options for tweakey size: n ,   2 n ,   3 n . Since we focus on SKINNY64, we discard the description of SKINNY128.
In SKINNY, the 64-bit plaintext P = p 0 , , p [ 15 ] is presented as
P = p 0 p [ 1 ] p [ 2 ] p [ 3 ] p [ 4 ] p [ 5 ] p [ 6 ] p [ 7 ] p [ 8 ] p [ 9 ] p [ 10 ] p [ 11 ] p [ 12 ] p [ 13 ] p [ 14 ] p [ 15 ]
The encryption process of SKINNY64 is described in Algorithm 2.
Algorithm 2. Encryption process of SKINNY64
Input: 64-bit plaintext   P , tweakey   T K , Size   of   tweakey   n
Output: 64-bit ciphertext   C
Procedure   SKINNY 64 _ enc P , T K , n
1 .   If   n = 64                     R = 32
         If   n = 128                   R = 36
         If   n = 192                   R = 40
2 .   R T K 1 ,   , R t w e a k e y S c h e d u l e ( T K , R )
3 .   X 0 P
4 .   For   i = 0   to   R 1
      4-1. For   j = 0   to   15       Y i j Sbox X i j
      4-2. S Y i c i
      4-3. S 0 , , 7 S 0 , , 7 R T K i 0 , , 7
      4-4. S 4 , 5 , 6 , 7 S 7 , 4 , 5 , 6
      4-5. S 8 , 9 , 10 , 11 S 10 , 11 , 8 , 9
      4-6. S 12 , 13 , 14 , 15 S 13 , 14 , 15 , 12
      4-7. For   j = 0   to   3
             s j , s j + 4 , s j + 8 , s j + 12 t 1 0 1 1 1 0 0 0 0 1 1 0 1 0 1 0 s j , s j + 4 , s j + 8 , s j + 12 t
      4-8. X i + 1 S
5 .   C X R
6 .   return   C
The S-box of SKINNY64 is given in Table 2. In this paper, we omit the detailed explanation of the tweakey schedule and the constants c i .

2.3. Description of CRAFT

CRAFT [11] is a tweakable lightweight block cipher proposed in 2019. CRAFT is designed to provide security against Differential Fault Analysis as a method of side-channel attack. CRAFT takes a 64-bit block plaintext, a 128-bit key and a 64-bit tweak. The plaintext P = p 0 , , p [ 15 ] of CRAFT is presented in the same way as in SKINNY.
P = p 0 p [ 1 ] p [ 2 ] p [ 3 ] p [ 4 ] p [ 5 ] p [ 6 ] p [ 7 ] p [ 8 ] p [ 9 ] p [ 10 ] p [ 11 ] p [ 12 ] p [ 13 ] p [ 14 ] p [ 15 ]
The encryption process of CRAFT is described in Algorithm 3. The linear layer of CRAFT is very simple: it involves only XORing the third row to the first and the third and fourth rows to the second.
The S-box of CRAFT is the same as the Midori64 S-box given in Table 1. In this paper, we omit the detailed explanation of the constants a i and b i , because they have no impact on differential cryptanalysis.
Algorithm 3. Encryption process of CRAFT
Input: 64-bit plaintext   P , 128-bit key   K , 64-bit tweak   T
Output: 64-bit ciphertext   C
Procedure   CRAFT _ enc P , K , T
1 .   K 0 K 1 K
2 .   Q T ( T 12 , T 10 , T 15 , T 5 , T 14 , T 8 , T 9 , T 2
                                              , T 11 , T 3 , T 7 , T 4 , T 6 , T 0 , T 1 , T 13 )
3 .   T K 0 , T K 1 , T K 2 , T K 3 K 0 T ,   K 1 T , K 0 Q T , K 1 Q T
4 .   X 0 P
5 .   For   i = 0   to   30
      5-1. S X i
      5-2. For   j = 0   to   3
       s j , s j + 4 , s j + 8 , s j + 12 t 1 0 1 1 0 1 0 1 0 0 1 0 0 0 0 1 s j , s j + 4 , s j + 8 , s j + 12 t
      5-3. s 4 s 4 a i
               s 5 s 5 b i
      5-4. S S T K i mod 4
      5-5. S ( S 15 , S 12 , S 13 , S 14 , S 10 , S 9 , S 8 , S 11
                                                            , S 6 , S 5 , S 4 , S 7 , S 1 , S 2 , S 3 , S 0 )
      5-6. For   j = 0   to   15         Y i j Sbox S j
      5-7. X i + 1 Y i
6 .   For   j = 0   to   3
          X 31 j , X 31 j + 4 , X 31 j + 8 , X 31 j + 12 t 1 0 1 1 0 1 0 1 0 0 1 0 0 0 0 1 X 31 j , X 31 j + 4 , X 31 j + 8 , X 31 j + 12 t
7 .   X 31 4 X 31 4 a 31
     X 31 5 X 31 5 b 31
8 .   C X 31 T K 3
9 .   return   C

2.4. Differential Cryptoanalysis

Differential cryptanalysis is one of the fundamental cryptanalysis for block ciphers, and there are many variations such as higher order differential [26], impossible differential [27], Boomerang [28], etc. Below, we introduce some notation and briefly describe differential cryptanalysis.
The differential of a function f : F 2 n F 2 n is a pair of input and output differences Δ X 0 , Δ X r F 2 n × F 2 n , and the differential probability is the probability that the difference of f X and f X Δ X 0 is equal to Δ X r ., i.e.,
Pr Δ X 0 f Δ X r = X F 2 n | f X f X Δ X 0 = Δ X r 2 n
We say Δ X 0 propagates to Δ X r through f with probability Pr Δ X 0 f Δ X r .
The attacker is trying to distinguish whether the oracle O is the fixed-key block cipher E K or random permutation R using differential Δ X 0 , Δ X r . He randomly chooses a plaintext P and checks that the following equation holds
O P O P Δ X 0 = Δ X r
If Pr Δ X 0 E K Δ X r 2 n , the attacker can distinguish whether the oracle is the block cipher E K or random permutation R because Pr Δ X 0 R Δ X r is always 2 n . In general, it is computationally infeasible to compute the differential probability of a block cipher. Therefore, in many cases, the differential characteristic probability is considered to approximate the differential probability.
The differential characteristic of r -round block cipher is a sequence of differences Δ X 0 , , Δ X r F 2 n r + 1 , and the differential characteristic probability is the probability that the difference in every i -round function of E K ( X ) and E K X Δ X 0 is equal to Δ X i . i.e.,
Pr Δ X 0 f 1 f r Δ X r = X F 2 n | f i f 1 X f i f 1 X Δ X 0 = Δ X i , i 2 n
Under the assumption that the round keys of a block cipher are independent [29], the probability of differential characteristic is easy to compute by multiplying the propagation probabilities of the S-boxes. We say that the S-box is active if the input difference of the S-box is non-zero and define the activity pattern δ = δ 1 , , δ r F 2 m r as a vector in which each position indicates an active S-box. And we define the maximum differential characteristic that is a differential characteristic that every difference propagates through the 4-bit S-box with probability 2 2 .

3. Computing Differential Probability Using SAT Solver

Before computing the differential probability, we need to find some differential characteristics. To find differential characteristics using the SAT solver, we model the differential propagation of the block cipher to the SAT problem and obtain the solution using the off-the-shelf SAT solver. The method for modeling the differential propagation of the block cipher is given in the studies of [5,7]. We use the totalizer encoding [30] to model the cardinality constraint on the SAT problem rather than the Sinz encoding [31] because it is empirically solved faster. Throughout our research, all of the results were obtained using a personal computer equipped with an AMD Ryzen 5 1600 CPU, 16 GB of RAM, and Ubuntu 18.04. And to solve SAT problems, we used the off-the-shelf SAT solver cryptominisat5 [32].
To compute the differential probability, we first obtain the best differential characteristic Δ X 0 , , Δ X r with probability 2 l . Next, we add constraints to the SAT problem that fix the plaintext, ciphertext differences. Since finding all differential characteristics is infeasible, we also add constraints that restrict the probability between 2 l and 2 k for some k l .
For block cipher PRESENT [33], we obtain the best 15-round differential characteristic with probability 2 66 whose plaintext and ciphertext difference Δ X 0 , Δ X 15 are
000 F 00000000000 F ,   0404040400000000
Then, we find all the differential characteristics that satisfy the above difference with probability from 2 79 to 2 66 . The result with a running time of 5.06 h on a personal computer is given in Table 3. The lower bound of the 15-round PRESENT differential probability is 2 58.02 by summing all the differential characteristic probabilities.
For the block cipher SKINNY64, we obtain the best 10-round differential characteristic with probability 2 92 whose plaintext and ciphertext difference Δ X 0 , Δ X 10 are
0400000400040040 , 0110011001010010
To compute the differential probability, we find all the characteristics of Δ X 0 , Δ X 10 with probability 2 92 . The result is that there are 670,000 characteristics. Moreover, even after fixing the activity pattern, we obtained the same result. And for a 12-round differential characteristic whose plaintext and ciphertext difference Δ X 0 , Δ X 10 are
0000000000000400 , 0600000006000600
with probability 2 110 , there are more than 1,000,000 characteristics. The result of SKINNY64 is significantly different from the result of PRESENT. Moreover, it is also significantly different from [17], which said that there are only 62,382 characteristics for the 12-round differential. This result became the motivation to count the number of differential characteristics using the graphs described in the next section.

4. Computing Differential Probability Using Graph

Since finding all characteristics using the SAT solver is time consuming, we used another approach using a graph based on the meet-in-the-middle approach in [23]. In this section, we focus on the block cipher in which the linear layer of round function consists of a word-based diffusion layer. Since a linear layer without a preceding S-layer is ineffective in differential cryptanalysis, we consider that the round function performs the S-layer first, that is, f i = L i S i .
First, we find a maximum differential characteristic Δ X 0 , , Δ X r by automatic search and obtain the activity pattern δ = δ 1 , , δ r . We focus on the characteristics of differential Δ X 0 , Δ X r following the same activity pattern δ.
We introduce some graph notations. A directed graph G = V , E is a pair of sets, where V is a set of vertices and E = u , v u v V } V × V is a set of directed edges. A path P = V , E in G is a non-empty subgraph of G with the form V = { v 1 , v 2 , , v k } , E = v 1 , v 2 , v 2 , v 3 , , v k 1 , v k where the v i are all distinct. We denote a path from a vertex u to a vertex v by u v . We focus on a special type of directed graph, called a multistage graph. The multistage graph G = ( V , E ) is a directed graph where the vertex set V is partitioned in V 0 , , V k which, if u , v is in E , then u V i and v V i + 1 for some 0 i < k and V 0 = V k = 1 . The vertex in V 0 is called the source s and the vertex in V k is called the sink t .

4.1. Counting the Maximum Differential Characteristics

We present our methods to count the number of maximum differential characteristics following an activity pattern δ with a given differential Δ X 0 , Δ X r . If the number of specific differential characteristics can be counted, we can compute a lower bound on the differential probability. The main idea is to construct a multistage graph such that the vertex set V i contains the vertex v representing the difference of i -round function and count the number of paths Δ X 0 Δ X r .
For a given plaintext and ciphertext difference Δ X 0 , Δ X r and activity pattern δ , we initialize a multistage graph G with V 0 = Δ X 0 , V r = Δ Y r where Δ Y r = L r 1 Δ X r . We set V i = for 0 < i < r and edge set E = . The construction graph shown in Figure 1 consists of three parts: forward generation, backward generation, and match.

4.1.1. Forward Generation

In the forward generation part, the vertices of V i are the output difference of the round function f i . We generate the vertices of V i that are propagated from the vertex in V i 1 through f i with probability 2 2 for every active S-box and satisfy the activity pattern δ i + 1 . We also generate the edge u , v from V i 1 to V i if u propagates to v with maximum probability. We check whether it is impossible for the vertex v to propagate to a vertex in the next round with probability 2 2 per active S-box. If then, since there is no path from the source to the sink through v , we disregard v . The forward generation algorithm is described in Algorithm 4. The set F M S , Δ X is a set of output differences that are propagated from Δ X through S-box S with probability 2 2 , i.e.,
F M S , Δ X = Δ Y F 2 4 | Pr Δ X S Δ Y = 2 2
Algorithm 4. Forward generation from V 0 to V r / 2
Input: round r , graph G , activity pattern δ = δ 1 , , δ r
Output: graph G
Procedure  ForwardGeneration r , G , δ  
1. for i 1 to r / 2
    1-1. for u V i 1
       1-1-1. ForwardPropagation u , V i , δ i + 1 , E
2. return G
Procedure  ForwardPropagation u , V i , δ i + 1 , E
1. w zero vertex
2. j 1 , , j k The indices of nonzero word in u
3. for w j 1 , , w j k F M S j 1 , u j 1 × × F M S j k , u j k
    3-1. v L i ( w )
    3-2. if v does not satisfy δ i + 1 or nonzero v j s.t. F M S j , v j =
       3-2-1. Go back to for loop
    3-3. if v V i
       3-3-1. V i V i v
    3-4. E E u , v
4. return V i , E

4.1.2. Backward Generation

In backward generation, the vertices of V i are the output differences of the i -th S-layer S i in the round function. We generate the vertices of V i that can propagate to the vertex in V i + 1 though S i + 1 L i with probability 2 2 for every active S-box and satisfy δ i . We also generate the edge ( u , v ) from V i to V i + 1 in the same way as forward generation. Similar to forward generation, we check whether it is impossible to propagate from V i 1 to v with probability 2 2 per active S-box. The backward generation algorithm is described in Algorithm 5. The set B M S , Δ Y is a set of input differences such that propagates to Δ Y through S-box S with probability 2 2 , i.e.,
B M S , Δ Y = Δ X F 2 4 | Pr Δ X S Δ Y = 2 2
Algorithm 5. Backward generation from V r to V r / 2 + 1
Input: round r , graph G , activity pattern δ = δ 1 , , δ r
Output: graph G
Procedure  BackwardGeneration r , G , δ  
1. for i r 1 to r / 2 + 1
     1-1. for u V i + 1
        1-1-1. → BackwardPropagation u , V i , δ i , E
2. return G
Procedure  BackwardPropagation u , V i , δ i , E
1. w zero vertex
2. j 1 , , j k The indices of nonzero word in u
3. for w j 1 , , w j k B M S j 1 , u j 1 × × B M S j k , u j k
    3-1. v L i 1 ( w )
    3-2. if v does not satisfy δ i or nonzero v j s.t. B M S j , v j =
        3-2-1. Go back to for loop
    3-3. if v V i
        3-3-1. V i V i v
    3-4. E E u , v
4. return V i , E

4.1.3. Match

By performing forward generation and backward generation, the multistage graph G is almost constructed except for the edges between V r / 2 and V r / 2 + 1 . In the match part, we connect u V r / 2 and v V r / 2 + 1 if u propagates to v through the S-layer S r / 2 + 1 with probability 2 2 for every active S-box. The match algorithm is described in Algorithm 6.
Algorithm 6. Match two vertex sets V r / 2 and V r / 2 + 1
Input: round r , graph G
Output: graph G
Procedure  Match r , G  
1. for u V r / 2
    1-1. v 0
    1-2. j 1 , , j k The indices of nonzero word in u
    1-3. for v j 1 , , v j k F M S j 1 , u j 1 × × F M S j k , u j k
        1-3-1. if v V r / 2 + 1
           1-3-1-1. E E u , v
2. return G
In the constructed multistage graph G , the path from the source to the sink is equivalent to the differential characteristic. Thus, we can count the differential characteristics by counting the paths in G .
Since we are interested in only the number of paths, we do not need to store the whole graph G. In forward generation, the number of paths from the source s to the vertex in V i is the sum of paths to connected vertices in V i 1 , i.e.,
for   v V i ,   Δ X 0 v = u , v E Δ X 0 u
Therefore, we do not need to store V i 1 by marking the number of paths to the vertices of V i . It is similar to backward generation. Thus, we store only V r / 2 and V r / 2 + 1 . In match part, we count the number of paths from Δ X 0 to Δ Y r by
Δ X 0 Δ Y r = u , v E Δ X 0 u v Δ Y r
where E is the subset of E that contains edges between V r / 2 and V r / 2 + 1 .
For the AES-like ciphers such as Midori, SKINNY and CRAFT, we can simplify the process through precomputation. Since the AES-like cipher uses MixColumns or MixRows operations, there is independence between words for difference propagation through the two S-layers. Figure 2 shows the independent words in the block cipher SKINNY. Although the differences in same-colored words may change through the S-layer and MixColumns(MixRows) operations, they remain independent from those in words of different colors.
By using this property, we make a 2 4 4 × 2 4 4 table T whose entry α , β contains the number of paths from four-word difference α to four-word difference β though two S-layers and one linear layer. Then, we can match the vertices between V r / 2 1 and V r / 2 + 1 , not V r / 2 and V r / 2 + 1 . In the match part, instead of connecting two vertices, we compute the number of paths between u V r / 2 1 , v V r / 2 + 1 by multiplying the number of paths between the difference of four words marked in table T . This precomputation method speeds up dramatically when there are too many active S-boxes in the middle round r / 2 .
If the key(tweak) schedule of block cipher is linear, i.e., the key(tweak) difference in each round is fixed, our algorithms are applicable to related-key(tweak) differential cryptanalysis by considering key(tweak) difference XOR during graph construction. But in this case, the precomputation method cannot be used.

4.2. Generalized Counting Differential Characteristics

In this subsection, we present a generalized method with a weighted graph. We introduce some additional graph notation for a weighted graph. A weighted graph is a graph whose edge is assigned a weight. We denote the weight of edge e by w e . And we define the weight of path u v as w u v e E u v w e .
In the construction of a multistage graph, we assign the probability of propagation from u to v scaled by 2 2 h w δ i to the edge weight w u , v , i.e.,
for   u V i 1   and   v V i ,   w u , v = Pr u f i v 2 2 h w δ i
The h w δ i is the hamming weight of δ i indicating the number of active S-boxes in the i -round. And then, we construct a weighted multistage graph similar to the construction in Section 4.1. The path with weight 1 is interpreted as one maximum differential characteristic, and a path with weight 2 1 is interpreted as half of that. We set the lower bound of the edge weight W L B to prevent the graph from getting too large. We generate the vertices v V i only if there exists the vertex u V i 1 with w u , v W L B . Setting W L B = 2 1 means allowing one word to propagate with probability 2 3 . The forward generation algorithm for constructing a weighted graph is given in Algorithm 7. The set F S , Δ X is a set of output differences such that are propagated from Δ X through S-box S , i.e.,
F S , Δ X = Δ Y F 2 4 | Pr Δ X S Δ Y 0
Algorithm 7. Forward generation from V 0 to V r / 2 (weighted graph)
Input: round r , graph G , activity pattern δ = δ 1 , , δ r , weight lower bound W L B
Output: graph G
Procedure  ForwardGeneration _ weight r , G , δ , W L B  
1. for i 1 to r / 2
    1-1. for u V i 1
       1-1-1. → ForwardPropagation _ weight u , V i , δ i + 1 , E , W L B
2. return G
Procedure  ForwardPropagation _ weight u , V i , δ i + 1 , E , W L B
1. w zero vertex
2. j 1 , , j k The indices of nonzero word in u
3. for w j 1 , , w j k F S j 1 , u j 1 × × F S j k , u j k
    3-1. p r o i j 1 , , j k P r u i S i w [ i ] 2 2
    3-2. v L i ( w )
    3-3. if v does not satisfy δ i + 1 or p r o < W L B
       3-3-1. Go back to for loop
    3-4. if v V i
       3-4-1. V i V i v
    3-5. E E u , v
    3-4. e u , v p r o
4. return V i , E
The constructed graph in Section 4.1 is a special case of a weighted graph with W L B = 1 . By weighted graph with W L B < 1 , we can consider not only the maximum differential characteristic but also the differential characteristic with lower probability.
Like the graph construction in Section 4.1, we also do not need to store the whole graph G and can simplify by precomputation. When we implement precomputation in weighted graph construction, the lower bound of edge weight from V r / 2 1 to V r / 2 + 1 cannot apply because we precompute the path weights from four words to four words, not the whole vertex. So, we implement the precomputation, applying the lower bound 2 2 to 4-word propagation through two S-layers. This allows us to consider more edges with weights less than W L B from V r / 2 1 to V r / 2 + 1 .

5. Results on Midori64, SKINNY64 and CRAFT

In this section, we present the results on lightweight block ciphers Midori64, SKINNY64 and CRAFT. And at the end of this section, we discuss why the gap between the differential and characteristic probability is large for Midori64, SKINNY64 and CRAFT in comparison to other block ciphers. In most cases, the execution time was only about 10 s. However, generating the weighted graph for SKINNY64 required considerably more time. For 12-round SKINNY64, the process took 3.28 h when W L B was set to 0.5 and 61.71 h when W L B was set to 0.25.
For each block cipher, we first find about 1000 maximum differential characteristics using a SAT solver and compute the differential probabilities by using a graph and precomputed 2 4 4 × 2 4 4 table. We present the differential with the highest probability as a result. Table 4 shows the differential probabilities of block cipher Midori64, SKINNY64 and CRAFT in comparison with previous work.
Figure 3 shows the round-wise differential probabilities of block ciphers Midori64, SKINNY64 and CRAFT. The black line indicates the probability of a single differential characteristic. The green line indicates the differential probability by counting the maximum differential characteristics described in Section 4.1. And the blue and red line indicate the probability by generalized counting described in Section 4.2 with W L B = 0.5 and 0.25 , respectively. The red dotted line indicates the block size.
We apply our algorithms to the related-tweak differential without precomputation. The gap between the related-tweakey differential and single characteristic probability is not as large as a single-key differential. In the TK1 related-tweakey setting of 15-round SKINNY64, there are only 216 characteristics with fixed plaintext, ciphertext and tweakey difference. But it is large in CRAFT. We present the related-tweak differential probabilities of SKINNY64 and CRAFT in Figure 4.
The detailed results are given in Table 5, Table 6, Table 7, Table 8 and Table 9. In the tables, Pr D C is the single differential characteristic probability and Pr D , M is the differential probability by counting the maximum differential characteristics. Pr D , 0.5 and Pr D , 0.25 are the probabilities by generalized counting with W L B = 0.5 and 0.25 , respectively.
For 4 i + 2 ( i 2 ) rounds of CRAFT, we found an activity pattern that provides higher differential probability than presented in [21]. It is given in Appendix A.
Our algorithm is applicable to all block ciphers using 4-bit S-boxes and word-based diffusion layers such as LED [34], TWINE [35] and LBlock [36]. However, there are a few gaps between the differential and characteristic probabilities compared to the results that we present. Here, we explain the reason that the gaps are large on Midori64, SKINNY64 and CRAFT. The first reason is the weak diffusion layer composed only of XOR with a low branch number. However, it is not enough to explain why the gap is large only in Midori64, SKINNY64 and CRAFT. Although it is a Feistel network structure, TWINE and LBlock have diffusion layers composed only of XOR with low branch numbers. But there is only one maximum differential characteristic for 11-round TWINE and no more than three maximum differential characteristics for 14-round LBlock with fixed input, output difference and an activity pattern. So, we found another reason related to the S-box. By the weak diffusion layer that is composed only of XOR, the difference is rarely changed through the diffusion layer. So, the output difference of the S-layer almost becomes the input of the next S-layer. Thus, the number of paths from plaintext to ciphertext difference through the block cipher is related to the number of word difference paths through S-boxes.
From a difference distribution table of S-box, we generate a directed graph G S such that their vertices are a nonzero difference, and edges α , β exist if
Pr α S β = 2 2 .
We also obtain an adjacent matrix A of G S that is a square matrix where each element indicates whether a pair of vertices is connected by an edge. Figure 5 shows the graph G S and adjacent matrix A of the SKINNY64 S-box difference distribution table.
We can also calculate the i -power of matrix A . The entry α ,   β of A i means the number of i length path from vertex α to β in G S . That is the number of word difference paths from difference α to β through the S-box i times. We compute the average value of A i for some S-boxes shown in Table 10. The S-box G 2 is the optimal 4-bit S-box presented in [37].
By Table 10, the average number of paths from a non-zero difference to a non-zero difference is the highest in the Midori64 S-box, followed by the SKINNY64 S-box. To verify that the number of i length path in G S is significantly related to the gap between the differential and characteristic probabilities, we compute the number of maximum differential characteristic of SKINNY64, replacing the S-box with another one. Table 11 shows the results of 10 rounds.
Table 11 shows that the use of Midori64 S-box with a weak diffusion layer is more vulnerable to differential cryptanalysis than the use of other S-boxes. The differential probability using Modir64 S-box is at least 2 60.22 . On the other hand, the probability is 2 84.61 when using PRESENT S-box. This explains why the gap between differential and characteristic probabilities is largest in CRAFT, which uses a Midori64 S-box and a very weak diffusion layer.

6. Conclusions

In this work, we present an approach to computing the lower bound of the differential probability of block ciphers with a word-based diffusion layer and S-layer. Our approach is to obtain the best differential characteristic by using an off-the-shelf SAT solver and then count the number of maximum differential characteristics with a given plaintext, ciphertext difference, and activity pattern. We constructed a multistage graph to count in which the path from source to sink is equivalent to the difference characteristic. Moreover, we present a generalized approach by using a weighted graph to consider more characteristics, not only the maximum characteristic. By using our method, we provide more accurate differential probabilities of Midori64, SKINNY64 and CRAFT.
Further, we propose that the gap between the probability of differential and characteristic in a block cipher with weak diffusion is significantly related to the S-box. We explain the relation by an adjacent matrix of the difference distribution table of the S-box. The average value of the adjacent matrix’s i -th power is significantly related to the gap between differential and characteristic probabilities, when the S-box is used with a weak diffusion layer in which the passed difference is rarely changed. We claim that using Midori64 S-box, which has the highest average value of the adjacent matrix’s i -th power, with a weak diffusion layer, is vulnerable to differential cryptanalysis, as seen in the results of CRAFT.

Author Contributions

Conceptualization, D.K.; Methodology, D.K.; Formal analysis, D.K.; Writing—original draft, D.K.; Writing—review & editing, J.S. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Data Availability Statement

Data is contained within the article.

Conflicts of Interest

The authors declare no conflict of interest.

Appendix A

We present the activity pattern in Figure A1 that provides a higher differential probability than the one presented in the study of [21]. Orange-colored words are active, and Cyan-colored words are inactivated by difference cancelation. The activity pattern of 4 i + 2 i 2 rounds of CRAFT is the form of E o u t E m i 2 E i n .
Figure A1. Activity pattern of 4 i + 2 i 2 rounds of CRAFT.
Figure A1. Activity pattern of 4 i + 2 i 2 rounds of CRAFT.
Cryptography 09 00042 g0a1

References

  1. Biham, E.; Shamir, A. Differential cryptanalysis of DES-like cryptosystems. J. Cryptol. 1991, 4, 3–72. [Google Scholar] [CrossRef]
  2. Biryukov, A.; Nikolić, I. Search for related-key differential characteristics in DES-like ciphers. In Proceedings of the International Workshop on Fast Software Encryption, Lyngby, Denmark, 13–16 February 2011. [Google Scholar]
  3. Kazumaro, A.; Kunio, K.; Shiho, M. Best Differential Characteristic Search of FEAL. In Proceedings of the International Workshop on Fast Software Encryption, Haifa, Israel, 20–22 January 1997. [Google Scholar]
  4. Matsui, M. On correlation between the order of S-boxes and the strength of DES. In Proceedings of the Advances in Cryptology—EUROCRYPT, Perugia, Italy, 9–12 May 1994. [Google Scholar]
  5. Abdelkhalek, A.; Sasaki, Y.; Todo, Y.; Tolba, M.; Youssef, A.M. MILP modeling for (large) s-boxes to optimize probability of differential characteristics. IACR Trans. Symmetric Cryptol. 2017, 2017, 99–129. [Google Scholar] [CrossRef]
  6. Song, L.; Huang, Z.; Yang, Q. Automatic differential analysis of ARX block ciphers with application to SPECK and LEA. In Proceedings of the Australasian Conference on Information Security and Privacy, Melbourne, Australia, 4–6 July 2016. [Google Scholar]
  7. Sun, L.; Wang, W.; Wang, M. More accurate differential properties of LED64 and Midori64. IACR Trans. Symmetric Cryptol. 2018, 2018, 93–123. [Google Scholar] [CrossRef]
  8. Mouha, N.; Wang, Q.; Gu, D.; Preneel, B. Differential and linear cryptanalysis using mixed-integer linear programming. In Proceedings of the International Conference on Information Security and Cryptology, Seoul, Korea, 30 November–2 December 2011. [Google Scholar]
  9. Banik, S.; Bogdanov, A.; Isobe, T.; Shibutani, K.; Hiwatari, H.; Akishita, T.; Regazzoni, F. Midori: A block cipher for low energy. In Advances in Cryptology–ASIACRYPT 2015, Proceedings of the 21st International Conference on the Theory and Application of Cryptology and Information Security, Auckland, New Zealand, 29 November–3 December 2015; Springer: Berlin/Heidelberg, Germany, 2015. [Google Scholar]
  10. Beierle, C.; Jean, J.; Kölbl, S.; Leander, G.; Moradi, A.; Peyrin, T.; Sasaki, Y.; Sasdrich, P.; Sim, S.M. The SKINNY family of block ciphers and its low-latency variant MANTIS. In Advances in Cryptology–CRYPTO, Proceedings of the 36th Annual International Cryptology Conference, Santa Barbara, CA, USA, 14–18 August 2016; Springer: Berlin/Heidelberg, Germany, 2016. [Google Scholar]
  11. Beierle, C.; Leander, G.; Moradi, A.; Rasoolzadeh, S. CRAFT: Lightweight tweakable block cipher with efficient protection against DFA attacks. IACR Trans. Symmetric Cryptol. 2019, 2019, 5–45. [Google Scholar] [CrossRef]
  12. 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, Proceedings of the 20th International Conference on the Theory and Application of Cryptology and Information Security, Kaoshiung, Taiwan, 7–11 December 2014; Springer: Berlin/Heidelberg, Germany, 2014. [Google Scholar]
  13. Bellini, E.; De Piccoli, A.; Formenti, M.; Gerault, D.; Huynh, P.; Pelizzola, S.; Polese, S.; Visconti, A. Differential cryptanalysis with SAT, SMT, MILP, and CP: A detailed comparison for bit-oriented primitives. In Cryptology and Network Security, Proceedings of the 22nd International Conference, CANS 2023, Augusta, GA, USA, 31 October–2 November 2023; Springer: Singapore, 2023. [Google Scholar]
  14. Mouha, N.; Preneel, B. Towards finding optimal differential characteristics for ARX: Application to Salsa20. Cryptol. ePrint Arch. 2013. Available online: https://eprint.iacr.org/2013/328 (accessed on 9 June 2025).
  15. Kölbl, S.; Leander, G.; Tiessen, T. Observations on the SIMON block cipher family. In Advances in Cryptology—CRYPTO, Proceedings of the 35th Annual Cryptology Conference, Santa Barbara, CA, USA, 16–20 August 2015; Springer: Berlin/Heidelberg, Germany, 2015. [Google Scholar]
  16. Sakamoto, K.; Ito, R.; Isobe, T. Parallel SAT framework to find clustering of differential characteristics and its applications. In Selected Areas in Cryptography—SAC 2023, Proceedings of the 30th International Conference, Fredericton, Canada, 14–18 August 2023; Springer: Cham, Switzerland, 2023; pp. 409–428. [Google Scholar]
  17. Ankele, R.; Kölbl, S. Mind the gap-A closer look at the security of block ciphers against differential cryptanalysis. In Selected Areas in Cryptography, Proceedings of the 25th International Conference, Calgary, AB, Canada, 15–17 August 2018; Springer: Cham, Switzerland, 2018; pp. 163–190. [Google Scholar]
  18. Biryukov, A.; Derbez, P.; Perrin, L. Differential analysis and meet-in-the-middle attack against round-reduced TWINE. In Fast Software Encryption, Proceedings of the 22nd International Workshop, FSE 2015, Istanbul, Turkey, 8–11 March 2015; Springer: Berlin/Heidelberg, Germany, 2015. [Google Scholar]
  19. Canteaut, A.; Fuhr, T.; Gilbert, H.; Naya-Plasencia, M.; Reinhard, J.-R. Multiple differential cryptanalysis of round-reduced PRINCE. In Fast Software Encryption, Proceedings of the 21st International Workshop, FSE 2014, London, UK, 3–5 March 2014; Springer: Berlin/Heidelberg, Germany, 2014. [Google Scholar]
  20. Leurent, G. Differential forgery attack against LAC. In Selected Areas in Cryptography, Proceedings of the 22nd International Conference, Sackville, NB, Canada, 12–14 August 2015; Springer: Cham, Switzerland, 2016. [Google Scholar]
  21. Hadipour, H.; Sadeghi, S.; Niknam, M.M.; Bagheri, N. Comprehensive security analysis of CRAFT. IACR Trans. Symmetric Cryptol. 2019, 290–317. [Google Scholar] [CrossRef]
  22. Hall-Andersen, M.; Vejre, P.S. Generating graphs packed with paths: Estimation of linear approximations and differentials: Estimation of linear approximations and differentials. IACR Trans. Symmetric Cryptol. 2018, 3, 265–289. [Google Scholar] [CrossRef]
  23. Chen, J.; Miyaji, A.; Su, C.; Teh, J. Improved differential characteristic searching methods. In Proceedings of the IEEE 2nd International Conference on Cyber Security and Cloud Computing, New York, NY, USA, 3–5 November 2015. [Google Scholar]
  24. Biryukov, A.; Teh, J.S.; Udovenko, A. Meet-in-the-filter and dynamic counting with applications to speck. In Applied Cryptography and Network Security, Proceedings of the 21st International Conference, ACNS 2023, Kyoto, Japan, 19–22 June 2023; Springer: Cham, Switzerland, 2023; pp. 149–177. [Google Scholar]
  25. Jean, J.; Nikolić, I.; Peyrin, T. Tweaks and keys for block ciphers: The TWEAKEY framework. In Advances in Cryptology–ASIACRYPT 2014, Proceedings of the 20th International Conference on the Theory and Application of Cryptology and Information Security, Kaoshiung, Taiwan, 7–11 December 2014; Springer: Berlin/Heidelberg, Germany, 2014; pp. 274–288. [Google Scholar]
  26. Lai, X. Higher order derivatives and differential cryptanalysis. In Communications and Cryptography: Two Sides of One Tapestry; Springer: Boston, MA, USA, 1994; pp. 227–233. [Google Scholar]
  27. Biham, E.; Biryukov, A.; Shamir, A. Cryptanalysis of Skipjack reduced to 31 rounds using impossible differentials. In Advances in Cryptology—EUROCRYPT ’99, Proceedings of the International Conference on the Theory and Applications of Cryptographic Techniques, Prague, Czech Republic, 2–6 May 1999; Springer: Berlin/Heidelberg, Germany, 1999. [Google Scholar]
  28. Wagner, D. The boomerang attack. In Fast Software Encryption, Proceedings of the 6th International Workshop, FSE’99, Rome, Italy, 24–26 March 1999; Springer: Berlin/Heidelberg, Germany, 1999. [Google Scholar]
  29. Lai, X.; Massey, J.L.; Murphy, S. Markov ciphers and differential cryptanalysis. In Advances in Cryptology—EUROCRYPT’91, Proceedings of the Workshop on the Theory and Application of Cryptographic Techniques, Brighton, UK, 8–11 April 1991; Springer: Berlin/Heidelberg, Germany, 1991. [Google Scholar]
  30. Bailleux, O.; Boufkhad, Y. Efficient CNF encoding of boolean cardinality constraints. In In International Conference on Principles and Practice of Constraint Programming—CP 2003, Kinsale, Ireland, 29 September–3 October; Springer: Berlin/Heidelberg, Germany, 2003. [Google Scholar]
  31. Sinz, C. Towards an optimal CNF encoding of boolean cardinality constraints. In Principles and Practice of Constraint Programming—CP 2005, Proceedings of the 11th International Conference, Sitges, Spain, 1–5 October 2005; Springer: Berlin/Heidelberg, Germany, 2005. [Google Scholar]
  32. Wonderings of a SAT Geek. Available online: https://www.msoos.org/cryptominisat5/ (accessed on 1 June 2025).
  33. Bogdanov, A.; Knudsen, L.R.; Leander, G.; Paar, C.; Poschmann, A.; Robshaw, M.J.; Seurin, Y.; Vikkelsoe, C. PRESENT: An ultra-lightweight block cipher. In Cryptographic Hardware and Embedded Systems, Proceedings of the 9th International Workshop, Vienna, Austria, 10–13 September 2007; Springer: Berlin/Heidelberg, Germany, 2007. [Google Scholar]
  34. Guo, J.; Peyrin, T.; Poschmann, A.; Robshaw, M. The LED block cipher. In Cryptographic Hardware and Embedded Systems–CHES 2011, Proceedings of the 13th International Workshop, Nara, Japan, 28 September–1 October 2011; Springer: Berlin/Heidelberg, Germany, 2011; pp. 326–341. [Google Scholar]
  35. Suzaki, T.; Minematsu, K.; Morioka, S.; Kobayashi, E. Twine: A lightweight, versatile block cipher. In Proceedings of the ECRYPT workshop on lightweight cryptography, Louvain-la-Neuve, Belgium, 28–29 November 2011. [Google Scholar]
  36. Wu, W.; Zhang, L. LBlock: A lightweight block cipher. In Applied Cryptography and Network Security, Proceedings of the 9th International Conference, ACNS 2011, Nerja, Spain, 7–10 June 2011; Springer: Berlin/Heidelberg, Germany, 2011; pp. 327–344. [Google Scholar]
  37. Leander, G.; Poschmann, A. On the classification of 4 bit s-boxes. In Arithmetic of Finite Fields, Proceedings of the First International Workshop, WAIFI 2007, Madrid, Spain, 21–22 June 2007; Springer: Berlin/Heidelberg, Germany, 2007. [Google Scholar]
Figure 1. Graph construction on r -round block cipher.
Figure 1. Graph construction on r -round block cipher.
Cryptography 09 00042 g001
Figure 2. Words that are independent of differential in SKINNY round functions.
Figure 2. Words that are independent of differential in SKINNY round functions.
Cryptography 09 00042 g002
Figure 3. Differential probabilities of Midori64 (a), SKINNY64 (b) and CRAFT (c).
Figure 3. Differential probabilities of Midori64 (a), SKINNY64 (b) and CRAFT (c).
Cryptography 09 00042 g003
Figure 4. Related-tweakey(TK1) differential probabilities of SKINNY64 (a) and related-tweak differential probabilities of CRAFT (b).
Figure 4. Related-tweakey(TK1) differential probabilities of SKINNY64 (a) and related-tweak differential probabilities of CRAFT (b).
Cryptography 09 00042 g004
Figure 5. Graph and adjacent matrix for differential distribution table of SKINNY64 S-box.
Figure 5. Graph and adjacent matrix for differential distribution table of SKINNY64 S-box.
Cryptography 09 00042 g005
Table 1. Midori64 S-box in hexadecimal form.
Table 1. Midori64 S-box in hexadecimal form.
x 0123456789abcdef
Sbox [ x ] cad3ebf789150246
Table 2. SKINNY64 S-box in hexadecimal form.
Table 2. SKINNY64 S-box in hexadecimal form.
x 0123456789abcdef
Sbox [ x ] c6901a2b385d4e7f
Table 3. The number of PRESENT 15-round characteristics ( # c h a r ) with probability ( P r o ) from 2 79 to 2 66 of differential (000F00000000000F, 0404040400000000).
Table 3. The number of PRESENT 15-round characteristics ( # c h a r ) with probability ( P r o ) from 2 79 to 2 66 of differential (000F00000000000F, 0404040400000000).
P r o 2 66 2 67 2 68 2 69 2 70 2 71 2 72
# C h a r 24023431051573043
P r o 2 73 2 74 2 75 2 76 2 77 2 78 2 79
# C h a r 470656422171162269821885916677
Table 4. Differential probabilities of Midori64, SKINNY64 and CRAFT.
Table 4. Differential probabilities of Midori64, SKINNY64 and CRAFT.
CipherRoundsProbabilityRef.
Midori648 2 60.87 [16]
9 2 66.52
2 61.58 Ours
SKINNY648 2 56.55 [16]
9 2 65.36
2 59.33 Ours
CRAFT14 2 63.80 [20]
2 60.32 Ours
SKINNY64-64 (Related tweakey)11 2 55.93 Ours
CRAFT (Related tweak)17 2 63.37 Ours
Table 5. Differential probabilities of Midori64.
Table 5. Differential probabilities of Midori64.
RoundDifferential Pr D C Pr D , M Pr D , 0.5 Pr D , 0.25
40x0AA0A0A0AA00AAA0
0xA0AAAA0A0AAA0000
2 32 2 23.82 2 23.82 2 23.82
50x000000A00A00A000
0x AA0A0AAAAAAAAAA0
2 46 2 34.14 2 34.14 2 34.14
60x00000000A00A00A0
0x 0000A0A00000AAA0
2 60 2 44.15 2 44.13 2 44.07
70x000000A000000000
0x0AAA000000000000
2 70 2 52.71 2 52.65 2 52.61
80xA0000A0000A00000
0x00000AAA00000000
2 76 2 57.18 2 57.14 2 57.12
90x0000A000000A00A0
0xAA0AA0AAAAA00000
2 82 2 61.67 2 61.62 2 61.58
100xAAA0AA00A0A00AA0
0xA0AAAA0A0000AAA0
2 100 2 75.12 2 75.12 2 75.01
110x000000A00000AA00
0x0AAA00AA00000000
2 114 2 83.75 2 83.75 2 83.60
Table 6. Differential probabilities of SKINNY64.
Table 6. Differential probabilities of SKINNY64.
RoundDifferential Pr D C Pr D , M Pr D , 0.5 Pr D , 0.25
40x0020000000000002
0x0002000000220002
2 16 2 11.91 2 11 2 11
50x0000040040000044
0x0020000002200020
2 24 2 18.20 2 17.90 2 17.50
60x0000000100C01100
0x5555500005505550
2 32 2 24.73 2 24.09 2 23.12
70x0000004004004004
0x0AAAAAAAA0AAAA00
2 52 2 41.37 2 39.29 2 39.07
80x0220220020002020
0x0220220022022020
2 72 2 56.08 2 52.61 2 51.35
90x0220220022022020
0x0022000220000002
2 82 2 63.99 2 59.33 2 58.67
100x0008080008008000
0xA00AA00A0A0AA000
2 92 2 72.04 2 67.08 2 65.67
110x0000000400404400
0x2A00000020A02000
2 102 2 83.09 2 76.53 2 74.06
120x0000000000000400
0x0600000006000600
2 110 2 86.64 2 78.69 2 75.90
Table 7. Differential probabilities of CRAFT.
Table 7. Differential probabilities of CRAFT.
RoundDifferential Pr D C Pr D , M Pr D , 0.5 Pr D , 0.25
60x00AA000A0AA0000A
0x0A0000000AA0000A
2 28 2 17.28 2 17.22 2 17.01
70xAA000A00A00A0A00
0x00A000AA0A00A00A
2 40 2 25.49 2 25.17 2 25.00
80xAAAAA0A0000A0AA0
0xA000AA00000A0AA0
2 52 2 33.31 2 32.61 2 32.54
90xAA0AAA000000AA00
0x0A000000000000AA
2 64 2 40.68 2 40.28 2 40.20
100xA000A0A00000A0A0
0x00A000000000A0A0
2 72 2 43.42 2 42.84 2 42.42
110xAA0AAA000000AA00
0x0A000000000000AA
2 80 2 50.34 2 49.86 2 49.66
120xAA0AAA000000AA00
0x000A00000000AA00
2 88 2 55.17 2 54.66 2 54.38
130xAA0AAA000000AA00
0x0A000000000000AA
2 96 2 60.00 2 59.45 2 59.08
140xA000A0A00000A0A0
0x0A000000000A0A0
2 104 2 61.81 2 60.80 2 60.32
150xAA0AAA000000AA00
0x0A000000000000AA
2 112 2 69.65 2 69.04 2 68.46
160xAA0AAA000000AA00
0x000A00000000AA00
2 120 2 74.48 2 73.83 2 73.14
170xAA0AAA000000AA00
0x0A000000000000AA
2 128 2 79.31 2 78.62 2 77.82
180xA000A0A00000A0A0
0x00A000000000A0A0
2 136 2 80.15 2 78.97 2 78.13
190xAA0AAA000000AA00
0x0A000000000000AA
2 144 2 88.96 2 88.21 2 87.15
Table 8. Related-TK1 differential probabilities of SKINNY64.
Table 8. Related-TK1 differential probabilities of SKINNY64.
RoundDifferential Pr D C Pr D , M Pr D , 0.5 Pr D , 0.25
40x0000000000000100
0x0050005000000050
Δ T K 1 = 0x0000000005000000
2 4 2 2.42 2 2.42 2 2.42
50x0000000000001000
0x00A0000000A000A0
Δ T K 1 = 0x0000000000000500
2 6 2 4.42 2 4.42 2 4.42
60x0000000000000001
0x0666000606050606
Δ T K 1 = 0x0000000050000000
2 12 2 9.42 2 9.42 2 9.42
70x2000002002002000
0x0665000506050605
Δ T K 1 = 0x5000000000000000
2 20 2 16.68 2 16.10 2 16.10
80x4000400000000000
0x0660006006500660
Δ T K 1 = 0x2000200050000000
2 26 2 24 2 23.68 2 23.68
90x0000000800900800
0x0550005005500550
Δ T K 1 = 0x500000000A200000
2 32 2 29 2 28.68 2 28.68
100x0000000200900900
0x92A808A0802228A8
Δ T K 1 = 0x5000000002A00000
2 46 2 42.42 2 41.61 2 41.61
110x04C4144004010010
0x0A28082000BA8828
Δ T K 1 = 0x0B80000001000000
2 64 2 58.10 2 56.19 2 55.93
120x2000200000000000
0x00AA0000208A00AA
Δ T K 1 = 0x5000300020000000
2 76 2 67.88 2 65.30 2 65
130x0000000400400100
0x00A20000200200A2
Δ T K 1 = 0x2000000005300000
2 82 2 72.29 2 69.71 2 69.42
140x0004000000004000
0x5450015050005150
Δ T K 1 = 0x0000000001000000
2 90 2 77.97 2 71.80 2 70.12
150x0000100000000400
0x2280000022822280
Δ T K 1 = 0x0100550000000000
2 98 2 88.67 2 86.54 2 85.39
Table 9. Related-tweak differential probabilities of CRAFT. For each round, the tweak difference is 0x0000000000A00000 or 0x00000000000A0000.
Table 9. Related-tweak differential probabilities of CRAFT. For each round, the tweak difference is 0x0000000000A00000 or 0x00000000000A0000.
RoundDifferential Pr D C Pr D , M Pr D , 0.5 Pr D , 0.25
60x0F0055000A000500
0x0000A00000000000
2 24 2 17.55 2 17.55 2 17.55
70x0F00A5000A000500
0x0000000000A0D000
2 28 2 19.55 2 19.55 2 19.55
80x0000000AA0000000
0x00000000A00A0000
2 38 2 25.12 2 25.12 2 25.09
90x5000000AA0000000
0x000000A00000005A
2 44 2 30.12 2 30.12 2 30.09
100x5AA055000AA05000
0x0000A00000000000
2 50 2 32.08 2 32.08 2 31.93
110x5AA055000AA05000
0x0000000000A0A000
2 54 2 34.08 2 34.08 2 33.93
120x00070005A0070000
0x0000000000000005
2 64 2 45.12 2 44.19 2 43.19
130x7007000DA0070000
0xA000000F000A00A0
2 72 2 51.12 2 50.19 2 49.19
140x0000A00000000000
0x0000500000000000
2 76 2 54.14 2 53.70 2 53.19
150x0000A00000000000
0x0000000000A05000
2 80 2 56.14 2 55.70 2 55.19
160x0000A00000000000
0x0A00500000A0AA0A
2 92 2 66.14 2 65.70 2 65.19
170x00000005A0000000
0x00000005A0000000
2 98 2 65.51 2 64.14 2 63.37
180xA00ADAA000AA00A0
0x0000F00000000000
2 102 2 72.81 2 72.38 2 71.86
190xA00A5AA000AA00A0
0x0000000000A05000
2 106 2 74.81 2 74.38 2 73.86
Table 10. Average value of the i -th power of the adjacent matrix corresponding to the difference distribution table graph of the block cipher S-boxes.
Table 10. Average value of the i -th power of the adjacent matrix corresponding to the difference distribution table graph of the block cipher S-boxes.
          i 1234567
S-box
Midori640.110.250.531.373.228.4420.85
SKINNY640.110.230.460.941.803.667.02
G 2 0.110.200.370.681.252.324.28
PRESENT0.110.200.360.671.212.203.97
Table 11. The number of maximum differential characteristics ( # c h a r ) with replacement of another S-box in 10-round SKINNY64.
Table 11. The number of maximum differential characteristics ( # c h a r ) with replacement of another S-box in 10-round SKINNY64.
S-boxMidori64SKINNY64 G 2 PRESENT
# c h a r 2 31.78 2 19.97 2 13.76 2 7.39
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Kwon, D.; Song, J. Computing the Differential Probability of a Word-Based Block Cipher. Cryptography 2025, 9, 42. https://doi.org/10.3390/cryptography9020042

AMA Style

Kwon D, Song J. Computing the Differential Probability of a Word-Based Block Cipher. Cryptography. 2025; 9(2):42. https://doi.org/10.3390/cryptography9020042

Chicago/Turabian Style

Kwon, Dawoon, and Junghwan Song. 2025. "Computing the Differential Probability of a Word-Based Block Cipher" Cryptography 9, no. 2: 42. https://doi.org/10.3390/cryptography9020042

APA Style

Kwon, D., & Song, J. (2025). Computing the Differential Probability of a Word-Based Block Cipher. Cryptography, 9(2), 42. https://doi.org/10.3390/cryptography9020042

Article Metrics

Back to TopTop