Next Article in Journal
A Two-Echelon Routing Model for Sustainable Last-Mile Delivery with an Intermediate Facility: A Case Study of Pharmaceutical Distribution in Rome
Next Article in Special Issue
A Privacy-Preserving Electromagnetic-Spectrum-Sharing Trading Scheme Based on ABE and Blockchain
Previous Article in Journal
Matching and Rewriting Rules in Object-Oriented Databases
Previous Article in Special Issue
Quantum Automated Tools for Finding Impossible Differentials
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Quantum Attacks on MIBS Block Cipher Based on Bernstein–Vazirani Algorithm

1
Department of Cryptography Science and Technology, Beijing Electronic Science and Technology Institute, Beijing 100070, China
2
Key Laboratory of Cryptography of Zhejiang Province, Hangzhou Normal University, Hangzhou 311121, China
3
Information Industry Information Security Evaluation Center, The 15th Research Institute of China Electronics Technology Group Corporation, Beijing 100083, China
*
Author to whom correspondence should be addressed.
Mathematics 2024, 12(17), 2678; https://doi.org/10.3390/math12172678
Submission received: 30 July 2024 / Revised: 25 August 2024 / Accepted: 26 August 2024 / Published: 28 August 2024
(This article belongs to the Special Issue New Advances in Coding Theory and Cryptography, 2nd Edition)

Abstract

:
Because of the substantial progress in quantum computing technology, the safety of traditional cryptologic schemes is facing serious challenges. In this study, we explore the quantum safety of the lightweight cipher MIBS and propose quantum key-recovery attacks on the MIBS cipher by utilizing Grover’s algorithm and Bernstein–Vazirani algorithm. We first construct linear-structure functions based on the 5-round MIBS cipher according to the characteristics of the linear transformations, and then we obtain a quantum distinguisher of the 5-round MIBS cipher by applying Bernstein–Vazirani algorithm to the constructed functions. Finally, utilizing this distinguisher and Grover’s algorithm, we realize a 7-round key-recovery attack on the MIBS cipher, and then we expand the attack to more rounds of MIBS based on a similar idea. The quantum attack on the 7-round MIBS requires 156 qubits and has a time complexity of 2 10.5 . An 8-round attack requires 179 qubits and has a time complexity of 2 22 . Compared with existing quantum attacks, our attacks have better time complexity when attacking the same number of rounds.

1. Introduction

There has been substantial progress in quantum computer development in recent years. Experts in physics, quantum computing, and computer architecture are committed to realizing quantum computers. While quantum computing may bring benefits to research in many fields, it also brings challenges, especially for cryptography.
The key difference in quantum computing from classical information computing and processing is parallelism, which comes from the principle of superposition. This parallelism superiority makes it possible to execute a great quantity of computational paths simultaneously on quantum computers, so that some computational problems that cannot be solved by electronic computers may be solved by quantum computers. For example, factoring large integers will be solvable on quantum computers by utilizing Shor’s algorithm [1]; however, the security of some widely used public key algorithms is built on it.
Apart from public key schemes, symmetric cryptography is under the threat of quantum attacks as well. Grover’s algorithm [2] is the most representative example. It can be used for any unstructured search and brings a quadratic speedup. Searching a specific marked target in an M-element database using Grover’s algorithm needs only O ( M ) complexity, while classical algorithms need at least O ( M ) complexity. Another famous example is Simon’s algorithm [3], which was introduced to find periods. It is also frequently applied to cryptanalysis of symmetric ciphers. At first, Simon’s algorithm was exploited to distinguish between a Feistel structure and a random function [4,5,6]. Afterwards, it was also utilized to find the key of the Even-Mansour (EM) scheme [6,7]. Lender et al. then utilized Grover’s algorithm and Simon’s algorithm simultaneously to extract the keys of FX ciphers [8]. Dong and Wang applied a similar method to attack a Feistel cipher [9] and the generalized Feistel cipher [10]. As for the Substitution–Permutation Network (SPN) structure, quantum attacks on the Advanced Encryption Standard (AES) algorithm were investigated by Jaques et al. [11]. Halak et al. evaluated the computation costs and performance of several quantum-attack-resilient cryptographic algorithms [12]. Recently, the research on the cryptanalysis of symmetric schemes has begun to pay attention to the Bernstein–Vazirani (BV) algorithm [13] and has obtained some good results [14,15].
In addition to the specific attacks on certain symmetric ciphers, analytic tools for symmetric ciphers must also be investigated for accurate security evaluation. In this direction, Grover’s algorithm was used to accelerate the search involved in differential attacks [11,16], and it was also used in the search part of linear attacks and their variants [17]. Afterwards, the BV algorithm was exploited for finding differentials [14,18,19]. Zhou and Yuan combined the BV algorithm and Grover’s algorithm for attacking Feistel ciphers [15]. Their attack strategy was inspired by the attack presented in [8,9], the main innovation being that it uses BV algorithm to distinguish the functions with nonzero linear structures from random functions instead of using Simon’s algorithm to distinguish functions with nonzero periods from random functions. Quantum algorithms are also applied to the collision attack on Hash functions [20,21]. Quantum cryptanalysis under the related-key model has also been studied [22,23]. The attacks mentioned above all exhibit the acceleration superiority of quantum algorithms in symmetric cryptanalysis over classical algorithms.
In this study, we investigate quantum attacks on the MIBS cipher, which is a lightweight algorithm with a Feistel structure and designed specifically for constrained environments [24]. First, by analyzing the characteristics of the MIBS cipher, we construct linear-structure functions based on the 5-round encryption of the MIBS cipher. Then, we combine this function with the BV algorithm to construct a distinguisher of the 5-round MIBS cipher. Afterwards, we utilize Grover’s algorithm and this distinguisher to implement a 7-round key-recovery attack on the MIBS cipher. Based on a similar idea, we further use the same distinguisher to implement 8-round and 9-round key-recovery attacks on the MIBS cipher. The 7-round, 8-round, and 9-round attacks require 156, 179, and 194 qubits, respectively, and their complexity are 2 10.5 , 2 22 , and 2 32 , respectively. Compared with existing quantum attacks, the quantum attacks presented in this article have the minimum complexity when attacking the same number of rounds. Our work further explores the “BV-meet-Grover’’ attack strategy and helps to evaluate the security of the MIBS cipher.
We first construct a periodic function based on the 5-round encryption, and then we combine Simon’s algorithm with the found periodic function to obtain a 5-round quantum distinguisher. As the number of rounds increases, the encryption function becomes more complex, making it increasingly difficult to find periodic functions. The 5-round distinguisher is the longest distinguisher we can find. Using the constructed 5-round distinguisher to attack 7-round, 8-round, and 9-round MIBS requires guessing 21, 44, and 64 bits of subkeys, respectively. The complexity of the 10-round attack exceeds that of the key exhaustive attack. Therefore, we only provide 7-round, 8-round, and 9-round attacks on MIBS.
Organization. Section 2 recalls the the fundamental concepts of quantum computing and cryptography; Section 3 constructs a 5-round quantum distinguisher of the MIBS cipher; Section 4 presents key-recovery attacks on the MIBS cipher; Section 5 provides a summary.

2. Preliminaries

2.1. Mibs Block Cipher

