Skip to main content
Scientific Reports logoLink to Scientific Reports
. 2024 Jul 16;14:16340. doi: 10.1038/s41598-024-66841-0

Quantum rectangular MinRank attack on multi-layer UOV signature schemes

Seong-Min Cho 1, Seung-Hyun Seo 2,
PMCID: PMC11252166  PMID: 39014014

Abstract

Recent rank-based attacks have reduced the security of Rainbow, which is one of the multi-layer UOV signatures, below the NIST security requirements by speeding up iterative kernel-finding operations using classical mathematics techniques. If quantum algorithms are applied to perform these iterative operations, the rank-based attacks may be more threatening to multi-layer UOV, including Rainbow. In this paper, we propose a quantum rectangular MinRank attack called the Q-rMinRank attack, the first quantum approach to key recovery attacks on multi-layer UOV signatures. Our attack is a general model applicable to multi-layer UOV signature schemes, and in this paper, we provide examples of its application to Rainbow and the Korean TTA standard, HiMQ. We design two quantum oracle circuits to find the kernel in consideration of the depth-width trade-off of quantum circuits. One is to reduce the width of the quantum circuits using qubits as a minimum, and the other is to reduce the depth using parallelization instead of using a lot of qubits. By designing quantum circuits to find kernels with fewer quantum resources and complexity by adding mathematical techniques, we achieve quadratic speedup for the MinRank attack to recover the private keys of multi-layer UOV signatures. We also estimate quantum resources for the designed quantum circuits and analyze quantum complexity based on them. The width-optimized circuit recovers the private keys of Rainbow parameter set V with only 1089 logical qubits. The depth-optimized circuit recovers the private keys of Rainbow parameter set V with a quantum complexity of 2174, which is lower than the complexity of 2221 recovering the secret key of AES-192, which provides the same security level as parameter set III.

Subject terms: Quantum information, Information technology

Introduction

Due to recent advances in the development of quantum computers, such as Google’s 53-qubit quantum processor “Sycamore”1 and IBM’s 127-qubit quantum processor “Eagle”2, the National Institute of Standards and Technology (NIST) estimates that quantum computers will be capable of breaking 2048-bit RSA as early as 2026. This is because 4096 qubits in a quantum computing environment using Shor’s quantum algorithm3 are enough to break 2048-bit RSA4. The possibility that current public-key cryptographic algorithms such as RSA and ECDSA will be broken in a quantum computing environment has led NIST to conduct a Post-Quantum Cryptography (PQC) standardization project. To be securely used in quantum computing environments, the PQC candidates must meet the security requirements set out by NIST, from 128-bit security for Level I to 256-bit security for Level V.

Among the PQC candidates for the NIST standardization project, Multivariate Quadratic (MQ)-based signature schemes are expected to be highly utilized in IoT devices with limited resources due to the advantages of short signature length as well as fast signature generation and verification speed5. One of the prominent MQ-based signature schemes widely studied is the Unbalanced Oil and Vinegar (UOV) signature, known for its simplicity and security. Since the UOV signature is constructed as a single-layer structure, which generates signatures by finding solutions for all oil variables in the MQ system at once, the signature generation is somewhat slow. To improve performance speeds, multi-layer UOV signature schemes have been proposed, where the oil variables of the MQ system are divided into layers. The multi-layer UOV signatures improve the signature generation speed by finding solutions for fewer oil variables in each layer. One such scheme is Rainbow, proposed by Jintai Ding6. It had been considered one of the NIST PQC standardization finalists until recently. In Korea, HiMQ, a multi-layer UOV signature, was standardized by the Korean Telecommunications Technology Association (TTA) in 20207. HiMQ utilizes a sparse central map to achieve a small private key size and fast signature generation.

The security of prominent MQ-based signatures, such as UOV, mainly relies on the hardness of the MQ problem and the Extended Isomorphism of Polynomials (EIP) problem. Among them, multi-layer UOV signatures require the additional hardness of the MinRank problem to ensure security. The existential unforgeability of multi-layer UOV signatures is based on the intractability of the MQ problem (solving multivariate systems of quadratic equations). The difficulty of recovering private keys from the public keys of multi-layer UOV signatures depends on the difficulties of the EIP and the MinRank (finding a non-zero k-tuple such that the rank of a linear combination of some matrices is less than some small rank) problems. Thus, signature forgery attacks and key recovery attacks on multi-layer UOV signatures have attempted to solve these underlying problems.

So far, there have been several attempts to forge multi-layer UOV signatures, especially the Rainbow signature scheme, by trying to solve the MQ problem using mathematical techniques such as XL8 and Gro¨bner Basis algorithms9, but they have not been successful. Since Olivier Billet et al. proposed a MinRank attack algorithm to recover private keys from the public keys of Rainbow in 200610, key recovery attacks such as the MinRank attack have become a potential threat to Rainbow. In 2020, Bardet et al. reduced the complexity of the MinRank attacks on Rainbow to 13 of the existing MinRank attacks in parameter sets III and V of Rainbow11. However, the attack proposed by Bardet et al. did not even threaten the parameter sets submitted for the second round of the NIST PQC project.

In 2021, Ward Beullens proposed a rectangular MinRank attack12. He converted the public keys of Rainbow to polar forms and reduced the size of the input matrices of the MinRank attack using the polar forms. Then, he recovered the private keys of Rainbow using the Support Minors Modeling algorithm11. This attack reduced the security level of parameter sets I, III, and V of Rainbow to 127-bit, 177-bit, and 226-bit security levels, respectively. In 2022, Ward Beullens proposed two new key recovery attacks (a simple attack and a combined attack) against Rainbow, further reducing the security level of Rainbow13. He reduced the complexity of the MinRank attack by suggesting a method to guess the kernel with a high probability in a simple attack. They also reduced the attack complexity for parameter sets III and V by combining a rectangular MinRank attack12 with a simple attack. Moreover, he reduced the security level of parameter sets I, III, and V of Rainbow to 69-bit, 160-bit, and 257-bit security levels in their simple attack and 99-bit, 157-bit, and 206-bit security levels in their combined attack, respectively. Parameter set I of Rainbow does not fall short of the minimum security requirement, the 128-bit security level, against such key recovery attacks. However, parameter sets III and V of Rainbow still satisfy the 128-bit (I) and 196-bit (III) security levels set by NIST, even against the most threatening key recovery attack proposed by Ward Beullens12,13.

