Next Article in Journal
Equivalent Keys: Side-Channel Countermeasure for Post-Quantum Multivariate Quadratic Signatures
Next Article in Special Issue
Provably Secure PUF-Based Lightweight Mutual Authentication Scheme for Wireless Body Area Networks
Previous Article in Journal
A High Performance and Low Power Triple-Node-Upset Self-Recoverable Latch Design
Previous Article in Special Issue
A Study on Secret Key Rate in Wideband Rice Channel
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Cube Attack on a Reduced-Round Sycon

Department of Computer Science and Engineering, Seoul National University of Science and Technology, Seoul 01811, Korea
*
Author to whom correspondence should be addressed.
Electronics 2022, 11(21), 3605; https://doi.org/10.3390/electronics11213605
Submission received: 24 August 2022 / Revised: 29 October 2022 / Accepted: 1 November 2022 / Published: 4 November 2022
(This article belongs to the Special Issue Security and Privacy for Modern Wireless Communication Systems)

Abstract

:
The cube attack was proposed at the 2009 Eurocrypt. The attack derives linear polynomials for specific output bits of a BlackBox cipher. Cube attacks target recovery keys or secret states. In this paper, we present a cube attack on a 5-round Sycon permutation and a 6-round Sycon permutation with a 320-bit state, whose rate occupies 96 bits, and whose capacity is 224 bits. We found cube variables related to a superpoly with a secret state. Within the cube variables, we recovered 32 bits of the secret state. The target algorithm was Sycon with 5-round and 6-round versions of permutation. For the 5-round Sycon, we found a cube variable and recovered a state with a total of 2 192 Sycon computations and 2 37 bits of memory. For the 6-round Sycon, we found cube variables and recovered a state with a total of 2 192 Sycon computations and 2 70 bits of memory. When using brute force in a 5-round attack, 2 224 operations were required, but the cube attack proposed in this paper had 2 48 offline operations, and 2 32 operations were required. When using brute force in a 6-round attack, 2 224 operations were required, but the cube attack proposed in this paper required 2 95 offline operations, and 2 63 operations were required. For both attacks, offline could be used continuously after performing only once. To the best of our knowledge, this is the first cube attack on Sycon.

1. Introduction

Currently, wireless communication technology supports the high-speed communication of various devices, such as cellular phones, lightweight devices, and industrial sensors. In addition, wireless communication makes smart factories, smart cities, and self-driving cars possible and provides many conveniences for human beings. However, the importance of information security must be emphasized, because there are risks of being exposed to cyber security threat, manipulation or leakage of data and invasion of privacy during the transmission of data by wireless communication [1,2,3]. In wireless communication, information security may be provided through cryptographic algorithms [4,5]. However, since the security strength of cryptographic algorithms does not provide immutability, it must be continuously re-evaluated and reviewed for proper use.
A cube attack is the first type of attack to utilize existing linear, logarithmic, and correlation at the same time [6]. A cube attack can apply to block ciphers, stream ciphers, and MACs. With a cube attack, key recovery is possible. A cube attack creates a polynomial in GF(2) using a set of variables defined as a cube. A cube is the set of all cases with the given variables. The polynomial is associated with a cryptographic algorithm’s output treated as a black box, expressed with a quotient and a remainder. The goal is to find the coefficient of the quotient. Then, the secret data are recovered using the obtained coefficient of the quotient.
At Eurocrypt 2009, a cube attack against Trivium, a block cipher-based stream cipher suitable for wireless communication environments, was announced [6]. Trivium is a stream cipher using an 80-bit key and 1152 initializations [7]. Since then, it has been proven through several papers that a cube attack is possible for several cryptographic algorithms such as SIMON-64/96, Ascon, ACORN, MROUS, GILMI, and Keyak [8,9,10,11,12,13].
This paper proposes a cube attack on Sycon. Sycon is an AEAD cipher sponge construction with a 128-bit key. Sycon was submitted to the NIST Lightweight Cryptography Competition [14] and was selected among the ciphers for the first round of this project.
In this paper, Sycon using a rate of 96 was reduced to five rounds and six rounds. Based on the low algebraic degree of Sycon, we were able to construct a cube attack with a complexity of 2 192 for the 5-round Sycon permutation, described in Section 4. A total 2 48 operations and 2 37 bits of memory were required to recover the 32-bit state in the 5-round Sycon. In Section 6, we describe the use of similar algebraic properties to construct a cube attack to obtain a state recovery attack for the 6-round Sycon permutation. We recovered the same 32-bit state on the 6-round Sycon with 2 95 operations and 2 70 bits of memory. To the best of our knowledge, this paper describes the first cube attack on Sycon. The main contributions of this paper are summarized as follows:
  • The cube attack against Sycon shows the potential threat applicable to wireless communication. Sycon could be considered in wireless communication for confidentiality and integrity, since Sycon is a lightweight AEAD algorithm.
  • This is the first known state recovery attack against Sycon. The time complexity to recover the state of the 5-round and 6-round Sycon was 2 192 , faster than brute force. This paper shows the possibility of transmission data tampering or sniffing by an attacker.