Lightweight cipher MIBS applies a standard Feistel structure [24]. Each block has 64 bits, and the key length supports 80-bit and 64-bit. We only consider the 64-bit version in this paper. MIBS has 32 rounds. Figure 1 shows the encryption structure of one round. L i 1 and R i 1 are the left branch and right branch of the input of the i-th round, respectively. L i and R i are the left branch and right branch of the output of the i-th round, respectively. K i is the i-th subkey ( i = 1 , 2 , , 32 ). In the i-th round, L i 1 and K i are input to the function F, and the XOR of R i 1 and the output of F is the left branch L i of the output. The right branch R i of the output directly takes the value of L i 1 . All operations appearing in MIBS are nibble-based. A nibble contains four bits.
Suppose the plaintext is M F 2 64 , then the encryption process of MIBS is as follows:
  • Divide M into two 32-bit parts M = L 0 | | R 0 .
  • For i = 1 , 2 , , 32 , compute
    L i = R i 1 F ( L i 1 K i ) R i = L i 1 ,
    where K i is the subkey of the i-th round generated by the key scheduling, and function F is defined below.
  • Output the ciphertext C = R 32 | | L 32 . (The ciphertext is obtained by exchanging the left and right branches of the output L 32 | | R 32 of the last iteration.)
The function F : F 2 32 F 2 32 maps eight nibbles to eight nibbles:
F : ( F 2 4 ) 8 ( F 2 4 ) 8 x P M S ( x ) ,
where S is the substitution transformation, M and P are the mixing layer and the permutation layer, respectively. The S layer implements 8 identical Sboxes of 4 bits, all denoted s.
S : ( F 2 4 ) 8 ( F 2 4 ) 8 ( x 8 , x 7 , , x 1 ) ( s ( x 8 ) , s ( x 7 ) , , s ( x 1 ) ) .
The definition of the Sbox s is presented in Table 1.
The M layer mixes 8 nibbles using the XOR operation:
M : ( F 2 4 ) 8 ( F 2 4 ) 8 ( y 8 , y 7 , , y 1 ) ( u 8 , u 7 , , u 1 ) ,
where
u 1 = y 2 y 3 y 4 y 5 y 6 y 7 u 2 = y 1 y 3 y 4 y 6 y 7 y 8 u 3 = y 1 y 2 y 4 y 5 y 7 y 8 u 4 = y 1 y 2 y 3 y 5 y 6 y 8 u 5 = y 1 y 2 y 4 y 5 y 6 u 6 = y 1 y 2 y 3 y 6 y 7 u 7 = y 2 y 3 y 4 y 7 y 8 u 8 = y 1 y 3 y 4 y 5 y 8 .
The P layer rearranges the input 8 nibbles in the order given in Table 2. That is, the P transformation is defined as
P : ( F 2 4 ) 8 ( F 2 4 ) 8 ( u 8 , u 7 , , u 1 ) ( z 8 , z 7 , , z 1 ) ,
where
z 1 = u 3 , z 2 = u 1 , z 3 = u 4 , z 4 = u 7 , z 5 = u 8 , z 6 = u 5 , z 7 = u 6 , z 8 = u 2 .
For the convenience of cryptanalysis, we combine the transformations P and M. Let P M = P M , which is a linear transformation and operates as follows:
P M : ( F 2 4 ) 8 ( F 2 4 ) 8 ( y 8 , y 7 , , y 1 ) ( z 8 , z 7 , , z 1 ) ,
where
z 1 = y 1 y 2 y 4 y 5 y 7 y 8 z 2 = y 2 y 3 y 4 y 5 y 6 y 7 z 3 = y 1 y 2 y 3 y 5 y 6 y 8 z 4 = y 2 y 3 y 4 y 7 y 8 z 5 = y 1 y 3 y 4 y 5 y 8 z 6 = y 1 y 2 y 4 y 5 y 6 z 7 = y 1 y 2 y 3 y 6 y 7 z 8 = y 1 y 3 y 4 y 6 y 7 y 8 .
The construction of F is depicted in Figure 2. x 8 , x 7 , , x 1 denotes the input of function F. First, the input is XORed with the 32-bit subkey K i . Then, all nibbles are performed on 8 identical Sboxes s, respectively. The output of the Sboxes are denoted as y 8 , y 7 , , y 1 . Subsequently, F performs P M transformation on these nibbles. P M is composed of XOR operations and position permutations as defined in Equation (1). We mark the P M transformation with a dashed box.
The attack on the MIBS cipher needs to use the inverse of P M .
P M 1 : ( F 2 4 ) 8 ( F 2 4 ) 8 ( z 8 , z 7 , , z 1 ) ( y 8 , y 7 , , y 1 ) ,
where
y 1 = z 2 z 4 z 6 z 7 z 8 y 2 = z 1 z 4 z 5 z 7 z 8 y 3 = z 1 z 3 z 4 z 5 z 6 y 4 = z 2 z 3 z 5 z 6 z 7 y 5 = z 2 z 3 z 4 z 5 z 7 z 8 y 6 = z 1 z 2 z 4 z 5 z 6 z 8 y 7 = z 1 z 3 z 5 z 6 z 7 z 8 y 8 = z 1 z 2 z 3 z 4 z 6 z 7 .
The matrix forms of P M and P M 1 are
P M = 1 1 1 0 1 1 0 1 0 1 1 0 0 1 1 1 0 0 1 1 1 0 1 1 1 0 0 1 1 1 0 1 1 1 0 0 1 1 1 0 1 0 1 1 0 1 1 1 0 1 1 1 1 1 1 0 1 1 0 1 1 0 1 1 , P M 1 = 0 1 1 0 1 1 1 1 1 1 1 1 0 1 0 1 1 0 1 1 1 0 1 1 1 1 0 1 1 1 1 0 0 1 1 1 0 1 1 0 0 0 1 1 1 1 0 1 1 1 0 1 1 0 0 1 1 1 1 0 1 0 1 0 .
The key scheduling of MIBS generates 32 32-bit round keys K 1 , K 2 , , K 32 . Suppose the user key K = ( k 63 , k 62 , , k 0 ) . K is stored in a 64-bit key register s t a t e . Initialize the state of the register as s t a t e = [ k 63 , k 62 , , k 0 ] , i.e., s t a t e i = k i . The round key K i = k 31 i k 30 i k 0 i in the i-th round is equal to the leftmost 32 bits of the current register. Namely,
K i = k 31 i k 30 i k 0 i = s t a t e 63 , s t a t e 62 , , s t a t e 32 .
After extracting the round key K i , update the register as follows:
s t a t e = s t a t e > > > 15 , s t a t e [ 63 : 60 ] = s ( s t a t e [ 63 : 60 ] ) , s t a t e [ 15 : 11 ] = s t a t e [ 15 : 11 ] R o u n d - C o u n t e r ,
where > > > denotes rotation to the right, and s t a t e [ j : i ] denotes the j-th to the i-th bits of the register. s ( · ) is the Sbox defined in Table 1.

2.2. Bernstein–Vazirani Algorithm