The cost of iterative operations to find a kernel dominates the complexity of rank-based attacks against multi-layer UOV signatures. Until now, classical key recovery attacks1013 have improved attack complexity by using mathematical techniques such as the Support Minors Modeling algorithm11 and the Wiedemann algorithm14 to find the kernel quickly. If quantum properties such as superposition to find the kernel are utilized, we could achieve speed-ups in kernel search. The Rainbow team evaluated the security level of Rainbow against Grover’s algorithm-based quantum attacks by simple numerical calculation (O(N)O(N)). They did not show any concrete oracle circuits for the quantum attacks. For accurate quantum complexity estimation, it is necessary to present Grover oracle quantum circuits and estimate their quantum resources.

We present complete Grover oracle circuits, called Q-rMinRank-Grover, for quantum key recovery attacks on multi-layer UOV signatures for the first time. In contrast to the Rainbow team’s quantum analysis approach, we obtained precise and reliable estimates of the quantum resources required to compute these kernel searching operations using our Grover oracle circuits, called Q-rMinRank_Oracle. We achieved speed-ups in kernel search by combining quantum properties and classical techniques for the MinRank attack. Moreover, we reduced the size of the quantum search domain through the polar form conversion of the public key matrix to rectangular forms.

To design the quantum circuit, Q-rMinRank_Oracles, we reflect the depth-width trade-off considering the Quantum Volume (QV). The QV is a benchmark measure to quantify the capability of Noisy Intermediate-Scale Quantum (NISQ) devices. The QV measures the performance of a quantum circuit by considering the width and depth of a quantum circuit15. The width of a quantum circuit represents the number of qubits used, and the depth describes the number of layers composed of quantum gates that are executed simultaneously in parallel. A quantum circuit with a small width means using less memory on a quantum computer, and a short depth ensures a fast running time. The depth of a quantum circuit is essential for NIST’s quantum complexity analysis. NIST defines metrics reflecting a variety of predictions about the development of quantum computing technology to evaluate security against such quantum attacks16. The metrics are based on an approach that restricts quantum attacks to a fixed running time or circuit depth. Therefore, we design the Q-rMinRank_Oracles in two ways considering these depth-width trade-offs. The first is a depth-optimized oracle O1, and the second is a width-optimized oracle O2. In environments where fast running time is important, the quantum circuit can be constructed with O1. In environments where the number of available qubits is small, the circuit can be constructed with O2.

We also estimate the quantum resources of the Q-rMinRank-Grover. The quantum circuits consisting of O1 require 1097, 5757, and 8057 logical qubits for key recovery of Rainbow’s parameter sets I, III, and V, respectively, and 3662, 6459, and 7036 logical qubits for key recovery of HiMQ’s parameter sets HiMQ-128, HiMQ-160, and HiMQ-192, respectively. And the quantum circuits consisting of O2 require 289, 833, and 1089 logical qubits for key recovery of Rainbow’s parameter sets I, III, and V, respectively, and 665, 1121, and 1312 logical qubits for key recovery of HiMQ’s parameter sets HiMQ-128, HiMQ-160, and HiMQ-192, respectively. Based on the quantum resource estimations, we analyze the complexity of the Q-rMinRank-Grover based on NIST’s quantum complexity estimation. In the submission requirements document for the PQC standardization project in 201616, NIST specified the quantum complexity criteria that PQCs must meet, based on the quantum resource estimates of Grover’s algorithm for AES key recovery by M. Grassl et al17. This criterion was revised in 2022 for the additional digital signature standardization project18 to reflect the quantum resource estimates of the improved Grover’s algorithm by S. Jaques et al. in 202019. NIST notes that the quantum complexities of 2157, 2221, and 2285 correspond to PQC security levels I, III, and V, respectively. The quantum complexity for key recovery of Rainbow parameter set V is 1.80×2174, which is lower than the complexity of quantum key search attacks on AES-192 presented by NIST (2221), and the quantum complexity for parameter set III is 1.01×2158, which is close to the quantum complexity for AES-128 (2157). Inevitably, the quantum complexity for parameter set I (1.90×293) is far below the quantum complexity for AES-128. While the existing classical attacks on Rainbow only succeed up to parameter set I (reducing the security level of parameter set III from 192 to 157, but still considerably larger than 128), our Q-rMinRank attacks can succeed up to parameter set III if more efficient quantum arithmetic circuits are available in the future. For the key recovery of HiMQ, the quantum complexity of our Q-rMinRank attack on parameter set HiMQ-128 is around 1.48×2113, which does not satisfy NIST’s security level I. The remaining parameter sets (HiMQ-160 and HiMQ-192) do not satisfy NIST’s security level III. To verify the feasibility of our oracle, we implemented the quantum circuit designed for a toy example of Rainbow with the quantum simulators Qiskit20 and ProjectQ21.

The remaining paper is organized as follows: The “Preliminaries” section provides preliminary information of the elementary quantum gates, the Rainbow signature scheme, the MinRank attack, and Grover’s algorithm22. In the “Quantum rectangular MinRank attack” section, we present a quantum rectangular MinRank attack. The design methods of oracle circuits for the quantum rectangular MinRank attack are shown in the “Oracle circuit designs” section. In the ”Complexity analysis” section, we evaluate the security level of the Rainbow scheme against the Q-rMinRank attack and estimate the quantum resources required for the Q-rMinRank-Grover and quantum complexities. Finally, we show the quantum simulation result in the “Quantum simulation result” section. For the sake of convenience in the explanation, in the “Quantum rectangular MinRank attack” and “Oracle circuit designs” sections, we describe our attack method based on Rainbow. Our attack and analysis of HiMQ are detailed in the Supplementary Material as an appendix.

Preliminaries

We introduce the elementary quantum gates of quantum circuits, the Rainbow signature scheme, and Grover’s quantum algorithm in this section.

Elementary quantum gates

NOT gate

The quantum NOT gate is also called a X gate. The quantum NOT gate flips the quantum state |0 to |1 and |1 to |0 as shown in Fig. 1.

Figure 1.

Figure 1

The quantum NOT gate.

CNOT gate

The quantum controlled-NOT (CNOT) gate takes in two qubits, |x and |y, and outputs |x and |xy as shown in Fig. 2. In quantum circuits, CNOT gates are used for XOR (addition over modulo 2) operations.

Figure 2.

Figure 2

The quantum CNOT gate.