This paper proceeds as follows. Section 3 introduces cube attacks and the Sycon cipher. Section 4 describes a cube attack on Sycon. The Results and Discussion section describes the complexity of the attacks. Conclusions are provided in Section 6 with a summary of the proposed attack and the results.

2. Related Work

A cube attack was proposed on Trivium with 672 initialization rounds with 2 19 bits operations, 735 initialization rounds with 2 30 bits operations, and 767 initialization rounds with 2 45 bits operations. Since then, an improved attack with an MILP model on Trivium with 675/735/840/841/842 initialization rounds was proposed in 2021, and an attack on Trivium with 843 initialization rounds was proposed in 2022 [15,16].
Ascon was selected as a finalist in the NIST Lightweight AEAD Cryptography Contest in 2017, and the strongest attack at that time was a cube attack, which had the time complexity of 2 97 under the nonce misuse condition in the 7-round Ascon initialization step [17]. However, for Ascon in 2022, an improved cube attack was also conducted under the condition of nonce misuse in the initialization phase [18]. The complexity of the key recovery for a full-round Ascon was 2 130 .
In [19], Dinur et al. presented a cube-like attack against Keccak hash function-based message authentication codes, authenticated encryption, and stream cipher. The key recovery attack was performed for up to seven rounds. Key recovery and forgery attacks were proposed for AE based on the Keccak hash function. In the case of the key recovery, the attacks were performed up to six rounds under the nonce respected condition, and the attacks were performed up to seven rounds under the nonce reused condition. A key recovery attack and keystream prediction attack were proposed for the Keccak hash function-based stream cipher, and it was shown that six rounds of key recovery and key stream prediction could perform attacks for up to nine rounds.
In [20], Salam et al. proposed a cube attack against the authenticated encryption stream cipher ACORN. This attack recovered a 128-bit key with a complexity of 2 35 in 477 initialization rounds in ACORN, a proposed candidate for NIST CAESAR (Competition for Authenticated Encryption: Security, Applicability, and Robustness). In addition, full-round ACORN showed that a state recovery attack could be performed with a complexity of 2 72.8 using a linear equation associated with the initial state. In [12], Yang et al. proposed a method of measuring the algebraic order and numerical mapping in NFSR-based ciphers and a method of finding a cube based on a greedy algorithm. It was shown that a key could be recovered with a complexity of 2 127.46 with cube variables using 123 variables for the 772 reduced-round ACORN.
In [21], Huang et al. introduced an efficient key recovery attack for the Keccak hash function-based MAC or Keccak hash function-based AE algorithm Keyak using a conditional cube attack. In [19], a MAC-based 7-round Keccak hash function was proposed. With 2 8 times more data, the time complexity could be decreased to 2 72 . An attack against Keyak was feasible with the time complexity of 2 74 and a data complexity of 2 74 for eight rounds.

3. Preliminaries

In this section, we briefly introduce the necessary background for this paper. Firstly, we provide the notations used in this paper. Then, we provide a brief description of Sycon and the concept of a cube attack.

3.1. Abbreviations and Notations

The abbreviations used in this paper are listed in Table 1.
The symbol notations used in this paper are listed in Table 2.

3.2. Sycon Authenticated Encryption with the Associated Data Algorithm Specification

Sycon is an authenticated encryption with an associated data (AEAD) cipher [22]. AEAD is an encryption algorithm with a built-in integrity process using a secret key [23]. AEAD usually performs better than using two separate cryptographic processes with two different secret keys. Sycon provides two authenticated encryption algorithms with associated data and one hash algorithm in a sponge structure. In this section, we specify the Sycon whose rate is 96.
Sycon consists of initialization, related data processing, encryption/decryption, and finalization. The initialization phase loads 128-bit keys, a 128-bit nonce, and a 64-bit initialization vector into the 320-bit state variable. Then, it conducts two permutation calls, truncating the key by 64 bits and XORing it. The relevant data processing is applied after the initialization phase, if the related data are not empty. Relevant data processing performs the permutation with the associated data (AD) and the current state as input. The relevant data processing will not perform if the relevant data are empty. In encryption/decryption, the encryption algorithm generates the ciphertext with the same length as the input plaintext. In this case, the size of the plaintext is a multiple of 96, and padding is performed if it is less than 96 bits. Then, we conduct the permutation to update the state. This process is repeated until all 96 bits of plaintext are processed. The finalization absorbs the key back into the state via a ratio of two permutation calls, and a 128-bit tag is output. A tag is a value that concatenates the contents of S2 and S3 among the state variables.
The state is XORed with a key or plaintext after permutation as shown in Figure 1. The LSB 224 bits of the state are XORed with a domain separator. The domain separator of Sycon is as follows: 0 224 for initialization, 100     0 221 for AD processing, 010     0 221 for massage, and 001     0 221 for tag generations. If the additional data are empty, 001     0 221 is replaced by 010     0 221 .
Sycon permutation is an iterative computation in a round function. In the round function, Sycon uses a 320-bit state. In the state, the first 64/96 bits are user message bits along the rate. The round function (R) of the Sycon permutation consists of a sequence of three distinct transformations: SBox (SB), SubBlockDiffusion (SD), and AddRoundConstant (RC), i.e., R = R C S D S B . The ρ -round permutation, denoted by Π ρ , is constructed as Π ρ = R R .
The first layer is a nonlinear computation. Sycon’s round function is SPN. Thus, for nonlinear computation, Sycon uses 64 S-boxes. The process of the S-boxes in the equation is as follows:
y 0 = x 0 x 1 x 3 x 2 x 3 x 3 x 4 x 4 y 1 = x 0 x 1 x 0 x 3 x 0 x 1 x 3 x 1 x 2 x 3 x 4 y 2 = x 0 x 2 x 1 x 2 x 4 x 2 x 3 y 3 = x 0 x 2 x 3 x 2 x 3 x 4 x 3 1 y 4 = x 0 x 4 x 0 x 1 x 3
The second layer is a diffusion layer that performs linear transformation on five 64-bit sub-blocks. The diffusion layer uses the following linear transformation:
S 0 ( S 0 ( S 0 59 ) ( S 0 54 ) ) 40 S 1 ( S 1 ( S 1 55 ) ( S 1 46 ) ) 32 S 2 ( S 2 ( S 2 33 ) ( S 2 02 ) ) 16 S 3 ( S 3 ( S 3 21 ) ( S 3 42 ) ) 56 S 4 ( S 4 ( S 4 13 ) ( S 4 26 ) )
The third layer is the add round constant layer. Round constants use a four-bit LFSR defined by the polynomial x 4 + x + 1 o v e r F 2 . The LFSR status is expressed as r c = ( r c i + 3 , r c i + 2 , r c i + 1 , r c i ) , where r c i + 4 = r c i r c i + 1 . Starting from the initial state r c = ( 0 , 1 , 0 , 1 ) , we generate a ρ = 12 round constant, where each state of the LFSR is given as a unique constant. The four-bit LFSR with status ( r c 3 , r c 2 , r c 1 , r c 0 ) is converted to a byte equal to ( 0 , 0 , 0 , 0 , r c i + 3 , r c i + 2 , r c i + 1 , r c i ) . The round constants are given in Table 3.