The BV algorithm was introduced to find a secret vector ρ F 2 n when given the function f ( x ) = ρ · x = i = 1 n ρ i x i  [13]. The steps of the BV algorithm are illustrated in Figure 3.
The notation H in Figure 3 denotes the Hadamard gate, which maps the state | 0 to the state 1 2 ( | 0 + | 1 ) and maps the state | 1 to the state 1 2 ( | 0 | 1 ) . The notation H n is a product of n Hadamard gates. Performing H n on | 0 n gives the state
H n | 0 n = H | 0 H | 0 H | 0 = 1 2 n ( | 0 | 1 ) n = 1 2 n x F 2 n | x .
The notation U f denotes the unitary operator of f, which operates as follows:
U f : | x | y | x | y f ( x ) .
The symbol at the end of the first quantum wire in Figure 3 denotes a measurement. Suppose a quantum state x F 2 n α x | x is measured, where α x is a complex number and called the amplitude of | x , then for any vector x F 2 n , the probability of the measurement result being x is equal to | α x | 2 . The quantum states in Figure 3 are defined as follows:
| ϕ 0 = | 0 n | 1 ; | ϕ 1 = x F 2 n | x 2 n · | 0 | 1 2 ; | ϕ 2 = x F 2 n ( 1 ) f ( x ) | x 2 n | 0 | 1 2 ; | ϕ 3 = y F 2 n ( 1 2 n x F 2 n ( 1 ) f ( x ) + y · x ) | y | 0 | 1 2 ; | ϕ 4 = | ρ | 0 | 1 2 .
The last equation holds because
1 2 n x F 2 n ( 1 ) f ( x ) + y · x = 1 2 n x F 2 n ( 1 ) ( ρ y ) · x s = 1 y = ρ 0 y ρ .
After measurement, the output is ρ with a probability of 1.

2.3. Linear Structure

Definition 1. 
For a Boolean function f : F 2 m F 2 n , α F 2 m is called a linear structure of f if
f ( x α ) f ( x ) = β , x F 2 m
holds for some β F 2 n .
If β in Equation (2) is the n-dimensional zero vector 0 n , then α is also called a period of f. If a function has a nonzero period, we call it a periodic function. If a function has a nonzero linear structure, we call it a linear structure function. Particularly, for the case n = 1 , Li et al. presented a quantum algorithm that can determine whether f has a nonzero linear structure in polynomial time [19].
Theorem 1 
([19]). Any nonzero linear structure of f : F 2 m F 2 must be output by Algorithm 1. Conversely, taking p ( n ) = n , any vector output by Algorithm 1 is a linear structure of f except a negligible probability.
Algorithm 1 Algorithm for finding linear structures of single-output functions
Input: quantum oracle of f : F 2 m F 2 , a polynomial p ( n ) .
Output: a linear structure of f.
  1:  Define a set T : = ϕ ;
  2:  for p = 1, 2, ⋯, p(n) do
  3:   Execute BV algorithm on f, obtaining a vector ω;
  4:   Let T = T { ω } ;
  5:  end for
  6:  Solve the equation { x · ω = i | ω T } and obtain two solution sets Ci for both i = 0, 1;
  7:  if C 0 C 1 { 0 m } then
  8:   Output “Not linear structure function”;
  9:  else
10:   Output C0 and C1;
11:  end if

2.4. Grover’s Algorithm

Grover’s algorithm [2] was introduced for unstructured search. Suppose the set to be searched is F 2 n , and u F 2 n is the target vector. In a classical setting, it takes a time of 2 n to find u, while in a quantum setting, using Grover’s algorithm only takes a time of 2 n . Grover’s algorithm has three steps:
  • Prepare the quantum state
    H ( n ) | 0 n = 1 2 n x F 2 n | x = Δ | ϕ
    by applying Hadamard transform.
  • Construct the quantum oracle O u of function
    f u ( x ) = 1 x = u 0 x u .
    O u operates as
    O u : | x ( 1 ) f u ( x ) | x .
  • Let O ϕ = 2 | ϕ ϕ | I . Perform Grover’s iteration O ϕ O u for R π 4 2 n times to obtain
    ( O ϕ O u ) R | ϕ | u .
  • Return u.
When implementing Grover’s algorithm, the quantum oracle O f u of the function f u is given, which operates as follows:
O f u : | x | y | x | y f u ( y ) .
The oracle O u can be constructed based on O f u as in Figure 4. Given the input state | x , O u performs O f u on | x and the auxiliary state 1 2 ( | 0 | 1 ) . Then, the whole quantum state is
O f u | x | 0 | 1 2 = | x | 0 f u ( x ) | 1 f u ( x ) 2 = ( 1 ) f u ( x ) | x | 0 | 1 2 .
The last equation holds because when f u ( x ) = 0 , the state of the second register remains unchanged, while when f u ( x ) = 1 , the state of the second register becomes 1 2 ( | 1 | 0 ) , which brings a negative sign. Then O u discards the second register and outputs the state ( 1 ) f u ( x ) | x of the first register.

3. Quantum Distinguisher of MIBS

One of the common methods for attacking block ciphers by quantum algorithms is to first construct a quantum distinguisher by Simon’s algorithm or the BV algorithm, and then utilize Grover’s algorithm to extract the correct key based on the constructed distinguisher. Specifically, Simon’s algorithm can quickly determine whether a function is a periodic function. To obtain a distinguisher, the attacker first constructs a periodic function by using part of the encryption algorithm. Then, when the queried oracle is the block cipher, implementing Simon’s algorithm on the constructed function should output a period. When the queried oracle is a random function, applying Simon’s algorithm on the constructed function outputs a nonzero period with a negligible probability. Based on this significant difference, the attacker can distinguish between the block cipher and random function. In the phase of key recovery, the attacker guesses the round keys of several rounds after the distinguisher and uses the guessed keys to decrypt the ciphertexts obtained by querying. If the guessed round keys are correct, then the distinguisher performed on the partly decrypted ciphertexts should identify them as the outputs of a block cipher. If the round keys are incorrect, the partly decrypted ciphertexts are equivalent to the outputs of a random function. Thus, the distinguisher should identify them as outputs of a random function. By traversing all possible round keys, the attacker can recognize the correct key. In this process, Grover’s algorithm can provide speedup. This attack strategy is called “Grover-meet-Simon” [8,9,10].
Similar to Grover-meet-Simon, the strategy “Grover-meet-BV” is also used [15]. In a Grover-meet-BV attack, the attacker constructs a linear-structure function instead of a periodic function and uses the BV algorithm to distinguish functions with nonzero linear structures from random functions, instead of using Simon’s algorithm to distinguish functions with nonzero periods from random functions. Except for this point, other parts of these two attacks are the same. According to this attack strategy, we first construct a linear-structure function based on a 5-round encryption of MIBS; then, we present a 5-round quantum distinguisher of MIBS using this linear structure function and BV algorithm.

3.1. A Linear-Structure Function Based on 5-Round MIBS