CN-NOT gate

  • CCNOT Gate The quantum controlled-controlled-NOT (CCNOT) gate, also called a Toffoli gate, has two control qubits and one target qubit as inputs. The Toffoli gate flips the target qubit |z only when the two control qubits |x and |y are both in state |1, i.e. the state of the target qubit is |zxy. Toffoli gates are often used in quantum circuits for bitwise multiplication Fig. 3.

  • CN-NOT Gate The CN-NOT gate in Fig. 4 reverses qubit z when N control qubits ci are all 1. That is, when N+1 qubits c0, c1, ... , cn-1, and z are input to this CN-NOT gate, the result of this CN-NOT gate is c0, c1, ... , cn-1, and z=zc0c1...cn-1. The CN-NOT gate consists of CCNOT gates, and there are two methods to implement the CN-NOT gate23. The first implementation method, named CN-NOTD, has a small depth but many ancilla qubits, while the second implementation method, named CN-NOTW, has a large depth but only one ancilla qubit. Figure 5a and b show the circuits of CN-NOTD and CN-NOTW when N=4, respectively. Table 1 shows the number of Toffoli gates, depth, and ancillary qubits required to implement the CN-NOT gate.

Figure 3.

Figure 3

The quantum CCNOT gate.

Figure 4.

Figure 4

The quantum CN-NOT gate.

Figure 5.

Figure 5

The examples of CN-NOT decomposition (N=4).

Table 1.

Toffoli resources to impelment CN-NOT gate combining Toffoli gates.

Implementation methods #Toffoli #TD #AQB
C4-NOTD 2N-3 2N-3 N-2
C4-NOTW 8N-24 8N-24 1

#Toffoli: The number of Toffoli gates

#TD: The depth of Toffoli gates

#AQB: The number of ancilla qubits.

Quantum adder and multiplier over Fq

The addition on the finite field consists of bitwise XOR operations. So, the quantum adder over Fq, named ADD, is simply implemented with only the CNOT gates, as shown in Fig. 6. The quantum adder over F2n requires n CNOT gates with depth one.

Figure 6.

Figure 6

The quantum adder over F2n (ADD gate).

Since multiplication requires a reduction step, how efficiently reduction is calculated when implementing it as a quantum circuit is important. In 2020, Cho et al. proposed efficient quantum multipliers over F2n and F2n-1, as shown in Fig. 724. They reduced the number of quantum gates and depth by half. In 2022, Jang et al. proposed quantum multipliers with Toffoli depth one, as shown in Fig. 825. They iterated the Karatsuba multiplication method and reduced the Toffoli depth to one by adding ancilla qubits. A quantum-classical version of the multiplier of Jang et al.25 has depth one of the CNOT gate. Table 2 shows the quantum resources for two quantum multipliers24,25.

Figure 7.

Figure 7

The quantum multiplier over F2n (MULT gate) proposed by Cho et al.24.

Figure 8.

Figure 8

The quantum multiplier over F2n (MULT gate) proposed by Jang et al.25.

Table 2.

Quantum resources of quantum multipliers (nq=log2q).

Quantum multiplier nq Depth # of Gates # of Ancilla qubits
NOT gates CNOT gates
24 4 32 0 160 12
8 96 0 640 24
25 4 17 88 9 15
8 23 300 27 57

Rainbow signature scheme

Rainbow, proposed by Jintai Ding6, was the only MQ-based cryptography candidate for the third round of the NIST Post Quantum Cryptography (PQC) standardization project. Rainbow’s layered structure has a relatively short signature length compared to other NIST PQC standardization candidates and enables efficient signature generation and verification. In this section, we describe the key generation, signature generation, and signature verification algorithms of Rainbow.

  • Parameters
    • a finite field with q elements, Fq
    • index sets Vi={1,...,vi},Oi={vi+1,...,vi+1} (i=1,2). Note that each kv1+1,...,n is contained in exactly one of the sets Oi.
    • we have Vi=vi and set oi=Oi (i=1,2)
    • the number of equations: m=n-v1 (m=o1+o2)
    • the number of variables: n=v1+o1+o2
  • Key generation
    • Private Key The private key of Rainbow consists of two affine maps S:FqmFqm and T:FqnFqn, and the central map F:FqnFqm. The central map F consists of two layers, as shown in Fig. 9. The central map of the first layer consists of o1 multivariate equations f(v1+1),...,f(v1+o1), and the central map of the second layer consists of o2 multivariate equations f(v1+o1+1),...,f(v1+n). When k(v1+1,...,n) and l is the number of layers, f(k) is as follows:
      f(k)(x1,...,xn)=i,jVlijαij(k)xixj+iVl,jOlβij(k)xixj+iVlOlγi(k)xi+δ(k) 1
    • Public Key The public key P of Rainbow is the composition of the private keys S, F, and T.
      P=SFT:FqnFqm 2
  • Signature generation Given a message d to be signed and a hash function H:{0,1}Fqm, the signature generation process is as follows:
    • Compute the hash value h=H(d)Fqm
    • Compute x=S-1(h)Fqm
    • Find y that satisfies F(y)=x
    • Compute the signature z=T-1(y)Fqn
  • Signature verification Given a message d and a signature z, the signature verification process is as follows:
    • Compute the hash value h=H(d)Fqm
    • Compute the h=P(z)Fqm
    • If h=h, the signature z is verified

Figure 9.

Figure 9

The configuration of the central map F.

MinRank attack

The MinRank problem asks to find coefficients λiFq (1im), not all zero, such that the linear combination Q=i=1mλiQi has rank at most r, given m matrices Q1,,Qm with n rows and n columns and a target rank r. The MinRank attack is the most efficient attack for recovering the private key of Rainbow by solving the MinRank problem. The underlying idea in solving the MinRank problem is to search for a vector lying in the kernel of the desired linear combination Q10. So, the MinRank attack’s complexity is dominated by finding the kernel vector. In the case of the MinRank attack on Rainbow, it attempts to find the central map F of Rainbow by solving the MinRank problem. In the Rainbow scheme, a linear combination of public keys with rank v2 corresponds to a linear combination of central maps in the first layer. By finding o1 linear combinations, the central maps of the first layer can be reconstructed, thereby finding the private keys of Rainbow. Here, v2 is the number of vinegar variables in the second layer , and o1 is the number of oil variables in the first layer. Algorithm 1 shows the overall process of the MinRank attack on Rainbow10.

Algorithm 1.

Algorithm 1

The MinRank attack.

As in line 2 of Algorithm 1, a linear combination Q is computed for a random vector λ such that the rank of P is greater than 1 and less than n. The probability of finding such a vector λ is 1/q, which makes the kernel vector non-trivial. The central maps of the first layer have non-zero entries at the first v1×v1 part, v1×o1 part, and o1×v1 part. Other parts are all zero. So the kernel vectors have only o1+o2 non-zero entries, so the central maps multiplied by the kernel vector become vectors whose last o1+o2 entries are zero, as shown in Fig. 10. Then, we must find the remaining first v1 entries to be zero. The probability is close to 1/qv1. Consequently, finding a kernel vector as shown in line 4 of Algorithm 1 takes qv1. Because the kernel should be non-trivial, a probability 1/q that the kernel is non-trivial should be considered additionally.