3.3. Cube Attack

Let the cryptography algorithms be expressed with a polynomial f. The input of the cryptographic algorithm (e.g., plaintext, initial vector, nonce, associated authentication data) will be f’s input parameter, and the output of the cryptography algorithm (e.g., ciphertext, tag) will be the value of f’s computed result. If the block cipher has input as plaintext P, initial vector I V , and key K, and the output is ciphertext C, we can express the block cipher f ( P , I V , K ) = c with P = p 0 p 1 p 2 p 3 p n , I V = i v 0 i v 1 i v 2 i v 3 i v n , K = k 0 k 1 k 2 k 3 k m , and C = c 0 c 1 c 2 c 3 c n , where p i , k i , and c i is a bit representation, respectively.
  • Degree The dense polynomial f of degree d has i = 0 d 2 n + m i possible polynomials over GF(2). To eliminate the nonlinear terms on the polynomials, the attack needs to eliminate i = 2 d 2 n + m i . Thus, when the degree becomes higher, it is hard to eliminate the nonlinear terms.
  • Cube Variables To eliminate the nonlinear terms from the polynomial f, an attacker needs to divide the polynomials f by the other polynomial t, whose degree is d 1 . If f ( P , I V , K ) divided by t = p 0 p 1 p n 1 , then f can be expressed as f ( P , I V , K ) = t Q ( p n , I V , K ) + R ( P , I V , K ) . In this term, t is n 1 bit cube variables.
  • Superpolys We assume that dense polynomial f divided by t = p 0 p 1 p n 1 , f ( P , I V , K ) = t Q ( p n , I V , K ) + R ( P , I V , K ) , as above. In this term, Q ( p n , I V , K ) is a superpoly with degree 1. In order to obtain a superpoly, the attacker can compute t C t f ( P , I V , K ) = Q ( p n , I V , K ) .
In a cube attack, finding cube variables is important, because when the degree of the polynomial becomes higher, an attacker needs more polynomials to use Gaussian elimination. When the cube variables are larger, the attacker breaks more rounds. Moreover, f can be divided by m 1 variables, and the quotient will be a degree 1 polynomial. A cube attack should first formulate the polynomial f. If f is not a dense polynomial, superpoly Q’s degree will be changed along the chosen cube variables. For example, when we define cube variables as t = p 0 p 1 p n 1 , and if A is bits that multiplied with l , l < = n bits, then f could be f ( P , I V , K ) = t Q ( p n , A ) + R ( P , I V , K ) . That is, the polynomial Q degree is l m . Thus, in order to obtain Q, the attacker needs to use fewer cube variables l m 1 .
To make m independent polynomials, the attacker needs to analyze where there are no multiplication values between the target bits and the input bits that the attacker can control. The attacker will select the control bits that do not have multiplication with the target bits. The attacker can know whether multiplication will be computed by analyzing the cryptographic algorithms’ process. A typical example that has a multiplication step in a cryptography algorithm is an S-box. After the attacker finds the proper cube variables from the polynomials, a cube attack can decide the round that an attacker can use. Then, the cube attack is presented as follows:
  • Offline Phase The attacker computes and stores the Q ( p n , I V , K ) . The targeted data bits can be expressed as linear polynomials Q ( p n , A ) . The attacker computes a linear polynomial from the Q values. The attacker assigns 0 except for the cube variables. Then, the attacker sets bit by bit on x. From the data, the attacker computes each coefficient of x.
  • Online Phase Considering the oracle as given, the attacker derives the cube sum of the oracle query results Q ( p n , A ) . From the polynomials saved in the offline phase, the attacker recovers target bits A. If A has l m 1 variables, the attacker needs an l m 1 cube sum result. The attacker computes the Gaussian elimination to obtain the recovered target bits.
  • Brute Force Phase If the cube variables are not enough to obtain all rounds or all target bits, the attacker performs a brute force attack on the remaining bits. For example, if the recovered bits are l bits and the targeted bits are m bits, the attacker performs a 2 m l exhaustive search.