In this subsection, we construct a linear-structure function based on 5-round MIBS. For the convenience of derivation, let F i be the F transformation in the i-th round, and let the S layer in the i-th round be S i , as presented in Figure 5. All F i s ( S i ’s) operate in the same way. The left-branch input in the i-th round is L i 1 , and the right branch is R i 1 .
According to Figure 5, it holds that
R 5 = R 3 F 4 ( L 3 ) .
Select two arbitrary constant vectors δ 0 , δ 1 F 2 4 such that δ 0 δ 1 . For any variables d F 2 and x = ( x 4 , x 3 , x 2 , x 1 ) F 2 4 , let the input of the 5-round MIBS be
L 0 = ( 0 4 , δ d , 0 4 , 0 4 , 0 4 , 0 4 , 0 4 , 0 4 ) , R 0 = P M ( 0 4 , x , 0 4 , 0 4 , 0 4 , 0 4 , 0 4 , 0 4 ) ,
where 0 4 = ( 0 , 0 , 0 , 0 ) , δ d = δ 0 when d = 0 , and δ d = δ 1 when d = 1 . P M is defined as in Equation (1). We use R 5 to construct a linear-structure function. Due to Equation (3), for computing R 5 , we should first compute R 3 and L 3 . Let K i [ j ] be the j-th nibble of the i-th round key K i . That is,
K i = ( K i [ 8 ] , K i [ 7 ] , K i [ 6 ] , K i [ 5 ] , K i [ 4 ] , K i [ 3 ] , K i [ 2 ] , K i [ 1 ] ) , i = 1 , 2 , , 32 .
It holds that
F 1 ( L 0 K 1 ) = F 1 ( K 1 [ 8 ] , δ d K 1 [ 7 ] , K 1 [ 6 ] , K 1 [ 5 ] , K 1 [ 4 ] , K 1 [ 3 ] , K 1 [ 2 ] , K 1 [ 1 ] ) = P M S 1 ( K 1 [ 8 ] , δ d K 1 [ 7 ] , K 1 [ 6 ] , K 1 [ 5 ] , K 1 [ 4 ] , K 1 [ 3 ] , K 1 [ 2 ] , K 1 [ 1 ] ) = P M ( s ( K 1 [ 8 ] ) , s ( δ d K 1 [ 7 ] ) , s ( K 1 [ 6 ] ) , s ( K 1 [ 5 ] ) , s ( K 1 [ 4 ] ) , s ( K 1 [ 3 ] ) , s ( K 1 [ 2 ] ) , s ( K 1 [ 1 ] ) ) = P M ( C , Δ d , C , C , C , C , C , C ) ,
where Δ d = s ( δ d K 1 [ 7 ] ) , K 1 [ 7 ] is a constant, and the notation C indicates that the corresponding nibble is a constant. The values of different nibbles marked with C may be different, but they are all restricted to constants that do not depend on variables x and d. Then,
L 1 = F 1 ( L 0 K 1 ) R 0 = P M ( C , Δ d , C , C , C , C , C , C ) P M ( 0 4 , x , 0 4 , 0 4 , 0 4 , 0 4 , 0 4 , 0 4 ) = P M ( C , Δ d x , C , C , C , C , C , C ) .
Therefore,
R 3 = L 2 = R 1 F 2 ( L 1 K 2 ) = L 0 F 2 ( L 1 K 2 ) = L 0 F 2 P M ( C , Δ d x , C , C , C , C , C , C ) K 2 = L 0 F 2 P M ( C , , C , C , C , C , C , C ) K 2 ,
where = Δ d x . Since
L 2 = F 2 ( L 1 K 2 ) R 1 = F 2 P M ( C , , C , C , C , C , C , C ) K 2 R 1 = F 2 P M ( C , , C , C , C , C , C , C ) K 2 L 0 ,
we have
L 3 = F 3 ( L 2 K 3 ) L 1 = F 3 F 2 P M ( C , , C , C , C , C , C , C ) K 2 L 0 K 3 L 1 .
Before further deriving the linear-structure function, we first give Lemma 1.
Lemma 1. 
Let g ( , δ d ) = F 3 F 2 ( P M ( C , , C , C , C , C , C , C ) K 2 ) L 0 K 3 , where L 0 = ( 0 4 , δ d , 0 4 , 0 4 , 0 4 , 0 4 , 0 4 , 0 4 ) and = s ( δ d K 1 [ 7 ] ) x ; then, the value of the 5th nibble g ( , δ d ) [ 5 ] of g ( , δ d ) is only related to the value of ∗.
Proof. 
According to the construction of the P M transformation,
P M ( C , , C , C , C , C , C , C ) K 2 = ( ( ) , ( ) , C , C , ( ) , C , ( ) , ( ) ) K 2 = ( ( ) , ( ) , C , C , ( ) , C , ( ) , ( ) ) ,
where C indicates that the corresponding nibble is a constant, and ( ) indicates that the value of the corresponding nibble is a function of ∗. Different nibbles marked with ( ) may be different functions of ∗, but their values are all restricted to only depend on the variable ∗. Notations C and ( ) are used to indicate the state of the corresponding nibbles, not a specific vector or function. The last equality holds since K 2 is a constant. Then,
F 2 ( P M ( C , , C , C , C , C , C , C ) K 2 ) = P M S 2 ( ( ) , ( ) , C , C , ( ) , C , ( ) , ( ) ) = P M ( ( ) , ( ) , C , C , ( ) , C , ( ) , ( ) ) = ( ( ) , ( ) , ( ) , ( ) , ( ) , ( ) , ( ) , ( ) ) .
Then,
F 2 ( P M ( C , , C , C , C , C , C , C ) K 2 ) L 0 K 3 = ( ( ) , ( ) δ d , ( ) , ( ) , ( ) , ( ) , ( ) , ( ) )
Therefore,
g ( , δ d ) = g ( , δ d ) [ 8 ] , g ( , δ d ) [ 7 ] , , g ( , δ d ) [ 2 ] , g ( , δ d ) [ 1 ] = F 3 ( ( ) , ( ) δ d , ( ) , ( ) , ( ) , ( ) , ( ) , ( ) ) = P M S 3 ( ( ) , ( ) δ d , ( ) , ( ) , ( ) , ( ) , ( ) , ( ) ) = P M ( ( ) , ? , ( ) , ( ) , ( ) , ( ) , ( ) , ( ) ) = ( ? , ? , ( ) , ( ) , ? , ( ) , ? , ? ) ,
where “?” means that the state of corresponding nibbles is uncertain. Due to the above equation, the 5th nibble g ( , δ d ) [ 5 ] of g ( , δ d ) is in the state ( ) ; thus, its values are only related to ∗. The notation ( ) means that every nibble marked with ( ) is a function of ∗. The  ( ) does not refer to a specific function, but rather indicates that the values of the corresponding nibbles depend only on the value of ∗. It represents a kind of state of nibbles rather than a specific function. The  ( ) symbols in the 2nd, 3rd, and 5th nibbles of g ( , δ d ) indicate that these three nibbles are all functions of ∗, and their values depend only on ∗, but they are not necessarily the same function.    □
According to Lemma 1, we define the function
G : F 2 × F 2 4 F 2 4 ( d , x ) P M 1 ( L 0 R 5 ) [ 5 ] d 4 ,
where
L 0 = ( 0 4 , δ d , 0 4 , 0 4 , 0 4 , 0 4 , 0 4 , 0 4 ) , R 0 = P M ( 0 4 , x , 0 4 , 0 4 , 0 4 , 0 4 , 0 4 , 0 4 ) ,
and ( L 5 , R 5 ) = M I B S 5 ( L 0 , R 0 ) , i.e., the ciphertext after a 5-round encryption of MIBS. P M 1 is the inverse function of P M . P M 1 ( L 0 R 5 ) [ 5 ] is the 5th nibble of P M 1 ( L 0 R 5 ) . d 4 = ( d d d d ) .
Theorem 2. 
Function G ( d , x ) is a linear-structure function, and ( 1 , Δ 0 Δ 1 ) is its linear structure. Specifically,
G ( d , x ) G ( d 1 , x Δ 0 Δ 1 ) = ( 1111 ) ,
where Δ 0 = s ( δ 0 K 1 [ 7 ] ) and Δ 1 = s ( δ 1 K 1 [ 7 ] ) are constants.
Proof. 
According to Equation (3), it holds that
P M 1 ( L 0 R 5 ) = P M 1 ( L 0 ) P M 1 ( R 3 ) P M 1 ( F 4 ( L 3 ) ) .
Due to Equation (4), we have
P M 1 ( R 3 ) = P M 1 ( L 0 ) P M 1 ( F 2 ( P M ( C , , C , C , C , C , C , C ) K 2 ) ) .
Therefore,
P M 1 ( L 0 R 5 ) = P M 1 ( F 2 ( P M ( C , , C , C , C , C , C , C ) K 2 ) ) P M 1 ( F 4 ( L 3 ) ) .
We compute the first part:
P M 1 ( F 2 ( P M ( C , , C , C , C , C , C , C ) K 2 ) ) = S 2 ( P M ( C , , C , C , C , C , C , C ) K 2 ) ) = S 2 ( ( ) , ( ) , C , C , ( ) , C , ( ) , ( ) ) = ( ( ) , ( ) , C , C , ( ) , C , ( ) , ( ) ) .
Then, we compute the second part:
P M 1 ( F 4 ( L 3 ) ) = S 4 ( g ( , δ d ) L 1 ) = S 4 g ( , δ d ) P M ( C , , C , C , C , C , C , C ) = S 4 ( ? , ? , ( ) , ( ) , ? , ( ) , ? , ? ) ( ( ) , ( ) , C , C , ( ) , C , ( ) , ( ) ) = ( ? , ? , ( ) , ( ) , ? , ( ) , ? , ? ) .
Combining these two parts gives
P M 1 ( L 0 R 5 )
= ( ( ) , ( ) , C , C , ( ) , C , ( ) , ( ) ) ( ? , ? , ( ) , ( ) , ? , ( ) , ? , ? )
= ( ? , ? , ( ) , ( ) , ? , ( ) , ? , ? ) .
Thus, we have
G ( d , x ) = P M 1 ( L 0 R 5 ) [ 5 ] d 4 = ( ) d 4 = ( Δ d x ) d 4
and
G ( d 1 , x Δ 0 Δ 1 ) = ( Δ d x ) d 4 ( 1111 ) .
These two equations mean that
G ( d , x ) G ( d 1 , x Δ 0 Δ 1 ) = ( 1111 ) .
which indicates the conclusion.    □