Figure 10.

Figure 10

The form of kernel vectors to reduce the complexity of searching kernel.

This process is repeated o1 times to recover o1 central maps. Considering all these steps, the complexity of fully recovering the first layer’s central map of Rainbow is o1qv1+1. After recovering the first layer of Rainbow, an additional complexity of m3 is required to recover the second layer, which is negligible compared to the complexity of recovering the first layer10. Finally, the complexity of the MinRank attack on Rainbow10 is o1·qv1+1·m3. A more detailed complexity analysis can be found in10. In this attack, it takes qv1 complexity to find a kernel of P (Ker(Q) in Algorithm 1). The complexity of finding a kernel in the parameter sets of the third round Rainbow is 2144 in parameter set I, 2544 in parameter set III, and 2768 in parameter set V.

Grover’s algorithm

An unstructured search problem is to find a solution x in a set x=x1,x2,,xN such that f(x)=1 when a boolean function f:x{0,1} is given. It takes O(N) complexity to solve the unstructured search problem on classical computers. Grover’s algorithm (see Algorithm 2)22 enables unstructured search problems to be solved with O(N) complexity using quantum properties such as a superposition. Figure 11 shows the entire circuit of Grover’s algorithm. The circuit of Grover’s algorithm consists of a NOT gate (X), Hadamard gates (H), oracle gates (Of±), and diffusion operators (D).

Figure 11.

Figure 11

The entire circuit of the Grover’s algorithm.

Algorithm 2.

Algorithm 2

The Grover’s algorithm.

When the size of the data space is N=2n, an n-qubit register |x is prepared. After the Hadamard gates, the state of |x is converted to the superposition state |x=2-n/2k{0,1}k|k. The oracle gate Of± converts the state of |x|b to |x|bf(x), reversing only the amplitude of the solution x. So, the oracle gate should be designed to find a solution to the problem that we want to solve. Then, the diffusion operator D=2|+n+n|-I reverses the amplitude of x for the mean of the amplitude of all states. As a result, the oracle gate and the diffusion operator only increase the probability that x is measured. To greatly increase the probability that a solution will be measured, Grover’s algorithm proceeds iteratively using the oracle gate Of± and Grover diffusion operator D. The number of iterations, rt, can be selected in two ways26. First, if the rt is N8, the probability of measuring a solution exceeds 23 when operating the whole Grover’s algorithm more than 110 times. Secondly, the solution will be measured with a high probability when the rt is π4N. In this paper, we iterate the Grover oracle and diffusion gate pair π4N times to measure the solution at once.

Quantum rectangular MinRank attack

In this section, we propose a quantum rectangular MinRank attack, called a Q-rMinRank attack, the first quantum approach for a key recovery attack on Rainbow. The Q-rMinRank attack consists of three main steps: preprocessing, quantum kernel extraction, and key recovery, as shown in Fig. 12. The preprocessing step performs mathematical operations that convert the public keys of Rainbow into a single matrix in a classical computing environment. Then, the quantum kernel extraction step finds the kernel of the converted matrix using our Q-rMinRank-Grover algorithm in a quantum computing environment. Finally, the private keys are recovered by constructing a linear combination of the public keys using the kernel in the Key Recovery step.

Figure 12.

Figure 12

The conceptual diagram of our Q-rMinRank attack.

The Q-rMinRank-Grover is designed to speed up the kernel search, the most complicated and time-consuming iterative operation in MinRank attacks. Since Grover’s quantum search algorithm is capable of searching in superposition states, our Q-rMinRank attack finds kernels much faster. The overall process of the Q-rMinRank attack is shown in Algorithm 3.

Algorithm 3.

Algorithm 3

The Q-rMinRank attack.

The Preprocessing Step

Rainbow has m public key matrices P1,...,Pm with n rows and n columns. In the preprocessing step, the public keys P1,...,Pm are converted to polar form. The polar form12 of the multivariate quadratic polynomial p(x) is defined as

p(x,y):=p(x+y)-p(x)-p(y)+p(0). 3

For a multivariate quadratic map P(x)=p1(x),...,pm(x), its polar form is also defined as

P(x,y):=p1(x,y),...,pm(x,y). 4

After the polar form conversion of public keys, new matrices Ri are composed as follows:

Ri=P(e1,ei)...P(en,ei) 5

where ei is a basis vector for Fqn, which means a vector whose i-th element is 1 and the rest of the elements are all zero.

By using this polar form conversion, the j-th columns of the public key matrices Pi with n rows and n columns (1im, see Fig. 13) are grouped into a matrix Rj with n rows and m columns (1jn) as shown in Fig. 14, where n=v1+o1+o2 and m=o1+o2. Eventually, the m public key matrices with n rows and n columns, P1,...,Pm, are converted into n matrices with n rows and m columns, R1,...,Rn. The non-zero coefficients of the first layer exist from R1 to Rv1+o1, as shown in Fig. 14. To recover the central map of the first layer, the linear combination M is computed in the preprocessing step by choosing a random vector Λ=(λ1,λ2,...,λv1+o1)Fqv1+o1 as follows:

M=i=1v1+o1λi·Ri 6

If the rank of M is zero or full, the random vector Λ is chosen again until the rank is greater than 1 and less than m. The probability of this step (line 23 in Algorithm 3) is 1/q. We do not consider speeding up this process with a quantum circuit, as the complexity of this part is not significant. When the rank condition is satisfied, the v1-by-o1 part of M where the coefficients of the first layer exist (i.e. the light gray-colored part of each Ri in Fig. 14) is transferred to the quantum kernel extraction step.

M=M0,0M0,(o1-1)M(v1-1),0M(v1-1),(o1-1) 7

Figure 13.

Figure 13

The form of public key matrices P1,...,Pm.

Figure 14.

Figure 14

The form of matrices R1,...,Rn converted in the preprocessing step.

The Quantum Kernel extraction Step

To find a kernel of the matrix M with v1 rows and o1 columns, a Q-rMinRank-Grover algorithm (see Algorithm 4) is performed in the Quantum Kernel Extraction step. The Q-rMinRank-Grover algorithm requires quantum registers |x0 |xo1-1, |e0 |ev1-1, a qubit |b, and some ancilla qubits |anc. The quantum registers |x0 |xo1-1 and |e0 |ev1-1 are log2q-qubit registers, where log2q is the number of qubits required to express a number on Fq. The required quantum registers and their roles are shown in Table 3.

Table 3.

The quantum registers used in our Q-rMinRank-Grover algorithm.