4. State Recovery Attack on a Reduced-Round Sycon

In this section, we focus on state recovery attacks. First, we analyze the round-reduced Sycon. Then, in the later part of the section, the cube attacks on five-round Sycon and six-round Sycon are described.

4.1. Idea and Scenario

We propose an attack idea and scenario to recover the secret state of Sycon. Sycon has a 320-bit state variable, as described in Section 3. In this paper, the state variable S is expressed as a truncated form to 32-bit units as follows:
S = S 0 0 S 0 1 S 1 0 S 1 1 S 2 0 S 2 1 S 3 0 S 3 1 S 4 0 S 4 1
The polynomial of the output from the S-box has degree 2. After five rounds of the permutation are performed, the result S has a polynomial of degree 2 4 . Therefore, we require 2 4 1 variables in the cube for an attack against the 5-round Sycon. In the same way, after six rounds, the degree of S is 2 5 . Thus, we need 2 5 1 variables in the cube. We choose bits from the state variable that we have control over. We select S 0 0 , S 0 1 , and S 1 0 as the cube variables. The cube attack is feasible if the variables are uniquely multiplied by S 0 0 , S 0 1 , and S 1 0 . The variable with this characteristic in the S-box is S 3 0 . S 1 0 is only multiplied by S 0 0 and S 3 0 . Choosing S 1 0 as the cube variable allows us to recover S 3 0 . With the cube variables, we obtain the linear equations as follows:
L i ( S ) = a i 0 S 1 0 0 + a i 1 S 1 0 1 + a i 2 S 1 0 2 + + a i 31 S 1 0 31 + c i , i = 0 , 1 , 2 , , 31
To construct L i , we obtain the result of the permutation by M C , and we choose the message bits that construct the cube variables. Figure 2 shows the attack scenario.

4.2. Attack on the Five-Round Sycon

4.2.1. Offline Phase

Sycon encrypts plaintext by truncating it in units of 96 bits. We chose 96 bits of plaintext. The state variable S was concatenated as S 0 0 , S 0 1 , S 1 0 , S 1 1 , S 2 0 , S 2 1 , S 3 0 , and S 3 1 , where each size was 32 bits.
S = S 0 0 S 0 1 S 1 0 S 1 1 S 2 0 S 2 1 S 3 0 S 3 1 S 4 0 S 4 1
P 0 , P 1 , and P 2 were the plaintext values chosen. Ciphertext C 0 , C 1 , and C 2 were computed by performing XOR of the current state variables MSB 96 bits S 0 0 , S 0 1 , and S 1 0 and the plaintext P 0 , P 1 , and P 2 .
C 0 = S 0 0 P 0 C 1 = S 0 1 P 1 C 2 = S 1 0 P 2
Since the ciphertext and the plaintext were known, we computed the XORing of the ciphertext and the plaintext to obtain S 0 0 , S 0 1 , S 1 0 .
S 0 0 = C 0 P 0 S 0 1 = C 1 P 1 S 1 0 = C 2 P 2
We set the cube variables in S 0 1 . Since the degree of the S-box was 2, the result after five rounds had a polynomial of degree 16. The attacker chose a 15-bit cube in the 5-round Sycon state variable to obtain a polynomial of degree 1 and the rest of the values as constants. We recovered 16 bits of MSB and 16 bits of LSB of S 3 0 , respectively. Therefore, two cube variables were required, and each cube variable set had 2 15 elements. The cube variable could be C S 1 0 : = {0x0, 0x1, , 0xffff} and C S 1 0 : = {0x00000, 0x10000, , 0xffff0000}. We assigned all the other variables to 0 except for the cube variable S 0 1 and used S 0 0 in the attack. S 1 0 was used in the attack as it was multiplied only by S 0 0 and S 3 0 , as described in Section 4.1.
Since S 3 0 depends only on S 0 0 , after five rounds, the polynomial could be expressed as a polynomial for the quotient of S 0 0 and S 3 0 .
S = S 3 0 Q ( S 0 0 , S 3 1 ) + R ( S 0 , S 1 , S 2 , S 3 , S 4 ) Q ( S ) = S 1 0 C S 1 0 f ( S ) = a 0 S 1 0 + a 1 S 1 1 + a 31 S 1 31 + c w h e r e a i { 0 , 1 }
We used the process shown in Table 4 to find the variable coefficients of a polynomial for Q ( S ) . As a result, we obtained the following values. The results obtained were stored in the memory and used in the online phase.
( v 1 , , v 15 ) C S 1 0 f ( S 0 0 , S 0 1 , S 1 0 , S 1 1 , S 2 0 , S 2 1 , S 3 0 , S 3 1 , S 4 0 , S 4 1 ) = Q ( S 0 0 , S 3 0 ) , w i t h S 0 0 = 0 x 00000000 , 0 x 00000001 , 0 x 00000002 , , 0 x 0000 ffff , S 3 0 = 0 x 00000000 , 0 x 00000001 , 0 x 00000002 , , 0 x 0000 ffff
( v 16 , , v 31 ) C S 1 0 f ( S 0 0 , S 0 1 , S 1 0 , S 1 1 , S 2 0 , S 2 1 , S 3 0 , S 3 1 , S 4 0 , S 4 1 ) = Q ( S 0 0 , S 3 0 ) , w i t h S 0 0 = 0 x 00000000 , 0 x 00010000 , 0 x 00020000 , , 0 x ffff 0000 , S 3 0 = 0 x 00000000 , 0 x 00010000 , 0 x 00020000 , , 0 x ffff 0000