3.2. 5-Round Quantum Distinguisher

We have constructed a linear-structure function based on the 5-round encryption of MIBS. Combining this with the quantum algorithm, which can determine whether a function is a linear-structure function, we can obtain a quantum distinguisher of 5-round MIBS.
Based on Algorithm 1, Xie and Yang constructed a quantum algorithm that can determine whether a function has linear structures [14]. We present this quantum algorithm below.
Theorem 3 
([14]). If f : F 2 m F 2 n is a linear-structure function, then except with a negligible probability, Algorithm 2 on f with p ( n ) = n will output a linear structure of f.
Algorithm 2 [14] Algorithm for finding linear structures of multiple-output functions
Input: quantum oracle of f : F 2 m F 2 n , a polynomial p ( n ) . ( f = ( f 1 , f 2 , , f n ) .)
Output: a linear structure of f.
  1:  for  j = 1 , 2 , , n  do
  2:   Run Algorithm 1 on  f j with p ( n ) ;
  3:   if Algorithm 1 returns “Not linear structure function” then
  4:     Output “Not linear structure function”;
  5:   else
  6:     Let C j = C j 0 C j 1 , where C j 0 and C j 1 are the outputs of Algorithm 1;
  7:   end if
  8:  end for
  9:  if  C 1 C 2 C n { 0 m }  then
10:   Return “Not linear structure function”;
11:  else
12:   Randomly choose a nonzero vector α C 1 C n and return α ;
13:  end if
In a quantum distinguishing attack on 5-round MIBS, a quantum oracle O is available, which implements either the encryption of 5-round MIBS M I B S 5 or a random function R F . Since the linear-structure function G is defined only using the right part R 5 of the output of M I B S 5 , it is assumed that the attacker can query the oracle, which merely returns the right branch R 5 . Such assumption is commonly used in quantum distinguishing attacks [4,5,6]. Moreover, in the following key-recovery attack, we show how to construct such oracle via the oracle of complete encryption. Thus, the attacker can query O by implementing either the operator
O : u F 2 64 v F 2 32 | u | v u F 2 64 v F 2 32 | u | v M I B S R 5 ( u )
or the operator
O : u F 2 64 v F 2 32 | u | v u F 2 64 v F 2 32 | u | v P F ( u ) ,
where M I B S R 5 : F 2 64 F 2 32 is the the encryption function of 5-round MIBS, which only returns the right 32 bits, and P F : F 2 64 F 2 32 is a random function.
A quantum distinguisher of O is a quantum algorithm that can distinguish whether O implements M I B S R 5 or a random function P F . In order to construct a quantum distinguisher, an intuitive idea is to construct the oracle O G of function G based on O
O G : ( d , x ) F 2 × F 2 4 , y F 2 4 | d | x | y ( d , x ) F 2 × F 2 4 , y F 2 4 | d | x | y G ( d , x ) ,
and then run Algorithm 2 on O G to determine whether it is the oracle of a linear-structure function, thereby determining whether O is the encryption of 5-round MIBS. If O implements M I B S 5 , then Algorithm 2 will return a linear structure of G; otherwise, if O implements R F , then its probability of outputting a linear structure of G is negligible.
Figure 6 shows how to construct the oracle O G of function G based on O . The unitary operator C N O T ( 32 ) is composed of 32 C N O T gates and works as follows:
C N O T ( 32 ) : u , v F 2 32 | u | v u , v F 2 32 | u | v u .
Similarly, C N O T ( 4 ) is composed of 4 C N O T gates and works as follows:
C N O T ( 4 ) : u 8 , u 7 , , u 1 F 2 4 v F 2 4 | u 8 , u 7 , , u 1 | v u 8 , u 7 , , u 1 F 2 4 v F 2 4 | u 8 , u 7 , , u 1 | v u 5 .
The unitary operator U P M 1 is defined as
U P M 1 : u F 2 32 | u u F 2 32 | P M 1 ( u )
and can be realized as shown in Figure 7. The input | d of O G is combined with 31 auxiliary states | 0 to form the state | L 0 , and the input | x is combined with 28 auxiliary states | 0 to form the state | R 0 . The states in Figure 6 are defined as below.
Input state = ( d , x ) F 2 × F 2 4 , y F 2 4 | d | x | y , | φ 0 = ( d , x ) F 2 × F 2 4 , y F 2 4 | 0 4 | δ d | 0 4 | 0 4 | 0 4 | x | 0 4 | 0 4 | 0 32 | y = ( d , x ) F 2 × F 2 4 , y F 2 4 | L 0 | R 0 | 0 32 | y , | φ 1 = d , x , y | L 0 | R 0 | M I B S R 5 ( L 0 , R 0 ) | y , if O is oracle of M I B S R 5 d , x , y | L 0 | R 0 | R F ( L 0 , R 0 ) | y , if O is oracle of R F | φ 2 = d , x , y | L 0 | R 0 | R 5 L 0 | y , if O is oracle of M I B S R 5 d , x , y | L 0 | R 0 | R F ( L 0 , R 0 ) L 0 | y , if O is oracle of R F | φ 3 = d , x , y | L 0 | R 0 | P M 1 ( R 5 L 0 ) | y , if O is oracle of M I B S R 5 d , x , y | L 0 | R 0 | P M 1 ( R F ( L 0 , R 0 ) L 0 ) | y , if O is oracle of R F
Therefore, when O is the oracle of M I B S R 5 , it holds that
| φ 4 = d , x , y | L 0 | R 0 | P M 1 ( R 5 L 0 ) | y P M 1 ( R 5 L 0 ) [ 5 ] = d , x , y | L 0 | R 0 | P M 1 ( R 5 L 0 ) | y G ( d , x ) .
When O is the oracle of random function R F , it holds that
| φ 4 = d , x , y | L 0 | R 0 | P M 1 ( R F ( L 0 , R 0 ) L 0 ) | y P M 1 ( R F ( L 0 , R 0 ) L 0 ) [ 5 ] .
The disentanglement process is to disentangle the registers denoted | d , | x , and | y from the registers of the auxiliary states. Thus, after this process, the state will be
| φ 5 = d , x , y | L 0 | R 0 | 0 32 | y G ( d , x )
if O is the oracle of M I B S R 5 , or
| φ 5 = d , x , y | L 0 | R 0 | 0 32 | y P M 1 ( R F ( L 0 , R 0 ) L 0 ) [ 5 ]
if O is the oracle of random function R F . Since R F is a random function from 64 bits to 32 bits, P M 1 ( R F ( L 0 , R 0 ) L 0 ) [ 5 ] can also been seen as a random function mapping 5 bits to 4 bits given input ( d , x ) . Let R F 5 , 4 denote the random function from 5 bits to 4 bits; then, we have
| φ 5 = d , x , y | L 0 | R 0 | 0 32 | y R F 5 , 4 ( d , x )
when O is the oracle of R F . The output state of O G shown in Figure 6 is
output state = d , x , y | d | x | y G ( d , x ) , if O is oracle of M I B S R 5 d , x , y | d | x | y R F 5 , 4 ( d , x ) , if O is oracle of R F .
The quantum oracle O G has been constructed; then, we present the quantum distinguisher of 5-round MIBS. Given the access to the oracle O , the distinguisher D O works as follows:
(1)
Construct the oracle O G based on O as in Figure 6;
(2)
Implement Algorithm 2 using oracle O G ;
(3)
If Algorithm 2 returns a linear structure, output | 1 ; otherwise, output | 0 .
The output | 1 indicates that O is the oracle of M I B S R 5 , and output | 0 indicates that O is the oracle of random function R F . According to Theorem 2, D O can correctly distinguish the 5-round MIBS from a random function.