Quantum registers Number of qubits Role of quantum registers
|x0 |xo1-1 log2q At the end of the Q-rMinRank-Grover algorithm, the kernel is measured at quantum registers |x0 |xo1-1.
|e0|ev1-1 log2q The sum of multiplications between each row of the input matrix and quantum registers |x0 |xo1-1 is stored in quantum registers |e0 |ev1-1.
|b 1 The qubit |b is reversed when the state of quantum registers |e0 |ev1-1 are all 0.

Algorithm 4.

Algorithm 4

The Q-rMinRank-Grover algorithm.

Firstly, the Hadamard gates in the Q-rMinRank-Grover algorithm bring all the qubits in quantum registers |x0 |xo1-1 and a qubit |b into superposition states. Then, to increase the probability of measuring the kernel, the pair of Q-rMinRank_Oracle(·) and diffusion circuit Diffusion(·) operates iteratively rt times. The Q-rMinRank_Oracle(·) function checks which state of superpositioned quantum registers |x0 |xo1-1 is the kernel for the matrix M. The quantum registers |e0 |ev1-1 contain the multiplication of matrix M and the kernel vector. If all the registers from |e0 to |ev1-1 are zero, Q-rMinRank_Oracle(·) reverses the qubit |b. The quantum circuit for the Q-rMinRank_Oracle(·) function can be designed differently for purposes such as depth optimization and width optimization. The details of quantum circuit design for the Q-rMinRank_Oracle(·) function are covered in the “Oracle circuit designs” section.

Algorithm 5.

Algorithm 5

The Q-rMinRank_Oracle(·) function.

According to the available quantum resources, the number of iterations rt can be adjusted26. The rt may be selected as 182o1log2q when there are few available quantum resources. In that case, we measure a kernel with a probability of more than 23 when we run the entire Q-rMinRank Grover circuit about 110 times. If quantum resources are sufficient, the rt may be selected as π42o1log2q. In this case, we find the kernel with a probability of more than 90% by running the Q-rMinRank Grover circuit once.

The Key recovery Step

After the kernel vector, Γ is obtained in the quantum kernel extraction step, the key recovery step recovers the Rainbow central map of the first layer by computing the linear combination C of o1 public keys with Γ again as follows:

Ci=1o1γi·P(i) 8

Generally, the rank of the linear combination C is less than m with a high probability (over 90% on our quantum simulation). If the rank of C is greater than m, the preprocessing step and the quantum kernel extraction step are repeated until the rank of C is less than m. By finding (v1+o1) linear combinations C that have a rank lower than m in the quantum kernel extraction step, all o1 central maps of the first layer are recovered. Considering that the public key P is composed of SFT:FqnFqm, T is uncovered from P using the central map recovered in the key recovery step. After that, the central maps of the second layer are recovered by uncovering T and F from the public key10.

Oracle circuit designs

