Introduction
With the rapid development and the wide use of IoT, there is a huge amount of data transferred over a network in order to communicate and share information. However, the IoT is a network with high dynamic topology, and their connections are vulnerable to attacks. As the benefits of IoT are numerous, the need for ensuring the security and the reliability of the overall system is growing. Nowadays, protecting the overall system against malicious attacks is one of the greatest challenges for deploying IoT technology.
In order to improve cryptographic defenses against cyberattacks, the U.S. National Institute of Standards and Technology (NIST) announced an open competition for Authenticated Encryption: Security, Applicability, and Robustness (CAESAR) in January 2013 [1] to encourage the design and analysis of AE ciphers. Specifically, authenticated ciphers combine the cryptographic services of confidentiality, integrity, and authentication into one algorithmic construct. Moreover, IoT applications ranging from smart locks to wearable technology to home automation and healthcare, they often require constrained devices, and these innumerable tiny trustworthy devices are required to provide services such as encryption\decryption, authentication, digital signature and so on. To create worthy solutions to the problem of securing data in the IoT-like constrained environments, NIST published the call in August 2018 [2] for proposals for a new lightweight cryptography (LWC) standard process for lightweight applications.
MORUS family [3] is one of the finalists of the CAESAR competition and has received extensive attention. TriviA-ck-v2 [4] is one of the Round 2 candidates in the CAESAR competition. TRIAD [5] and Quartet [6] are two lightweight symmetric-key schemes based on a stream cipher, and both of them are selected as LWC authenticated cipher candidates in April 2019. Cube attack is one of the most powerful techniques in cryptanalysis of cryptographic primitives, and this motivates us to study the security of these above ciphers against the cube attack.
A. Related Work
Cube attack is a powerful technique to analyze symmetric-key ciphers proposed by Dinur and Shamir [7] in 2009. Cube attack can be seen as a generalization of higher-order differential attack [8] and chosen IV statistical attack [9], [10]. The core idea of the cube attack is to simplify the polynomial by summing the output of the cryptosystem over a subset of public variables, so-called cube. The target of the cube attack is to recover secret variables from the simplified polynomial named superpoly. Cube attack has been successfully used to various ciphers, including stream ciphers [11]–[15], hash functions [16]–[18], and authenticated encryptions [19], [20]. Originally, stream cipher can be treated as a blackbox polynomial. We can recover the structure of the superpoly with a linearity test [7] or a quadraticity test [21]. Later, cube attacks develop into different types, such as dynamic cube attack [12], conditional cube attack [17], correlation cube attack [15], deterministic cube attack [22], and division property based cube attack.
Todo [23] introduces division property at EUROCRYPT 2015, which is a generalization of integral property. It can be used to construct the integral distinguisher against block ciphers with non-linear components. After that, Todo and Morii [24] present the bit-based division property at FSE 2016, which is a more robust method because it can trace the division property at the bit level. However, it is evident that the memory and computing complexities significantly increase. The complexity of utilizing bit-based division property was roughly equal to
Further, Todo et al. [27] put cube attacks in the setting of non-blackbox polynomials and apply the division property to the cube attack at CRYPTO 2017. By utilizing this new cube attack technique, they explore cubes with a larger size, and successfully evaluate the involved secret variables on stream ciphers TRIVIUM, Grain128a, and authenticated cipher ACORN. Soon after, Wang et al. [28] present several techniques (flag technique, degree evaluation, and term enumeration) to enhance the performance of division property based cube attack at CRYPTO 2018. With the help of bit-based division property using three subsets, Wang et al. [29] apply their improved cube attack technique on Trivium in practice and propose a theoretical attack that can recover the superpoly of Trivium up to 842 rounds. Very recently, Yang et al. [30] apply a new method of finding cube testers to ACORN, which is based on the greedy algorithm of finding cubes [31], [32] and the numeric mapping technique [33] for iteratively estimating the upper bound of the algebraic degree of the NFSR-based cryptosystem.
Salam et al. [14] recover the key with the cube attack on the initialization of 4-step MORUS-640-128 in 2017. In 2019, Li and Wang [34] apply the MILP tool to analyze its 5.5-step variant by utilizing the technique of cube attacks based on division property. TriviA-ck-v2 [4] is one of the Round 2 candidates in the CAESAR competition. In 2017, Sarkar et al. [35] obtain distinguishers till 950 rounds. Liu [33] provides a distinguishing attack for its 1047-round variant with a cube of size 61 in CRYPTO 2017. It is noted that cube attacks in our paper are key recovery attacks, which aim to guess at least one bit of secret key with complexity less than the brute-force attack. However, cube attack by utilizing such large cube is unfeasible under current limited computing resources. Zhang et al. [36] apply the cube attack on 464-round Enhanced-bivium and claim that the breaking complexity is 255 after 464 rounds. Quartet and TRIAD are Round 1 submissions of the ongoing NIST Lightweight Cryptography Standardization Project in April 2019. To the best of our knowledge, none of the key recovery attacks with the cube technique has been conducted on them.
Moreover, in the previous attacks on MORUS-640-128 and Enhanced-bivium, they randomly select a subset of public variables as the cube from a large search space. Aiming to extend the number of attacked rounds and reduce computing complexity, we introduce an algorithm to find expected cubes. Then we apply the improved division property based cube attack on these target ciphers.
B. Our Contributions
In this paper, we introduce a new greedy method to discover cubes from a wide range of initialization vectors efficiently, and we also use the numeric mapping method to iteratively estimate the upper bound of the algebraic at a linear computational complexity. We model the division property propagations of five target ciphers and translate the division trail finding problem into an SAT problem. Further, for the bitwise AND operation, the effect of constant 0 bits is taken into account. We use the algorithm combined with the SAT model of the division property and the flag technique to improve the accuracy of the propagation of division properties. Finally, we evaluate the security of MORUS-640-128, TRIAD, Quartet, Trivia-ck-v2, and Enhanced-bivium by using the improved cube attack based on the division property with the SAT method, and we give some new cryptanalysis results in key recovery attack.
For MORUS-640-128 with keystream generation function, we give the first 5.9-step key recovery attack with a cube of size 24, which achieves 0.4-step (two rounds) more than the previous best work in [34], and the complexity for superpoly recovery is 232.06. We also study reduced versions of the initialization of MORUS-640-128 and provide the 6-step key recovery attack with a cube of size 22, which improves two steps comparing with [14]. Also, we find better cubes of the same size as [14], and then we gain one more step key recovery attack with these cubes. For TRIAD, we obtain a zero-sum distinguisher for 559-round with a cube of size 35 and a 568-round distinguisher with a cube of size 45. We find a cube of size 16, which leads to a key recovery attack for its 521 variant, the complexity is 224.81. We provide a key recovery attack for 565-round TRIAD with the 30-dimensional cube, the complexity is 248. Also, the theoretical key recovery attack is applied to its 572-round variant. We obtain cubes of size 2 and 18, resulting in key recovery attacks for 3 and 4 rounds of Quartet. We provide cube attacks on TriviA-ck-v2 up to 874 rounds with a cube of size 16. We also provide the first key recovery attack for 502-round Enhanced-bivium with a cube of size 12. Our results are summarized in Table 1, and the comparisons with former key recovery attacks are also included.
C. Organization
The remainder of this paper is organized as follows: Some basic definitions and theories are introduced in Section II. In Section III we briefly describe MORUS-640-128, TRIAD, Quartet, Enhanced-bivium and TriviA-ck-v2. Section IV shows the method of finding good cubes and an algorithm of using the SAT model combined with the flag technique. Section V presents several applications. Section VI provides conclusions and future work.
Preliminaries
A. Cube Attack
Cube attack is an analysis tool to recover the secret key of a cryptosystem, which was proposed by Dinur and Shamir [7].
Almost any cryptosystem can be seen as a Boolean function. For a stream cipher with n secret key bits \begin{equation*}f\left ({x,v}\right) = t_{I} \cdot p\left ({x,v }\right) + q\left ({x,v }\right), \tag{1}\end{equation*}
\begin{equation*}\oplus _{C_{I}}f\left ({x,v}\right) = \oplus _{C_{I}}t_{I}\cdot p\left ({x,v}\right)\! +\! \oplus _{C_{I}}q\left ({x,v}\right)\!=\!p\left ({x,v}\right).\qquad \tag{2}\end{equation*}
B. Division Property and Division Trail
Division property is a generalization of integral property, proposed by Todo [23] at EUROCRYPT 2015. In this subsection, we will recall the definitions of bit-based division property [24] and division trail [25].
Definition 1 (Bit-Based Division property[24]):
Let \begin{equation*}\bigoplus \limits _{x\in \mathbb {X}} \boldsymbol {\pi }_{\textbf {u}} \textbf {(x)}= \begin{cases} unknown,&if\; there\; is\; k \in \mathbb {K}, \;\mathit {u \geq k } \\ 0, &otherwise.\end{cases} \tag{3}\end{equation*}
Definition 2 (Division trail[25]):
Let
Moreover, if there is no division trail
C. Sat-Aided Bit-Based Division Property
Sun et al. [26] proposed the automatic search method that based on SAT\SMT to search integral distinguishers for ARX-based ciphers. They model the bit-based division property propagations of the three basic operations (COPY, AND, and XOR) in Conjunctive Normal Form (CNF). The concrete equations are depicted as follow.
Model 1 (SAT Model for COPY [26]):
Let
be a division trail of COPY function. The following CNFs are sufficient to describe the propagation of the division property for COPY.a \xrightarrow {COPY} (b_{0},b_{1}) \begin{equation*} \begin{cases} \lnot {b_{0}} \lor \lnot {b_{1}} =1 \\ a \lor b_{0} \lor \lnot {b_{1}} =1 \\ a \lor \lnot {b_{0}} \lor b_{1} =1 \\ \lnot {a} \lor b_{0} \lor b_{1} =1 \end{cases} \tag{4}\end{equation*} View Source\begin{equation*} \begin{cases} \lnot {b_{0}} \lor \lnot {b_{1}} =1 \\ a \lor b_{0} \lor \lnot {b_{1}} =1 \\ a \lor \lnot {b_{0}} \lor b_{1} =1 \\ \lnot {a} \lor b_{0} \lor b_{1} =1 \end{cases} \tag{4}\end{equation*}
Model 2 (SAT Model for XOR [26]):
Let
be a division trail of XOR function. The following CNFs are sufficient to describe the propagation of the division property for XOR.(a_{0}, a_{1}) \xrightarrow {XOR} b \begin{equation*} \begin{cases} \lnot {a_{0}} \lor \lnot {a_{1}} =1 \\ a_{0} \lor a_{1} \lor \lnot {b} =1 \\ a_{0} \lor \lnot {a_{1}} \lor b =1 \\ \lnot {a_{0}} \lor a_{1} \lor b =1 \end{cases} \tag{5}\end{equation*} View Source\begin{equation*} \begin{cases} \lnot {a_{0}} \lor \lnot {a_{1}} =1 \\ a_{0} \lor a_{1} \lor \lnot {b} =1 \\ a_{0} \lor \lnot {a_{1}} \lor b =1 \\ \lnot {a_{0}} \lor a_{1} \lor b =1 \end{cases} \tag{5}\end{equation*}
Model 3 (SAT Model for AND [26]):
Let
be a division trail of AND function. The following CNFs are sufficient to describe the propagation of the division property for AND.(a_{0}, a_{1}) \xrightarrow {AND} b \begin{equation*} \begin{cases} \lnot {a_{1}} \lor b =1 \\ a_{0} \lor a_{1} \lor \lnot {b} =1 \\ \lnot {a_{0}} \lor b =1 \\ \end{cases} \tag{6}\end{equation*} View Source\begin{equation*} \begin{cases} \lnot {a_{1}} \lor b =1 \\ a_{0} \lor a_{1} \lor \lnot {b} =1 \\ \lnot {a_{0}} \lor b =1 \\ \end{cases} \tag{6}\end{equation*}
D. Cube Attack Based on Division Property
In cube attack, attackers aim to recover the superpoly
Proposition 1 (Identify the involved keys by Division Property[27]):
Let
Flag Technique: Sun et al. [37] firstly present the MILP model for division property of the bitwise AND operation between a variable and one constant. Later, Todo et al. take into account the impact of constant 0 bits on the propagation of division property, and add several additional constraints in [27]. Afterwards, Wang et al. [28] find out that constant 0 bits could be generated from some XOR operations, which involve an even number of constant 1 bits. For this reason, Wang et al. propose the flag technique to make their MILP model more precisely. The operation \begin{align*} \begin{cases} 1_{c} \oplus 1_{c} = 0_{c}\\ 0_{c} \oplus x = x \oplus 0_{c} = x \\ \delta \oplus x = x \oplus \delta = \delta \end{cases} \quad for~arbitrary~x \in \left \lbrace{ 1_{c}, 0_{c}, \delta }\right \rbrace. \\ {}\tag{7}\end{align*}
The operation \begin{align*} \begin{cases} 1_{c} \times x = x \times 1_{c} = x\\ 0_{c} \times x = x \times 0_{c} = 0_{c} \\ \delta \times \delta = \delta \end{cases}\quad for~arbitrary~x \in \left \lbrace{ 1_{c}, 0_{c}, \delta }\right \rbrace. \\ {}\tag{8}\end{align*}
After getting the cube index
Complexity for Superpoly Recovery: With cube indices \begin{equation*} 2^{|I|} \times \left({1+ \sum _{t=1}^{d}|J_{t}| }\right). \tag{9}\end{equation*}
A Brief Description of Five Target Ciphers
A. The Description of MORUS-640-128
MORUS is an authenticated encryption cipher submitted to the CAESAR competition, and it is of great concern recently.
The design of MORUS is based on the stream cipher, and four parts include: initialization, associated data processing, encryption and finalization. For MORUS-640-128, the internal state is 640 bits and divided into five 128-bit state elements denoted as \begin{align*} S^{-16}_{0,0} =IV_{128}; \\ S^{-16}_{0,1} =K_{128}; \\ S^{-16}_{0,2} =1^{128}; \\ S^{-16}_{0,3} =const_{0}; \\ S^{-16}_{0,4} =const_{1}. \tag{10}\end{align*}
The state \begin{align*}&\hspace {-2pc}Round ~0: \\ S^{i}_{1,0}=&Rotl\left ({S^{i}_{0,0}\oplus \left ({S^{i}_{0,1} {\S }^{i}_{0,2}}\right)\oplus S^{i}_{0,3},b_{0} }\right); \\ S^{i}_{1,3}=&S^{i}_{0,3}\lll \omega _{0}; \\ S^{i}_{1,1}=&S^{i}_{0,1}; \\ S^{i}_{1,2}=&S^{i}_{0,2}; \\ S^{i}_{1,4}=&S^{i}_{0,4}; \\&For~1\le j \le ~4, \\&\hspace {-2pc}Round ~j: \\ S^{i}_{j+1,j}=&Rotl\left ({S^{i}_{j,j}\oplus \left ({S^{i}_{j,j+1} {\S }^{i}_{j,j+2}}\right)\oplus S^{i}_{j,j+3} \oplus P_{i},b_{j} }\right); \\ S^{i}_{j+1,j+3}=&S^{i}_{j,j+3}\lll \omega _{j}; \\ S^{i}_{j+1,j+1}=&S^{i}_{j,j+1}; \\ S^{i}_{j+1,j+2}=&S^{i}_{j,j+2}; \\ S^{i}_{j+1,j+4}=&S^{i}_{j,j+4}. \tag{11}\end{align*}
The plaintext block
B. The Description of Triad
TRIAD is a family of lightweight symmetric-key schemes based on a stream cipher. The 256-bit internal state of TRIAD denoted by \begin{align*} K=&\left ({K\left [{ 0}\right], K\left [{ 1}\right], K\left [{ 2}\right], \cdots, K\left [{ 15}\right] }\right); \\ N=&\left ({N\left [{ 0}\right], N\left [{ 1}\right], N\left [{ 2}\right], \cdots, N\left [{ 11}\right] }\right). \tag{12}\end{align*}
The initialization of TRIAD loads the secret key, nonce, and some constants into the state, and please refer to [5] for more details. The internal state is updated by Algorithm 1 for 1024 rounds. The input is 256-bit internal state
Algorithm 1 Update Function of TRIAD
C. The Description of TriviA-ck-v2
TriviA-ck-v2 is an authenticated encryption algorithm submitted to the CAESAR competition.
TriviA-ck-v2 has the 384-bit internal state and uses three Non-linear feedback registers
Algorithm 2 Update Function of TriviA-ck-v2
After the state updation, keystream bits can be generated. The keystream bit generation function is defined as \begin{equation*} A_{66} \!\oplus \! A_{132} \!\oplus \! B_{69} \!\oplus \! B_{105}\! \oplus \! C_{66} \!\oplus \! C_{147} \!\oplus \!(A_{102} \!\cdot \! B_{66}).\qquad \tag{13}\end{equation*}
D. The Description of Enhanced-bivium
Enhanced-bivium is an NFSR-based stream cipher [38]. The 174-bit internal state of Enhanced-bivium can be denoted as \begin{align*} \left ({s_{0},s_{1},\cdots,s_{89}}\right)=&\left ({K_{0}, K_{1},\cdots,K_{79},0,\cdots,0 }\right); \\ \left ({s_{90},s_{91},\cdots,s_{173}}\right)=&\left ({IV_{0}, IV_{1},\cdots,IV_{79},0,1,1,1 }\right). \qquad \tag{14}\end{align*}
The update function is given in Algorithm 3. The internal state is updated for
Algorithm 3 Update Function of Enhanced-bivium
for
end for
E. The Description of Quartet
Quartet is one of the submissions of the ongoing NIST Lightweight Cryptography Standardization Project. As depicted in Figure 3, there are four 64-bit lanes involved in the algorithm:
The state updating of Quartet has four functions. The only non-linear function \begin{equation*} x_{i} \gets x_{i} \oplus (x_{i+2} \oplus 1) \cdot x_{i+1}. \tag{15}\end{equation*}
\begin{equation*} x_{i} \gets x_{i} \oplus (x_{i} \ggg _{64} r_{i, 1}) \oplus (x_{i} \ggg _{64} r_{i, 2}). \tag{16}\end{equation*}
In the initialization phase, one round \begin{align*} R_{ini}=&\tau \circ \lambda (x_{2}, r_{2,1}, r_{2,2}) \circ \rho (x_{1}) \circ \chi (x_{3}, x_{0}, x_{1}) \circ \\&\lambda (x_{1}, r_{1,1}, r_{1,2}) \circ \rho (x_{0}) \circ \chi (x_{2}, x_{3}, x_{0}) \circ \\&\lambda (x_{0}, r_{0,1}, r_{0,2}) \circ \rho (x_{3}) \circ \chi (x_{1}, x_{2}, x_{3}) \circ \\&\lambda (x_{3}, r_{3,1}, r_{3,2}) \circ \rho (x_{2}) \circ \chi (x_{0}, x_{1}, x_{2}). \tag{17}\end{align*}
Methods to Search Good Cubes and Improved Cube Attack With SAT
The goal of the cube attack is to recover the secret key of a cryptosystem. The main observation of the cube attack is that summing the outputs of the cryptosystem over a cube might cancel out all the higher degree terms except terms associated with the monomials involving the cube variables. Hence, exploring useful cubes are vital to cube attack. However, the number of possible cube choices will increase significantly with the increase of cube sizes during the cube attack. In this section, we will discuss how to find expected cubes more efficiently by utilizing the numeric mapping technique. Moreover, this section describes an algorithm to combine the SAT model of the division property with the flag technique.
A. The Numeric Mapping Technique
The numeric mapping technique is proposed at CRYPTO 2017 to iteratively estimate the upper bound on the algebraic degree of the NFSR-based cryptosystem [33]. In the following, we will shortly review the technique.
Let \begin{align*}&\hspace {-2pc}DEG:\: \mathbb {B}_{n} \times \mathbb {Z}^{n} \rightarrow \mathbb {Z}, \\ (f,D)\rightarrow&\max _{a_{u}^{f} \ne 0} \left \lbrace{ \sum _{i=1}^{n}u_{i}d_{i}}\right \rbrace. \tag{18}\end{align*}
Suppose \begin{equation*}deg\left ({h}\right) \le DEG(h) =\max _{a_{u}^{f} \ne 0} \left \lbrace{ \sum _{i=1}^{n}u_{i}deg(g_{i}) }\right \rbrace. \tag{19}\end{equation*}
B. A New Greedy Algorithm to Find Expected Cubes
Before reaching the peak, the number of distinguishable rounds generally becomes bigger as the size of the cube grows larger, then it will turn small gradually. In fact, when the cube has a relatively large size, the number of rounds we can attack becomes larger. Inspired by this, we present a new greedy algorithm to find good cubes by discarding several bits from the candidate list iteratively. In addition, we give the time complexity analysis in this section.
In our greedy algorithm, all of the IV bits are selected as the initial candidate bits, namely
Choose a list of
-bit candidate cubes from an initial starting set, or from the results of the previous iteration. This size of the list is denoted bys_{i-1} .n Drop
bits from each one of the candidate cubes. By using the numeric mapping technique, select the best candidates of sizek_{i} , which leads to distinguishers or nonrandomness detectors with the largest number of rounds.s_{i-1}-k_{i} For all original candidate cubes of size
, their corresponding new best candidates of sizes_{i-1} are stored in a new list together. According to the numbers of the distinguishable round, sort the new list from largest to smallest.s_{i-1}-k_{i} Reduce the size of the sorted list to
by pruning some of the elements with the smaller distinguishable round.n Repeat steps 1 to 4 until the cube of the expected size has been found.
Obviously, the whole complexity of both the accelerated greedy algorithm [30] and our new greedy algorithm mainly depends on the size of IV, discarding or adding size
C. Combination of SAT Model and Flag Technique
In the previous model of cube attack based on division property, the initial division properties of cube IV bits are set to active, denoted by 1. And the other bits are initialized to constant bits, denoted by 0. Wang et al. [28] introduce the flag technique, which takes the effect of constant bits on the propagation of division property into consideration, then the model can be more precise.
For specific ciphers, the flags of the internal states can be derived from update functions iteratively without the automatic solver SAT. Algorithm 4 shows the combination of the SAT model and the flag technique. Hence the accuracy of the SAT model of the division property propagation will be increased.
Algorithm 4 SAT Model Combined With Flag Technique
Declare
Declare
Declare
while
if
if arbitrary
else
follow the traditional SAT propagation rules
end if
else
follow the traditional SAT propagation rules
end if
end while
return
Applications
With the methods proposed in Section 4, we are able to find good cubes from a large search space efficiently. As an illustration, we apply our greedy algorithm to explore expected cubes for MORUS-640-128, TRIAD, Quartet, TriviA-ck-v2, and Enhanced-bivium, then we apply SAT-aided bit-based division property to conduct cube attacks in this section. As authenticated encryption primitives, we only focus on the process of the initialization phase because the number of rounds we can attack is smaller than the whole initialization rounds.
In the experiments, the numeric mapping technique is used to estimate the algebraic degree of the output key bit more precisely. Note that, regardless of the dimension of the cube, the estimation can give an upper bound of the real algebraic degree of the output key bit. If the estimated degree of the output bits is smaller than the size of the cube, then we obtain a zero-sum distinguisher. Finally, several key recovery attacks with suitable cubes are implemented in this section. We implement the attacks on the Linux system with 8 GB RAM and use Cyptominisat solver with Python interface to solve SAT problems.
A. Applications to MORUS-640-128
In this section, we practically evaluate the performance of the cube attack against reduced versions of MORUS-640-128. There are 5 rounds with similar operations at each step in the state update function, so one of five rounds will be called 0.2-step in this paper. Besides, the keystream generation function is named 0.5-step.
To conduct the practical attack, we use an SAT-based algorithm, which is a division property based cube attack framework. According to Proposition 1, for a polynomial
Algorithm 5 Evaluate Secret Variables by SAT Method
Declare cube indexes
Let
Let
for
solve SAT model
if
end if
end for
return
During the attack, we implement the SAT model for the propagation of the division property on MORUS-640-128 for the first step. Then we evaluate involved secret variables by using Algorithm 5. To verify our attack and implementation, cubes identical to [34] are directly used in our testing experiments for 2.5-step to 5.5-step, and the results we obtained are consistent with the previous results. Then, we find some better cubes of the same size as [14], as shown in Table 2, and with these cubes we gain one more step key recovery attack on MORUS-640-128 in the initialization phase.
Further, we find better cubes with the greedy algorithm and select different output keystream bits for 5.7-step and 5.9-step. Moreover, we find a cube of a practical size 24, which can lead to the first 5.9-step key recovery attack, and we gain 0.4-step (two rounds) more than the previous best work in [34]. For example, if the cube index is
B. Applications to TRIAD
The security of TRIAD in the initialization process is evaluated using the same approach as before.
Firstly, we conduct the algebraic degree estimation algorithm to calculate the lower bound of the largest distinguishable round for TRIAD. To compare the performance between the accelerated greedy algorithm and our new greedy algorithm, we explore cube testers using the accelerated greedy algorithm and our new greedy algorithm, respectively. During the experiments with the accelerated greedy algorithm, we exhaust all possible cubes of size 4 at the first iteration. After that, we add 4 to 6 new bits at each iteration. As for our greedy algorithm, we exhaust all possible cubes of size 92 at the first iteration and drop 4 to 6 bits at each iteration. Experiments show that both methods can find the same good cube tester efficiently. For example, we find the same cube tester with size of 30, and the cube index set is
Therefore, to reduce computational complexity, our new algorithm is recommended when the size of the cube is larger than half the length of IV; the accelerated greedy algorithm is recommended when the size of the cube is smaller than half the length of IV. Moreover, we construct the SAT model of division property for TRIAD. In the initial input of the division property, the division properties of constant bits are fixed to 0. Set the division properties of cube IV bits to 1, and non-cube IVs to 0. In our experiments, we set the non-cube IV bits to be zeros, so let the flags of non-cube IV bits equal to
We obtain a cube of size 16, which leads to a key recovery attack for 521-round TRIAD. The cube index set is
C. Applications to TriviA-ck-v2
We conduct experiments searching for cubes on the reduced version of TriviA-ck-v2 to find the existence of lower dimension cubes.
We initialize the algebraic degrees of cube variables to 1, and set the degrees of any non-zero constant bits are 0. Since secret key bits are constant with respect to cube variables, the degrees of secret key bits are set to 0, too. We set non-cube IV bits to constant 0, so the degrees of both non-cube IV bits and other constant 0 bits are set to
We apply the model described in Section 4, and we obtain cubes resulting in key recovery attacks up to 874 rounds of TriviA-ck-v2, as shown in Table 5. For TriviA-ck-v2, an 874-round key recovery attack can be performed with 16 cube variables. If the cube index set is
D. Applications to Enhanced-bivium
For Enhanced-bivium, we obtain some better cryptanalytic results at a lower computational complexity. Combining the method to select cube variables for key recovery attack, we can find some good cubes, shown in Table 6.
We obtain a cube with a size 68, and the number of the round we can attack theoretically is 575. The cube index set is
E. Applications to Quartet
We use the technique illustrated in Section 4 on the modified version of Quartet to find good cubes. We take the first keystream bit as the output bit. The appropriate cubes found for the 3-step and 4-step Quartet are of size 2 and 18, respectively.
We denote the 256-bit state of Quartet by
Conclusion and Future Work
In this paper, we present a new method for finding good cubes for cryptographic primitives with optimal complexity. In our division property based cube attacks, the operations with a constant are considered, and we use the flag technique on our SAT model to propagate the division property more precisely. We give some new or improved cube cryptanalysis on MORUS-640-128, TRIAD, Quartet, TriviA-ck-v2, and Enhanced-bivium. As an important type of cryptanalysis, the cube attack is flexible in applying in the IoT since the attacking rounds are improved.
In the future, we will study how to estimate the algebraic degree of non-NFSR based cryptosystems more precisely.