4. Key-Recovery Attack

We first give a 7-round key-recovery attack on MIBS utilizing the distinguisher proposed in Section 3.2. We consider a chosen plaintext attack, where the oracle of the 7-round MIBS is available. Namely, the oracle
O M I B S 7 : u , v F 2 64 | u | v u , v F 2 64 | u | v M I B S 7 ( u )
can be queried by an attacker. Through querying O M I B S 7 , the attacker can obtain the superposition state of the ciphertexts after 7-round encryption; then, the attacker guesses the relevant bits of the 6th- and 7th-round keys and decrypts the ciphertexts for two rounds to obtain the ciphertexts of M I B S R 5 ( R 5 ). Therefore, for each guessed candidate round key of the 6th and 7th rounds, the attacker can use it to decrypt 2 rounds to obtain oracle O , which is the oracle of M I B S R 5 when the guessed key is right, and is the oracle of the random function R F when the guessed key is wrong. Using the distinguisher D O defined in Section 3.2 with queries to O can determine whether the guessed round key bits are right. If the round key bits are right, D O will output | 1 ; otherwise, it will output | 0 .
The key is how to compute R 5 using the least bits of K 6 and K 7 given the ciphertext ( L 7 , R 7 ) . Since
g ( d , x ) = P M 1 ( M I B S R 5 ( L 0 , R 0 ) L 0 ) [ 5 ] = P M 1 ( R 5 ) [ 5 ] P M 1 ( L 0 ) [ 5 ] ,
to construct oracle O G , we actually only need to compute the 5th nibble of P M 1 ( R 5 ) instead of the entire R 5 . Therefore, we can slightly change the way to generate O G so that we do not need the entire R 5 . O G can still be constructed from O using the method in Section 3.2, except that O is no longer the oracle of the entire R 5 , but only the part of R 5 required for computing P M 1 ( R 5 ) [ 5 ] . This does not bring any essential differences but can void guessing the unnecessary key bits during key-recovery attack. As shown in Figure 8, it holds that
P M 1 ( R 5 ) [ 5 ] = P M 1 ( F 6 ( L 5 K 6 ) ) [ 5 ] P M 1 ( L 6 ) [ 5 ] = S 6 ( L 5 K 6 ) [ 5 ] P M 1 ( R 7 ) [ 5 ] = s ( L 5 [ 5 ] K 6 [ 5 ] ) P M 1 ( R 7 ) [ 5 ] = s ( R 6 [ 5 ] K 6 [ 5 ] ) P M 1 ( R 7 ) [ 5 ] = s F 7 ( R 7 K 7 ) [ 5 ] L 7 [ 5 ] K 6 [ 5 ] P M 1 ( R 7 ) [ 5 ] = s P M S 7 ( R 7 K 7 ) [ 5 ] L 7 [ 5 ] K 6 [ 5 ] P M 1 ( R 7 ) [ 5 ] .
Since L 7 and R 7 are known, according to the definition of P M , to compute P M ( S 7 ( R 7 K 7 ) ) [ 5 ] , we only need to guess the 1st, 3rd, 4th, 5th, and 8th nibbles of K 7 . Therefore, K 6 [ 5 ] , K 7 [ 8 , 5 , 4 , 3 , 1 ] are enough for computing the value of P M 1 ( R 5 ) [ 5 ] or g ( d , x ) . There are 24 bits needed to be guessed. Considering the key scheduling, there may exist repetitive bits.
Table 3 shows the repetition bits of the subkeys in 7–10 rounds generated as the key scheduling. Suppose the state of the key register in the 6th round of key scheduling is
s t a t e = a 63 a 62 a 1 a 0 ,
then, K 6 = a 63 a 62 a 32 and K 7 = a 14 a 13 a 0 a 63 a 47 . Here, we omit the Sbox transformation since the determined transformation does not affect the amount of bits that is required to be guessed. According to Table 3, the 2nd, 3rd, and 4th bits of K 7 [ 1 ] are the same as the 1st, 2nd, and 3rd bits of K 6 [ 5 ] . Thus, in fact, we only need to guess 21 key bits:
K 6 [ 5 ] , K 7 [ 8 , 5 , 4 , 3 , 1 ( 1 ) ] ,
where K 7 [ 8 , 5 , 4 , 3 , 1 ( 1 ) ] denotes the 8th, 5th, 4th, and 3rd nibbles and the 1st bit of the 1st nibble of K 7 .
Define
G ¯ : F 2 21 × F 2 × F 2 4 F 2 4 ( K 6 , 7 , d , x ) G ( d , x ) under the decryption of K 6 , 7 .
Given the oracle of M I B S 7 , by decrypting under the relevant keys in the 6th and 7th rounds, it is easy to obtain the oracle of P M 1 ( R 5 ) [ 5 ] . Then, we can construct the oracle of G ¯ using a similar method in Section 3.2. The oracle of G ¯ can play the role of O G in the distinguisher A . Thus, A will output | 1 when K 6 , 7 is the correct 21-bit key and output | 0 when K 6 , 7 is the wrong 21-bit subkey. Taking A as the oracle O u in Grover’s algorithm, it will search for the right key bits: K 6 [ 5 ] , K 7 [ 8 , 5 , 4 , 3 , 1 ( 1 ) ] .
According to [8], this key-recovery attack needs a total of
n k + n i n × l + n o u t × l
qubits, where n k is the number of bits of the subkeys to be recovered, n i n is the input length of the linear structure function G, n o u t is the output length of G, and l = 2 ( n i n + n i n ) . n k = 21 , n i n = 5 , n o u t = 4 , and l 15 . Thus, this attack requires 156 qubits. The time complexity is 2 21 = 2 10.5 .
Consider attacking 8-round MIBS using the same distinguisher. By similar derivation, to compute P M 1 ( R 5 ) [ 5 ] based on the ciphertext ( L 8 , R 8 ) , we need to guess the subkeys
K 6 [ 5 ] , K 7 [ 8 , 5 , 4 , 3 , 1 ( 1 ) ] , K 8 .
According to Table 3, K 8 has 9 repetitive bits, so there are only 44 bits to be recovered. According to Equation (11), an 8-round key-recovery attack requires 179 qubits. The corresponding time complexity is 2 44 = 2 22 .
By similar derivation, a 9-round attack requires 194 qubits, and the time complexity is 2 59 = 2 29.5 . A 10-round attack requires 199 qubits, and the time complexity is 2 64 = 2 32 . The authors in [25] also presented quantum attacks on MIBS. The time complexity of their 7-round, 8-round, and 9-round attacks is 2 12 , 2 28 , and 2 44 , respectively. The complexity of our attacks proposed in this article is lower.