4.2.2. Online Phase

In the online phase, we implemented an oracle. The oracle allowed the choice of arbitrary plaintext S 0 1 and S 1 0 , and the cube variables C S 0 0 were defined internally as a fixed set. The oracle computed Q ( S 0 0 , S 3 0 ) for the plaintext chosen. We computed two times for the MSB 32 bits and LSB 32 bits of S 3 0 . The oracle calculated the superpolys as follows:
( v 1 , , v 15 ) C S 1 0 f ( S 0 0 , S 0 1 , S 1 0 , S 1 1 , S 2 0 , S 2 1 , S 3 0 , S 3 1 , S 4 0 , S 4 1 ) = Q ( S 0 0 , S 3 0 ) , w i t h S 0 0 = 0 x 00000000 , 0 x 00000001 , 0 x 00000002 , , 0 x 0000 ffff
( v 1 6 , , v 31 ) C S 1 0 f ( S 0 0 , S 0 1 , S 1 0 , S 1 1 , S 2 0 , S 2 1 , S 3 0 , S 3 1 , S 4 0 , S 4 1 ) = Q ( S 0 0 , S 3 0 ) , w i t h S 0 0 = 0 x 00000000 , 0 x 00010000 , 0 x 00020000 , , 0 x ffff 0000 .
We explored the superpoly Q ( S 0 0 , S 3 0 ) obtained by querying the oracle in the memory space stored during the offline phase. If the same value as Q ( S 0 0 , S 3 0 ) was in the memory, we determined S 3 0 , because the memory stored Q ( S 0 0 , S 3 0 ) for every S 3 0 . The Q ( S 0 0 , S 3 0 ) that we explored in the memory was as follows:
Q ( 0 x 00000000 , S 3 0 ) , Q ( 0 x 00000001 , S 3 0 ) , Q ( 0 x 00000002 , S 3 0 ) , , Q ( 0 x 0000 ffff , S 3 0 )
Q ( 0 x 00000000 , S 3 0 ) , Q ( 0 x 00010000 , S 3 0 ) , Q ( 0 x 00020000 , S 3 0 ) , , Q ( 0 x ffff 0000 , s 3 0 )

4.2.3. Brute Force Phase

We recovered the remaining 192 bits of state by brute force. There was no memory required, but we needed 2 192 computations.

4.3. Attack on the Six-Round Sycon

4.3.1. Offline Phase

We chose the 32-bit S 0 1 . With the chosen plaintext, we assigned the LSB 31 bits of S 1 0 as the cube variable C S 1 0 : = { 0 32 , , 0xffffffff}. The cube variable 2 32 of S 0 1 , S 2 0 , S 2 1 , S 3 1 , S 4 0 , and S 4 1 was fixed as 0 32 , because S 1 0 was only multiplied with S 0 0 and S 3 0 . We used the process shown in Table 5 to find the variable coefficients of a polynomial for Q(S). S 3 0 could be rephrased as S y c o n ( S ) = S 3 0 Q ( S 0 0 , S 3 1 ) + R ( S 0 , S 1 , S 2 , S 3 , S 4 ) . S 3 0 Q ( S ) was S 1 0 C S 1 0 S y c o n ( S ) . For each j { 0 , 1 } 64 , we computed the following:
( v 1 , , v 31 ) C S 1 0 f ( S 0 0 , S 0 1 , S 1 0 , S 1 1 , S 2 0 , S 2 1 , S 3 0 , S 3 1 , S 4 0 , S 4 1 ) = Q ( S 0 0 , S 3 0 ) , S 0 0 = 0 x 00000000 , 0 x 00000001 , 0 x 00000002 , , 0 x ffffffff , S 3 0 = 0 x 00000000 , 0 x 00000001 , 0 x 00000002 , , 0 x ffffffff .

4.3.2. Online Phase