In this section, we present the Q-rMinRank_Oracle circuit, the main quantum circuit, to recover the private key of Rainbow by quickly finding the kernel. We consider two important metrics, circuit depth and circuit width, to design quantum circuits in available quantum computing environments. For quantum security analysis of post-quantum cryptography, NIST has defined a method for measuring the quantum complexity (QC) by multiplying the quantum circuit depth by the number of circuit gates (G-cost)16. Since the number of qubits available is rapidly increasing with the development of quantum computers, NIST is considering only the depth and G-cost that affect the running time of quantum circuits rather than the width (number of qubits, #QB). However, the width of circuits is directly related to the feasibility of implementing quantum circuits and running them on quantum computers. So, width is still one of the essential metrics for estimating the performance of quantum circuits.

Therefore, we present two quantum oracle circuits, O1 and O2, considering the depth-width trade-off. O1 is a depth-optimized version of the Q-rMinRank_Oracle, and O2 is a width-optimized version of the Q-rMinRank_Oracle. For the design of O1, we use a method to parallelize the quantum arithmetic gates (MULT and ADD). Parallelization allowed us to reduce the depth of O1. We implement gates with minimal ancilla qubits without parallelization for the design of O2. So we could reduce the width of O2.

The depth-optimized Q-rMinRank_Oracle O1

The Q-rMinRank_Oracle O1 parallelizes the MULT and ADD gates, as shown in Algorithm 6. It is necessary to check whether the linear combination of the values in the i-th column and quantum registers |xi is zero for each row of the matrix to find a kernel of the input matrix M. Firstly, the CNOT gates copy the state of quantum register |x0 to v1-1 ancilla quantum registers |ancj (0j<v1-1) so that the v1 states of |x0 are prepared. Assigning more ancilla qubits in this way enables the parallelization of MULT gates. Then, v1 MULT gates operate in parallel to multiply the qubits by the elements of the matrix, M0,0 M(v1-1),0, and store the multiplication results in |t0 |tv1-1. The states of |t0 |tv1-1 are added to |e0 |ev1-1 using the ADD gates also in parallel. After that, v1 MULT and CNOT gates operate to initialize the |t0 |tv1-1 and |anc0 |ancv1-2 in parallel, respectively, as shown in Fig. 15. The total number of ancilla qubits required for parallelization is v1o1log2q. The above process (MULT, ADD, and MULT pairs) is then iterated o1 times to store all states of the quantum registers |ei.

Figure 15.

Figure 15

The depth-optimized Q-rMinRank_Oracle O1.

Algorithm 6.

Algorithm 6

The depth-optimized Q-rMinRank_Oracle O1.

In order to implement oracle O1, we use the quantum multiplier25(see Fig. 8), which has a smaller depth, as shown in Table 2. Moreover, we implement the Cv1log2q-NOT gate as Cv1log2q-NOTD in Fig. 5a to shorten the depth of oracle O1. Since the implementation of Cv1log2q-NOTD requires v1log2q ancilla qubits, as shown in Table 1, the ancilla qubits for parallelization can be reused.

The width-optimized Q-rMinRank_Oracle O2

The Q-rMinRank_Oracle O2 has no additional ancilla qubits needed for parallelization. Thus, O2 can reduce the number of qubits. Algorithm 7 shows the process of oracle O2, in which MULT and ADD gates operate linearly. We utilize the quantum multiplier24 as the MULT gate (see Fig. 7), which uses smaller ancilla qubits as shown in Table 2. After the MULT gate multiplies M0,0 by the quantum register |x0 and stores the multiplication results in the quantum register |t, the ADD gate operates to add the state of |t to |e0. The MULT gate operates to initialize the |t. The O2 iterates MULT, ADD, and MULT pairs (called MAM pairs) o1 times to construct the |ei as shown in Fig. 16. As O2 has to construct v1 quantum registers |ei (0i<v1), the O2 totally iterates MAM pairs (v1×o1) times without parallel operations. During this process, O2 does not use ancilla qubits |anc, which temporarily stores the multiplication result by MULT gate.

Figure 16.

Figure 16

The width-optimized Q-rMinRank_Oracle O2.

Algorithm 7.

Algorithm 7

The width-optimized Q-rMinRank_Oracle O2.

since O2 does not perform parallelization between quantum arithmetic gates, it has quite a long depth. The depth of O2 is computed by multiplying the depth of the MAM pair by (v1×o1). We further reduce the number of qubits by implementing the Cv1log2q-NOT gate as Cv1log2q-NOTW in Fig. 5b. As shown in Table 1, Cv1log2q-NOTW requires only one ancilla qubit to implement the Cv1log2q-NOT gate. By recycling an ancilla qubit in the quantum register |t0, we construct O2 without using additional ancilla qubits.

Complexity analysis

In this section, we analyze the complexity of the Q-rMinRank attack for each parameter set of third-round Rainbow and evaluate the security level of Rainbow. Then, we analyze the quantum resources required for the Q-rMinRank attack.

Security analysis

The complexity of our Q-rMinRank attack depends on the size of the kernel vector space. We reduced the complexity of finding a kernel by converting the m (n×n) public keys of Rainbow to the n (n×m) matrices using polar form conversion in the preprocessing step. The Rainbow signature scheme has three security levels, with each parameter set as shown in Table 4.

Table 4.

Description of the NIST security categories and relation with the Rainbow security levels.

Rainbow parameter sets NIST secuirty level categories
Parameter sets q v1 o1 o2 Security levels Descriptions
I 24 36 32 32 2128 Hard to break AES128
II 28 68 32 48 2192 Hard to break AES192
V 28 96 36 64 2256 Hard to break AES256

q: the number of elements in the finite field

v1: the number of vinegar variables of the first layer

o1: the number of oil variables of the first layer

o2: the number of oil variables of the second layer.

Proposition 1

In our Q-rMinRank attack, the complexity of recovering the first layer of Rainbow is π4q(v1+o1)2o1nq.

Proof

When the matrices P1,...,Pm are given as Fig. 13 and the matrices are converted to Ri according to equations (3)(5), the size of the n converted matrices Ri (0i<n) is (n×m) as shown in Fig. 14. The information in the first layer exists from R1 to R(v1+o1). To recover the central map of the first layer, we only use the (v1×o1) part of Ri, which has information about the first layer. In our Q-rMinRank attack, we only need to find a kernel vector ΓFq1 for the linear combination M such that ΓKerM, when the M is a linear combination of parts of (v1×o1) from R1 to R(v1+o1). Since the size of the kernel is o1, the number of qubits needed to construct the Grover quantum circuit is o1×nq. After computing the linear combination M that satisfies line 3 of Algorithm 3 (with a complexity of q), our Q-rMinRank Grover algorithm finds the kernel with a complexity of π42o1nq. We have to find v1+o1 kernels, so the total complexity of recovering the first layer of Rainbow is

π4q(v1+o1)2o1nq. 9

Proposition 2

In our Q-rMinRank attack, the complexity of recovering the second layer of Rainbow is negligible.

Proof

A canonical form g(z1,...,zr) is defined by z1z2+···+zr-2zr-1+zr2 when r is odd or z1z2+···+zr-1zr+b(zr-12+azr2) when r is even. Then, given a quadratic form fFq[x1,...,xn] of rank r, there exists a matrix G of rank r mapping (x1,...,xn) to (z1,...,zr) such that

f(x1,...,xn)=g·G(x1,...,xn). 10

We can find the matrix G using a deterministic algorithm with a complexity lower than n3. As a result, we uncover T with a complexity of n3. Since we know the central maps of the first layer recovered from the Q-rMinRank attack, public keys, and another private key T, we can recover the last private key S as follows:

S=P(TFTT)-1 11

Then, we recover the central map of the second layer simply by matrix operations (F=T-1S-1P(TT)-1). As both the matrix operations and the matrix inversion require a complexity of n3, the additional cost of recovering the central map of the second layer is dominated by O(n3) and is negligible10.

From Propositions 1 and 2, we see that the complexity of the Q-rMinRank attack depends on the cost of recovering the central map of the first layer. Since the o1 central maps of the first layer are recovered by iterating the quantum kernel extraction step v1+o1 times, our attack complexity is π4(v1+o1)2o1nq. Table 5 compares the complexity of our Q-rMinRank attack with the Rainbow team’s quantum approach for the MinRank attack applying the Grover algorithm10.

Table 5.

A complexity comparison of the MinRank attack10, the Rectangular MinRank attack12, the improved Rectangular MinRank attacks13, and our Q-rMinRank attack.

Rainbow parameter sets Complexities of quantum attack
Parameter sets q v1 o1 o2 Grover on10 our Q-rMinRank attack
I 24 36 32 32 297 271
II 28 68 32 48 2303 2140
V 28 96 36 64 2416 2156

q: the number of elements in the finite field

v1: the number of vinegar variables of the first layer

o1: the number of oil variables of the first layer

o2: the number of oil variables of the second layer

Quantum resource analysis

For quantum resource analysis, we estimated the number of qubits (#QB), the number of quantum gates (G-cost), and the quantum depth (D) required to perform our Q-rMinRank-Grover algorithm. Our Q-rMinRank-Grover algorithm consists of iterations of Q-rMinRank_Oracle and the diffusion operator.

The diffusion operator’s circuit is fixed according to the number of input qubits. The G-cost used in the diffusion operator is proportional to the number of iterations rt, so it is not negligible. Therefore, we estimated the quantum resources of the oracle circuit and the diffusion operator for more accurate analysis. Table 6 shows the quantum resources for our Q-rMinRank_Oracle and Diffusion pair. The #QB required for the O2 is one-fourth of O1 for parameter set I, one-seventh of O1 for parameter set III, and one-eighth of O1 for parameter set V. On the other hand, O1 has a depth of about 26 to 29 smaller than O2. O1 and O2 have a trade-off between the number of qubits and depth. For the cost comparison of O1 and O2 implementations, we also present the qubit-cycle costs of each oracle. The total cost in logical qubit-cycles for the serial overhead comparison is C=DW, while the cost in qubit-cycles for the parallel overhead comparison is C=D2W27. The O1 implementation uses more qubits but has lower overhead due to the depth optimization.

Table 6.

The quantum resources for our Q-rMinRank_Oracle and Diffusion pair.

Algorithm Parameter sets Oracle #QB G-cost D DW D2W
Rainbow I O1 1097 1.74×218 1.09×211 221.2 232.3
O2 289 1.42×219 1.14×217 225.4 242.5
III O1 5757 1.37×221 1.47×211 224.0 235.6
O2 833 1.34×222 1.60×219 229.4 249.1
V O1 8057 1.09×222 1.65×211 224.7 236.4
O2 1089 1.06×223 1.27×220 230.4 250.8

G-cost: the number of quantum gates used in an oracle and diffusion pair

D: the depth for an oracle and diffusion pair

DW: the depth times width for an oracle and diffusion pair (serial overhead)

D2W: the square of depth times width for an oracle and diffusion pair (parallel overhead).

Then, we evaluated the efficiency of our circuits in terms of the quantum complexity proposed by NIST as a metric that should be considered in analyzing the security against quantum attacks on PQCs. Considering future quantum computers’ performance, NIST proposes measuring the complexity of quantum attacks in terms of a restricted circuit depth called the MAXDEPTH. Table 7 shows the plausible values for the MAXDEPTH range provided by NIST.

Table 7.

The plausible MAXDEPTH range16.

MAXDEPTH Description
240 The approximate number of gates that presently envisioned quantum computing architectures are expected to serially perform in a year
264 The approximate number of gates that current classical computing architectures can perform serially in a decade
296 The approximate number of gates that atomic scale qubits with speed of light propagation times could perform in a millennium

Based on our quantum resource estimation and MAXDEPTH values, we analyzed the quantum complexity of our Q-rMinRank-Grover algorithm. Table 8 shows the G-cost by MAXDEPTH and the quantum complexity of our Q-rMinRank-Grover. The quantum complexity is approximated as follows:

Table 8.

The G-cost by MAXDEPTH and the quantum complexity of Q-rMinRank-Grover.

Algorithm Parameter sets Oracle MD G-cost D Complexityquantum
Rainbow I O1 240 1.90×253 1.00×240 1.90×293 / MAXDEPTH
264 1.90×229 1.00×264
296 1.74×218 1.09×275
O2 240 1.63×260 1.00×240 1.63×2100 / MAXDEPTH
264 1.63×236 1.00×264
296 1.63×24 1.00×296
III O1 240 1.01×2118 1.00×240 1.01×2158 / MAXDEPTH
264 1.01×294 1.00×264
296 1.01×262 1.00×296
O2 240 1.07×2127 1.00×240 1.07×2167 / MAXDEPTH
264 1.07×2103 1.00×264
296 1.07×271 1.00×296
V O1 240 1.80×2134 1.00×240 1.80×2174 / MAXDEPTH
264 1.80×2110 1.00×264
296 1.80×278 1.00×296
O2 240 1.35×2144 1.00×240 1.35×2184 / MAXDEPTH
264 1.35×2120 1.00×264
296 1.35×288 1.00×296

Complexityquantum = G-cost × D

Quantum simulation result

To show the feasibility of our Q-rMinRank attack, we implemented and simulated toy example circuits for our Q-rMinRank-Grover algorithms, where oracle consists of O1 and O2, respectively. The input matrix for the toy example is given on F8 as follows:

517543 12

We constructed a circuit of the Q-rMinRank-Grover algorithm that finds the kernel of the matrix (Equation 12) and simulated our circuit using quantum simulators Qiskit20 and ProjectQ21.

ProjectQ, an open-source software effort for quantum computing, provides a function for drawing quantum circuits. Figures 18 and 19 show our Q-rMinRank oracle quantum circuits of the Q-rMinRank attack drawn using ProjectQ. Qiskit, another open-source framework for quantum computing, has the advantage of fast execution speed and supports multi-shot simulation that shows the frequency of measurement when executed several times. We measured the probability that our Q-rMinRank-Grover algorithms find the kernel utilizing the multi-shot function of Qiskit. Figures 17a and b show the outputs of implementing our Q-rMinRank-Grover algorithm circuits for the toy example in the Qiskit Aer simulator for 1000 shots.

Figure 18.

Figure 18

Q-rMinRank-Grover algorithm quantum circuit for toy example of “Quantum simulation result” section when the Q-rMinRank_Oracle O1 and diffusion circuit pairs repeat 1.

Figure 19.

Figure 19

Q-rMinRank-Grover algorithm quantum circuit for toy example of “Quantum simulation result” section when the Q-rMinRank_Oracle O2 and diffusion circuit pairs repeat 1.

Figure 17.

Figure 17

The histogram obtained by running our Q-rMinRank-Grover with oracles O1 and O2 in Qiskit Aer simulator.

Qubit values measured less than 10 times are not kernel values, and the sum of their probabilities is indicated in the bar named ’NotKernel’. Our simulation results show that the ’NotKernel’ is measured only once out of 1000 times. The other bars represent each of the probabilities when the kernels are accurately measured. Since we need to get a non-zero kernel, we must also exclude the results measured as ’000 000’. The Q-rMinRank-Grover algorithms, consisting of oracles O1 and O2, respectively, find the kernel with accuracies of 86.7% and 89.1% probability, respectively.

Conclusion

In this paper, we first proposed a quantum rectangular MinRank (Q-rMinRank) attack that applied quantum algorithms to key recovery attacks against Rainbow, especially MinRank attacks. We designed oracle O1 optimized for the quantum depth and oracle O2 optimized for the quantum width (the number of qubits), respectively, considering quantum computing environments. According to our quantum resource estimation, the depth of oracle O1 is about 28 smaller than O2, and instead, O2 uses only one-seventh of the number of qubits required for O1. Both circuits consisting of O1 and O2 found the kernel with an accuracy greater than 86% probability in toy example simulations. Also, we analyzed the complexities of our Q-rMinRank attacks. The complexity of the Q-rMinRank attack is less than the complexity of the MinRank attacks with Grover’s algorithm estimated by the Rainbow team by 230 in parameter set I, 2171 in parameter set III, and 2268 in parameter set V. Then, we estimated the quantum resources required for the Q-rMinRank attack. Our Q-rMinRank-Grover circuits consisting of oracle O2 require only 289, 833, and 1089 qubits for parameter sets I, III, and V of Rainbow, respectively. We also measured the quantum complexity by using the G-cost estimation, a metric for analyzing the security against quantum attacks on PQC. The quantum complexities of the Q-rMinRank-Grover algorithms are 293, 2158, and 2174 for parameter sets I, III, and V, respectively, when applying oracle O1.

Supplementary Information

Acknowledgements

This work was supported by Institute for Information & Communications Technology Planning & Evaluation (IITP) grant funded by the Korea government(Ministry of Science and ICT(MSIT)) (Q|Crypton, No.2019-0-00033, Study on Quantum Security Evaluation of Cryptography based on Computational Quantum Complexity), by the National Research Foundation of Korea (NRF) grant funded by the Korea government(MSIT) (No.2021R1A2C1095591), and by Quantum Computing based on Quantum Advantage challenge research through the National Research Foundation of Korea (NRF) funded by the Korean government (MSIT) (RS-2023-00256221).

Author contributions

S.M.C. developed quantum rectangular MinRank attacks and wrote the preliminary version of the manuscript, and S.H.S. edited over it. All authors analyzed the security of Rainbow and HiMQ, and reviewed the manuscript.

Data availability

All data generated or analyzed during this study are included in this published article.

Competing interests

The authors declare no competing interests.

Footnotes

Publisher's note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Supplementary Information

The online version contains supplementary material available at 10.1038/s41598-024-66841-0.

References

  • 1.Arute F, et al. Quantum supremacy using a programmable superconducting processor. Nature. 2019;574:505–510. doi: 10.1038/s41586-019-1666-5. [DOI] [PubMed] [Google Scholar]
  • 2.Chow, J., Dial, O. & Gambetta, J. Ibm quantum breaks the 100-qubit processor barrier (2021).
  • 3.Shor, P. Algorithms for quantum computation: discrete logarithms and factoring. In Proc. 35th Annual Symposium on Foundations of Computer Science, 124–134, 10.1109/SFCS.1994.365700 (1994).
  • 4.Proos, J. & Zalka, C. Shor’s discrete logarithm quantum algorithm for elliptic curves. Preprint at https://arXiv.org/quant-ph/0301141 (2003).
  • 5.Shim K-A. A survey on post-quantum public-key signature schemes for secure vehicular communications. IEEE Trans. Intell. Transport. Syst. 2021 doi: 10.1109/TITS.2021.3131668. [DOI] [Google Scholar]
  • 6.Ding, J. & Schmidt, D. Rainbow, a new multivariable polynomial signature scheme. In International Conference on Applied Cryptography and Network Security, 164–175 (Springer, 2005).
  • 7.Association, K. T. T. Post quantum cryptography based on multivariate quadratic equations - part 2: Himq, digital signature algorithm with appendix. TTAK.KO-12.0348-Part2 (2020).
  • 8.Lazard D. Résolution des systèmes d’équations algébriques. Theor. Comp. Sci. 1981;15:77–110. doi: 10.1016/0304-3975(81)90064-5. [DOI] [Google Scholar]
  • 9.Faugere J-C. A new efficient algorithm for computing gröbner bases (f4) J. Pure Appl. Algebra. 1999;139:61–88. doi: 10.1016/S0022-4049(99)00005-5. [DOI] [Google Scholar]
  • 10.Billet, O. & Gilbert, H. Cryptanalysis of rainbow. In International Conference on Security and Cryptography for Networks, 336–347 (Springer, 2006).
  • 11.Bardet, M. et al. Improvements of algebraic attacks for solving the rank decoding and minrank problems. In International Conference on the Theory and Application of Cryptology and Information Security, 507–536 (Springer, 2020).
  • 12.Beullens, W. Improved cryptanalysis of uov and rainbow. In Annual International Conference on the Theory and Applications of Cryptographic Techniques, 348–373 (Springer, 2021).
  • 13.Beullens, W. Breaking rainbow takes a weekend on a laptop. Cryptology ePrint Archive (2022).
  • 14.Wiedemann D. Solving sparse linear equations over finite fields. IEEE Trans. Inf. Theory. 1986;32:54–62. doi: 10.1109/TIT.1986.1057137. [DOI] [Google Scholar]
  • 15.Cross AW, Bishop LS, Sheldon S, Nation PD, Gambetta JM. Validating quantum computers using randomized model circuits. Phys. Rev. A. 2019;100:032328. doi: 10.1103/PhysRevA.100.032328. [DOI] [Google Scholar]
  • 16.NIST. Submission requirements and evaluation criteria for the Post-Quantum Cryptography standardization process (2016).
  • 17.Grassl, M., Langenberg, B., Roetteler, M. & Steinwandt, R. Applying grover’s algorithm to aes: quantum resource estimates. In International Workshop on Post-Quantum Cryptography, 29–43 (Springer, 2016).
  • 18.NIST. Call for Additional Digital Signature Schemes for the Post-Quantum Cryptography Standardization Process (2022).
  • 19.Jaques, S., Naehrig, M., Roetteler, M. & Virdia, F. Implementing grover oracles for quantum key search on aes and lowmc. In Advances in Cryptology–EUROCRYPT 2020: 39th Annual International Conference on the Theory and Applications of Cryptographic Techniques, Zagreb, Croatia, May 10–14, 2020, Proceedings, Part II 30, 280–310 (Springer, 2020).
  • 20.Aleksandrowicz, G. et al. Qiskit: An open-source framework for quantum computing. 16 (2019).
  • 21.Steiger DS, Häner T, Troyer M. Projectq: An open source software framework for quantum computing. Quantum. 2018;2:49. doi: 10.22331/q-2018-01-31-49. [DOI] [Google Scholar]
  • 22.Grover, L. K. A fast quantum mechanical algorithm for database search. In Proc. of the Twenty-eighth Annual ACM Symposium on Theory of Computing, 212–219 (1996).
  • 23.Kim P, Han D, Jeong KC. Time-space complexity of quantum search algorithms in symmetric cryptanalysis: Applying to aes and sha-2. Quantum Inf. Process. 2018;17:1–39. doi: 10.1007/s11128-018-2107-3. [DOI] [Google Scholar]
  • 24.Cho S-M, Kim A, Choi D, Choi B-S, Seo S-H. Quantum modular multiplication. IEEE Access. 2020;8:213244–213252. doi: 10.1109/ACCESS.2020.3039167. [DOI] [Google Scholar]
  • 25.Jang, K. et al. Optimized implementation of quantum binary field multiplication with toffoli depth one. In Information Security Applications: 23rd International Conference, WISA 2022, Jeju Island, South Korea, August 24–26, 2022, 284–297 (2022).
  • 26.O’Donnell, R. & Wright, J. Grover’s algorithm. 15-859BB: Quantum Computation and Information 2015 (2015).
  • 27.Sarah, D. & Peter, C. On the practical cost of grover for aes key recovery. csrc.nist.gov (2024).

Associated Data

This section collects any data citations, data availability statements, or supplementary materials included in this article.

Supplementary Materials

Data Availability Statement

All data generated or analyzed during this study are included in this published article.


Articles from Scientific Reports are provided here courtesy of Nature Publishing Group

RESOURCES