5. Results and Discussion

In this article, we proposed quantum attacks on the MIBS cipher based on the BV algorithm. Specifically, we first fully utilize the characteristics of the linear transformations of the MIBS cipher to construct a linear-structure function. Then, we use the fact that the BV algorithm can quickly determine whether a function has nonzero linear structures to design a 5-round quantum distinguisher for the MIBS cipher, which can effectively distinguish the encryption of the 5-round MIBS cipher from a random function. Subsequently, by analyzing the key scheduling of the MIBS cipher, we find the repeated bits between round keys. Combined with Grover’s algorithm, we realize a 7-round key-recovery attack on MIBS and generalize the attack to more rounds. The quantum attack on 7-round MIBS requires 156 qubits and has a time complexity of 2 10.5 . The 8-round attack requires 179 qubits, and the time complexity is 2 22 . Compared with the existing quantum attacks, our attack has the smallest time complexity. We believe this study contributes to evaluating the safety of the MIBS cipher in the quantum world and helps to further explore the "BV-meet-Grover" attack strategy.
For further research, how to reduce the resource consumption and time complexity of the attacks on the MIBS cipher is worth studying. We can also study the applications of the BV algorithm and other quantum algorithms to key-recovery attacks on various block ciphers. Quantum attacks on other symmetric primitives, such as hash functions and stream ciphers, are also a meaningful direction. For example, we can apply the quantum attack strategies introduced in [20,21] to attack other hash functions [26,27]. We can also apply quantum algorithms to enhance the classical attacks on stream ciphers that have been proposed [28,29] or to attack other cryptographic schemes [30,31].

Author Contributions

Conceptualization, H.X. (Huiqin Xie), Z.Z. and H.X. (Huiqin Xie); Formal analysis, H.X. (Huiqin Xie), Z.Z., K.W. and Y.L.; Funding acquisition, H.X. (Huiqin Xie); Investigation, H.X. (Huiqin Xie), K.W. and H.X. (Huiqin Xie); Methodology, H.X. (Huiqin Xie) and Z.Z.; Validation, H.X. (Huiqin Xie) and Y.L.; Visualization, H.X. (Huiqin Xie) and H.X. (Hongcai Xin); Writing—original draft, H.X. (Huiqin Xie), Z.Z. and H.X. (Huiqin Xie); Writing—review and editing, H.X. (Huiqin Xie). All authors have read and agreed to the published version of the manuscript.

Funding

This research was supported by Beijing Natural Science Foundation (no. 4234084), the Open Research Fund of Key Laboratory of Cryptography of Zhejiang Province (no. ZCL21012) and Fundamental Research Funds for the Central Universities (no. 328202202).

Data Availability Statement