We implemented an oracle, where the cube variables C S 0 0 were defined internally as a fixed set. The oracle computed Q ( S 0 0 , S 3 0 ) for the plaintext chosen. The results calculated by the oracle were as follows for the online cube-sum:
( v 1 , , v 31 ) C S 1 0 f ( S 0 0 , S 0 1 , S 1 0 , S 1 1 , S 2 0 , S 2 1 , S 3 0 , S 3 1 , S 4 0 , S 4 1 ) = Q ( S 0 0 , S 3 0 ) , S 0 0 = 0 x 00000000 , 0 x 00000001 , 0 x 00000002 , , 0 x ffffffff .
We explored the value Q ( S 0 0 , S 3 0 ) obtained through the oracle in the memory space stored during the offline phase. If the same value as Q ( S 0 0 , S 3 0 ) was in the memory, we determined S 3 0 , because the memory stored Q ( S 0 0 , S 3 0 ) for every S 3 0 . The Q ( S 0 0 , S 3 0 ) that we explored in the memory was as follows:
Q ( 0 x 00000000 , S 3 0 ) , Q ( 0 x 00000001 , S 3 0 ) , Q ( 0 x 00000002 , S 3 0 ) , , Q ( 0 xffffffff , S 3 0 )

4.3.3. Brute Force Phase

We recovered the remaining 192-bit state bits by brute force.

5. Results and Discussion

First, we analyze the complexity in the offline phase. Computing the equations for just one case in the memory required 2 15 5-round Sycon and 16 bits of memory. We performed the same process 2 32 times repeatedly for each S 3 0 and S 0 0 . Therefore, in the offline phase, we required 2 48 Sycon computations and 2 37 bits of memory. In the online phase, we required 2 32 computations to recover the target bits. The remaining 192 bits of state were recovered by brute force, so we required 2 192 . In total, the attack needed a computational complexity of 2 48 + 2 32 + 2 192 2 192 .
To recover the six-round Sycon permutation state, we needed an offline phase, an online phase, and a brute-force phase. In the offline phase, we precalculated the cube sum, and it needed a computation complexity of 2 31 and 64 bits of memory. We performed this process 2 64 times repeatedly for all cases in S 3 0 and S 0 0 . In total, in the offline phase, 2 95 6-round Sycon computations and 2 70 bits of memory were required. In the online phase, we only needed to perform 2 64 of six-round Sycon permutations. The remaining 192 bits of state were recovered by brute force. In the brute-force phase, there was no memory required, but we needed 2 192 computations. Thus, in total, the attack required a computational complexity of 2 95 + 2 70 + 2 192 2 192 (Table 6).
The AEAD cipher encrypts the data to be transmitted and creates a tag for data integrity [24]. In order to give functions, Sycon has the following four phases: Initialization, associated data processing, encryption/decryption, and finalization. Each step should be analyzed in different ways [25]. In the future, we can extend the cube attack to the initialization or finalization phase of Sycon to recover the secret key.

6. Conclusions

In this paper, we proposed a state recovery attack against five-round and six-round Sycon. Sycon keeps 224 bits in secret and 96 bits as plaintext/ciphertext. With no information, we needed 2 224 computations. From the attack we proposed, 32 bits of the state S 3 1 could be recovered against the 5-round Sycon, with a time complexity of 2 192 . We also proposed an attack against the six-round Sycon. The attack recovered the same 32 bits with the time complexity of 2 95 and 2 70 of memory in the offline phase. The time complexity was 2 192 . This was faster than brute force over the 2 224 possible states by a factor of about 2 32 .

Author Contributions

Methodology, M.C.; Writing—original draft, M.C.; Formal analysis, H.E. and E.T.; Writing—review and editing, H.E. and E.T.; Supervision, C.L.; All authors read and agreed to the published version of the manuscript.

Funding

This work was supported as part of the Military Crypto Research Center (UD210027XD) funded by the Defense Acquisition Program Administration (DAPA) and the Agency for Defense Development (ADD).

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Abdalzaher, M.S.; Samy, L.; Muta, O. Non-zero-sum game-based trust model to enhance wireless sensor networks security for IoT applications. IET Wirel. Sens. Syst. 2019, 9, 218–226. [Google Scholar] [CrossRef]
  2. Abdalzaher, M.S.; Muta, O. A game-theoretic approach for enhancing security and data trustworthiness in IoT applications. IEEE Internet Things J. 2020, 7, 11250–11261. [Google Scholar] [CrossRef]
  3. Abdalzaher, M.S.; Seddik, K.; Muta, O. Using repeated game for maximizing high priority data trustworthiness in wireless sensor networks. In Proceedings of the 2017 IEEE Symposium on Computers and Communications (ISCC), Heraklion, Greece, 3–6 July 2017; pp. 552–557. [Google Scholar]
  4. Phuc, T.S.D.; Xiong, N.N.; Lee, C. Cryptanalysis of the XO-64 Suitable for Wireless Systems. Wirel. Pers. Commun. 2017, 93, 589–600. [Google Scholar] [CrossRef]
  5. Phuc, T.S.D.; Lee, C. Cryptanalysis on SDDO-Based BM123-64 Designs Suitable for Various IoT Application Targets. Symmetry 2018, 10, 353. [Google Scholar] [CrossRef] [Green Version]
  6. Dinur, I.; Shamir, A. Cube attacks on tweakable black box polynomials. In Proceedings of the Annual International Conference on the Theory and Applications of Cryptographic Techniques, Cologne, Germany, 26–30 April 2009; pp. 278–299. [Google Scholar]
  7. De Cannière, C.T.; Preneel, B. A stream cipher construction inspired by block cipher design principles. In Information Security; Katsikas, S.K., López, J., Backes, M., Gritzalis, S., Preneel, B., Eds.; Springer: Berlin/Heidelberg, Germany; pp. 171–186.
  8. Mroczkowski, P.; Szmidt, J. The cube attack on stream cipher Trivium and quadraticity tests. Fundam. Informaticae 2012, 114, 309–318. [Google Scholar] [CrossRef] [Green Version]
  9. Li, Z.; Dong, X.; Wang, X. Conditional Cube Attack on Round-Reduced ASCON. Cryptology ePrint Archive 2017. Available online: https://eprint.iacr.org/2017/160.pdf (accessed on 24 July 2022).
  10. Bi, W.; Li, Z.; Dong, X.; Li, L.; Wang, X. Conditional cube attack on round-reduced River Keyak. Des. Codes Cryptogr. 2018, 86, 1295–1310. [Google Scholar]
  11. Chen, S.; Xiang, Z.; Zeng, X.; Zhang, S. Cube attacks on round-reduced MORUS and GIMLI. Sci. China Inf. Sci. 2022, 65, 1–3. [Google Scholar] [CrossRef]
  12. Yang, J.; Liu, M.; Lin, D. Cube cryptanalysis of round-reduced ACORN. In Proceedings of the International Conference on Information Security, New York, NY, USA, 16–18 September 2019; pp. 44–64. [Google Scholar]
  13. He, Y.; Wang, G.; Li, W.; Ren, Y. Improved cube attacks on some authenticated encryption ciphers and stream ciphers in the Internet of Things. IEEE Access 2020, 8, 20920–20930. [Google Scholar] [CrossRef]
  14. Lightweight Cryptography Round 1. Available online: https://csrc.nist.gov/Projects/lightweight-cryptography/round-1-candidates (accessed on 22 August 2022).
  15. Sun, Y. Cube Attack against 843-Round Trivium. Cryptology ePrint Archive 2021. Available online: https://eprint.iacr.org/2021/547 (accessed on 24 July 2022).
  16. Delaune, S.; Derbez, P.; Gontier, A.; Prud’Homme, C. A Simpler Model for Recovering Superpoly on Trivium. In Proceedings of the International Conference on Selected Areas in Cryptography; Springer: Cham, Switzerland, 2022; pp. 266–285. [Google Scholar]
  17. Dobraunig, C.; Eichlseder, M.; Mendel, F.; Schläffer, M. Ascon v1. 2: Lightweight authenticated encryption and hashing. J. Cryptol. 2021, 34, 1–42. [Google Scholar] [CrossRef]
  18. Chang, D.; Hong, D.; Kang, J. Conditional Cube Attacks on Ascon-128 and Ascon-80pq in a Nonce-Misuse Setting. Cryptology ePrint Archive 2022. Available online: https://eprint.iacr.org/2022/544 (accessed on 24 July 2022).
  19. Dinur, I.; Morawiecki, P.; Pieprzyk, J.; Srebrny, M.; Straus, M. Cube attacks and cube-attack-like cryptanalysis on the round-reduced Keccak sponge function. In Proceedings of the Annual International Conference on the Theory and Applications of Cryptographic Techniques, Sofia, Bulgaria, 26–30 April 2015; pp. 733–761. [Google Scholar]
  20. Salam, M.I.; Bartlett, H.; Dawson, E.; Pieprzyk, J.; Simpson, L.; Wong, K.K.H. Investigating cube attacks on the authenticated encryption stream cipher ACORN. In Proceedings of the International Conference on Applications and Techniques in Information Security, Cairns, QLD, Australia, 26–28 October 2016; pp. 15–26. [Google Scholar]
  21. Huang, S.; Wang, X.; Xu, G.; Wang, M.; Zhao, J. Conditional cube attack on reduced-round Keccak sponge function. In Proceedings of the Annual International Conference on the Theory and Applications of Cryptographic Techniques, Paris, France, 30 April–4 May 2017; pp. 259–288. [Google Scholar]
  22. Mandal, K.; Saha, D.; Sarkar, S.; Todo, Y. Sycon: A new milestone in designing ASCON-like permutations. J. Cryptogr. Eng. 2022, 12, 305–327. [Google Scholar] [CrossRef]
  23. Frankel, S.E.; Kent, K.; Lewkowski, R.; Orebaugh, A.D.; Ritchey, R.W.; Sharma, S.R. SP 800-77. Guide to IPsec VPNs. 2005. Available online: https://csrc.nist.rip/library/alt-SP800-77.pdf (accessed on 24 July 2022).
  24. Seok, B.; Sicato, J.C.S.; Erzhena, T.; Xuan, C.; Pan, Y.; Park, J.H. Secure D2D communication for 5G IoT network based on lightweight cryptography. Appl. Sci. 2019, 10, 217. [Google Scholar] [CrossRef]
  25. Teng, W.L.; Salam, I.; Yau, W.C.; Pieprzyk, J.; Phan, R.C.W. Cube attacks on round-reduced TinyJAMBU. Sci. Rep. 2022, 12, 1–13. [Google Scholar]