The original contributions presented in this study are included in the article, and further inquiries can be directed to the corresponding author.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Shor, P.W. Algorithms for Quantum Computation: Discrete Logarithms and Factoring. In Proceedings of the 35th Annual Symposium on Foundations of Computer Science, Santa Fe, NM, USA, 20–22 November 1994; pp. 124–134. [Google Scholar]
  2. Grover, L.K. A Fast Quantum Mechanical Algorithm for Database Search. In Proceedings of the Twenty-Eighth Annual ACM Symposium on Theory of Computing, Philadelphia, PA, USA, 22–24 May 1996; pp. 212–219. [Google Scholar]
  3. Simon, D.R. On the power of quantum computation. SIAM J. Comput. 1997, 10, 1474–1483. [Google Scholar] [CrossRef]
  4. Kuwakado, H.; Morii, M. Quantum Distinguisher between the 3-Round Feistel Cipher and the Random Permutation. In Proceedings of the IEEE International Symposium on Information Theory, Austin, TX, USA, 13–18 June 2010; pp. 2682–2685. [Google Scholar]
  5. Santoli, T.; Schaffner, C. Using Simon’s algorithm to attack symmetric-key cryptographic primitives. Quantum Inf. Comput. 2017, 17, 65–78. [Google Scholar] [CrossRef]
  6. Kaplan, M.; Leurent, G.; Leverrier, A.; Naya-Plasencia, M. Breaking Symmetric Cryptosystems Using Quantum Period Finding. In Proceedings of the CRYPTO’16, Barbara, CA, USA, 14–18 August 2016; pp. 207–237. [Google Scholar]
  7. Kuwakado, H.; Morii, M. Security on the Quantum-type Even-Mansour Cipher. In Proceedings of the Information Theory and its Applications, Honolulu, HI, USA, 28–31 October 2012; pp. 312–316. [Google Scholar]
  8. Leander, G.; May, A. Grover Meets Simon–Quantumly Attacking the FX-construction. In Proceedings of the ASIACRYPT’17, Hong Kong, China, 3–7 December 2017; pp. 161–178. [Google Scholar]
  9. Dong, X.; Wang, X. Quantum key-recovery attack on Feistel structures. Sci. China Inf. Sci. 2018, 10, 240–246. [Google Scholar] [CrossRef]
  10. Dong, X.; Wang, X. Quantum cryptanalysis on some generalized Feistel schemes. Sci. China Inf. Sci. 2019, 62, 22501:1–22501:12. [Google Scholar] [CrossRef]
  11. Jaques, S.; Naehrig, M.; Roetteler, M.; Virdia, F. Implementing Grover Oracles for Quantum Key Search on AES and LowMC. In Proceedings of the EUROCRYPT’20, Zagreb, Croatia, 10–14 May 2020; pp. 280–310. [Google Scholar]
  12. Halak, B.; Gibson, T.; Henley, M.; Botea, C.B.; Heath, B.; Khan, S. Evaluation of performance, energy, and computation costs of quantum-attack resilient encryption algorithms for embedded devices. IEEE Access 2024, 12, 8791–8805. [Google Scholar] [CrossRef]
  13. Bernstein, E.; Vazirani, U. Quantum complexity theory. SIAM J. Comput. 1997, 26, 1411–1473. [Google Scholar] [CrossRef]
  14. Xie, H.; Yang, L. Using Bernstein-Vazirani algorithm to attack block ciphers. Des. Codes Cryptogr. 2019, 87, 1161–1182. [Google Scholar] [CrossRef]
  15. Zhou, B.; Yuan, Z. Quantum key-recovery attack on Feistel constructions: Bernstein-Vazirani meet Grover’s algorithm. Quantum Inf. Process. 2021, 20, 330. [Google Scholar] [CrossRef]
  16. Zhou, Q.; Lu, S.; Zhang, Z.; Sun, J. Quantum differential cryptanalysis. Quantum Inf. Process. 2015, 14, 2101–2109. [Google Scholar] [CrossRef]
  17. Kaplan, M.; Leurent, G.; Leverrier, A.; Naya-Plasencia, M. Quantum Differential and Linear Cryptanalysis. In Proceedings of the Fast Software Encryption, Bochum, Germany, 20–23 March 2016; pp. 71–94. [Google Scholar]
  18. Li, H.; Yang, L. Quantum Differential Cryptanalysis to the Block Ciphers. In Proceedings of the 6th International Conference on Applications and Techniques in Information Security, Beijing, China, 4–6 November 2015; pp. 44–51. [Google Scholar]
  19. Li, H.; Yang, L. A quantum algorithm to approximate the linear structures of Boolean functions. Math. Struct. Comput. Sci 2018, 28, 1–13. [Google Scholar] [CrossRef]
  20. Hosoyamada, A.; Sasaki, Y. Finding Hash Collisions with Quantum Computers by Using Differential Trails with Smaller Probability than Birthday Bound. In Proceedings of the EUROCRYPT’20, Zagreb, Croatia, 10–14 May 2020; pp. 249–279. [Google Scholar]
  21. Dong, X.; Sun, S.; Shi, D.; Gao, F.; Wang, X.; Hu, L. Quantum Collision Attacks on AES-Like Hashing with Low Quantum Random Access Memories. In Proceedings of the ASIACRYPT’20, Daejeon, Republic of Korea, 7–11 November 2020; pp. 727–757. [Google Scholar]
  22. Roetteler, M.; Steinwandt, R. A note on quantum related-key attacks. Inf. Process. Lett. 2015, 115, 40–44. [Google Scholar] [CrossRef]
  23. Hosoyamada, A.; Aoki, K. On quantum related-key attacks on iterated Even-Mansour ciphers. IEICE Trans. Fundam. Electron. Commun. Comput. Sci. 2019, 102, 27–34. [Google Scholar] [CrossRef]
  24. Izadi, M.; Sadeghiyan, B.; Sadeghian, S.S.; Khanooki, H.A. MIBS: A New Lightweight Block Cipher. In Proceedings of the International Conference on Cryptology and Network Security—CANS, Kanazawa, Japan, 12–14 December 2009; pp. 334–348. [Google Scholar]
  25. Li, Y.; Lin, H.; Yi, Z.; Xie, H. Quantum Cryptanalysis of MIBS. J. Cryptologic Res. 2021, 8, 989–998. [Google Scholar]
  26. Hannusch, C.; Horváth, G. Properties of Hash Functions based on Gluškov Product of Automata. J. Autom. Lang. Comb. 2021, 26, 55–65. [Google Scholar]
  27. Grassi, L.; Khovratovich, D.; Rechberger, C.; Roy, A.; Schofnegger, M. Poseidon: A New Hash Function for Zero-Knowledge Proof Systems. In Proceedings of the 30th USENIX Security Symposium (USENIX Security 21), Virtual Event, 11–13 August 2021; pp. 519–535. [Google Scholar]
  28. Domosi, P.; Horvath, G.; Molnar, F.T.; Kovacs, S.; Diene, A. A side-channel attack against an automata theory based stream cipher. Logic Lang. Algebr. Syst. Relat. Areas Comput. Sci. 2021, 2193, 64–72. [Google Scholar]
  29. Mascia, C.; Piccione, E.; Sala, M. An algebraic attack on stream ciphers with application to nonlinear filter generators and WG-PRNG. Adv. Math. Commun. 2024, 18, 1710–1722. [Google Scholar] [CrossRef]
  30. Dömösi, P.; Hannusch, C.; Horváth, G. A cryptographic system based on a new class of binary error-correcting codes. Tatra Mt. Math. Publ. 2019, 73, 83–96. [Google Scholar]
  31. Drǎgoi, V.F.; Szocs, A. Structural Properties of Self-dual Monomial Codes with Application to Code-Based Cryptography. In Proceedings of the 18th IMA International Conference on Cryptography and Coding, Virtual Event, 14–15 December 2021; pp. 16–41. [Google Scholar]
Figure 1. The i-th round function of MIBS.
Figure 1. The i-th round function of MIBS.
Mathematics 12 02678 g001
Figure 2. Construction of the function F.
Figure 2. Construction of the function F.
Mathematics 12 02678 g002
Figure 3. BV algorithm.
Figure 3. BV algorithm.
Mathematics 12 02678 g003
Figure 4. The construction of O u .
Figure 4. The construction of O u .
Mathematics 12 02678 g004
Figure 5. Illustration of 5-round distinguisher.
Figure 5. Illustration of 5-round distinguisher.
Mathematics 12 02678 g005
Figure 6. Construction of O G .
Figure 6. Construction of O G .
Mathematics 12 02678 g006
Figure 7. Quantum circuit of U P M 1 . .
Figure 7. Quantum circuit of U P M 1 . .
Mathematics 12 02678 g007
Figure 8. Illustration of key-recovery attack.
Figure 8. Illustration of key-recovery attack.
Mathematics 12 02678 g008
Table 1. SBox s.
Table 1. SBox s.
x0123456789101112131415
s ( x ) 5153813101201157142619
Table 2. P transformation.
Table 2. P transformation.
-12345678
P28136745
Table 3. Repetition of round key bits.
Table 3. Repetition of round key bits.
K 6 63626160595857565554535251504948
47464544434241403938373635343332
K 7 1413121110987654321063
62616059585756555453525150494847
K 8 29282726252423222120191817161514
1312111098765432106362
K 9 44434241403938373635343332313029
28272625242322212019181716151413
K 10 59585756555453525150494847464544
43424140393837363534333231302928
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

Xie, H.; Zhao, Z.; Wang, K.; Li, Y.; Xin, H. Quantum Attacks on MIBS Block Cipher Based on Bernstein–Vazirani Algorithm. Mathematics 2024, 12, 2678. https://doi.org/10.3390/math12172678

AMA Style

Xie H, Zhao Z, Wang K, Li Y, Xin H. Quantum Attacks on MIBS Block Cipher Based on Bernstein–Vazirani Algorithm. Mathematics. 2024; 12(17):2678. https://doi.org/10.3390/math12172678

Chicago/Turabian Style

Xie, Huiqin, Zhangmei Zhao, Ke Wang, Yanjun Li, and Hongcai Xin. 2024. "Quantum Attacks on MIBS Block Cipher Based on Bernstein–Vazirani Algorithm" Mathematics 12, no. 17: 2678. https://doi.org/10.3390/math12172678

APA Style

Xie, H., Zhao, Z., Wang, K., Li, Y., & Xin, H. (2024). Quantum Attacks on MIBS Block Cipher Based on Bernstein–Vazirani Algorithm. Mathematics, 12(17), 2678. https://doi.org/10.3390/math12172678

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