Figure 1. Sycon -AEAD-96 (when the length of the associated data is 0).
Figure 1. Sycon -AEAD-96 (when the length of the associated data is 0).
Electronics 11 03605 g001
Figure 2. State recovery attack scenario on the reduced-round Sycon.
Figure 2. State recovery attack scenario on the reduced-round Sycon.
Electronics 11 03605 g002
Table 1. Abbreviations.
Table 1. Abbreviations.
AbbreviationFull Word
AEADAuthenticated Encryption with Associated Data
LSBLeast Significant Bit
MSBMost Significant Bit
LFSRLinear Feedback Shift Register
S B S-box layer
S D Subblock Diffusion
R C Add Round Constant Layer
Table 2. Notations.
Table 2. Notations.
SymbolMeaning
xyBitwise XOR of x and y
( x n ) center circular shift by n-bits
r c i Round constant at round i
Π ρ An iterated permutation with ρ rounds over ( 0 , 1 ) 320
X||YConcatenate data X and Y
S i 0 Most Significant 32 bit of s i
S i 1 Least Significant 32 bit of s i
s i The i-th bit of s
0 n n bit sequences of 0
X ∘ YY(X(data)) where the data are input, and X and Y are functions.
QQuotient of a polynomial
RRemainder of a polynomial
Table 3. The round constants r c i .
Table 3. The round constants r c i .
RoundConstantsRoundConstants
00xaaaaaaaaaaaaaa1540xaaaaaaaaaaaaaa17
10xaaaaaaaaaaaaaa1a50xaaaaaaaaaaaaaa1b
20xaaaaaaaaaaaaaa1d60xaaaaaaaaaaaaaa0d
30xaaaaaaaaaaaaaa0e70xaaaaaaaaaaaaaa06
Table 4. Attack on the five-round Sycon: Offline phase process.
Table 4. Attack on the five-round Sycon: Offline phase process.
Offline Pseudo Code
Input: State S = S 0 0 S 0 1 S 1 0 S 1 1 S 2 0 S 2 1 S 3 0 S 3 1 S 4 0 S 4 1 , Cube Set C S 1 0
Output: CubeSum C S [ 2 16 ] = { 0 510 , 0 510 , , 0 510 }
Algorithm:
       S : = 0 320
      For i in 0 to 0x0000ffff:
             C S [ i ] : = 0 510
             S 3 0 : = i
            For j in 0 to 0x0000fffe:
                   S 0 0 : = j
                  For cube value in C S 1 0 :
                         S = S y c o n ( S )
                         C S t m p : = C S [ i ] S 1 0
                         S : = 0 320
                   C S [ i ] : = C S [ i ] C S t m p
      For i in 0 to 0xffff0000:
             C S [ i ] : = 0 510
             S 3 0 : = i
            For j in 0 to 0xfffe0000:
                   S 0 0 : = j
                  For cube value in C S 1 0 :
                         S = S y c o n ( S )
                         C S t m p : = C S [ i ] S 1 0
                         S : = 0 320
                   C S [ i ] : = C S [ i ] C S t m p
      return C S
Table 5. Attack on the six-round Sycon: Offline phase process.
Table 5. Attack on the six-round Sycon: Offline phase process.
Offline Pseudo Code
Input: State S = S 0 0 S 0 1 S 1 0 S 1 1 S 2 0 s 2 1 S 3 0 S 3 1 S 4 0 S 4 1 , Cube Set C S 1 0
Output: CubeSum C S [ 2 32 ] = { 0 510 , 0 510 , , 0 510 }
Algorithm:
       S : = 0 320
      For i in 0 to 0xffffffff:
             C S [ i ] : = 0 1020
             S 3 0 : = i
            For j in 0 to 0xfffffffe:
                   S 0 0 : = j
                  For cube value in C S 1 0 :
                         S = S y c o n ( S )
                         C S t m p : = C S [ i ] S 1 0
                         S : = 0 320
                   C S [ i ] : = C S [ i ] C S t m p
      return C S
Table 6. Complexity of the 224-bit secret state recovery attack.
Table 6. Complexity of the 224-bit secret state recovery attack.
RoundMemoryComputation
This PaperBrute Force *This PaperBrute Force *
OfflineOnlineBrute ForceOfflineOnlineBrute Force
5 2 37 --- 2 48 2 32 2 192 2 224
6 2 70 --- 2 95 2 63 2 192 2 224
* This was the first state recovery attack against Sycon. So the attack complexity based on brute force is the best result up to now.
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Cho, M.; Eom, H.; Tcydenova, E.; Lee, C. A Cube Attack on a Reduced-Round Sycon. Electronics 2022, 11, 3605. https://doi.org/10.3390/electronics11213605

AMA Style

Cho M, Eom H, Tcydenova E, Lee C. A Cube Attack on a Reduced-Round Sycon. Electronics. 2022; 11(21):3605. https://doi.org/10.3390/electronics11213605

Chicago/Turabian Style

Cho, Minjeong, Hyejin Eom, Erzhena Tcydenova, and Changhoon Lee. 2022. "A Cube Attack on a Reduced-Round Sycon" Electronics 11, no. 21: 3605. https://doi.org/10.3390/electronics11213605

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