Next Article in Journal
Enhanced Membrane Computing Algorithm for SAT Problems Based on the Splitting Rule
Next Article in Special Issue
Randomness Analysis for the Generalized Self-Shrinking Sequences
Previous Article in Journal
Modified Power-Symmetric Distribution
Previous Article in Special Issue
Ideals of Numerical Semigroups and Error-Correcting Codes
Open AccessArticle

Algebraic Properties of the Block Cipher DESL

1
Institute for Mathematics and Computer Science, Boca Raton, FL 33428, USA
2
Department of Mathematical Sciences, Florida Atlantic University, Boca Raton, FL 33431, USA
3
Department of Mathematical Sciences, Universidad de León, 24071 León, Spain
*
Author to whom correspondence should be addressed.
These authors contributed equally to this work.
Symmetry 2019, 11(11), 1411; https://doi.org/10.3390/sym11111411
Received: 14 October 2019 / Revised: 4 November 2019 / Accepted: 12 November 2019 / Published: 15 November 2019
(This article belongs to the Special Issue Interactions between Group Theory, Symmetry and Cryptology)

Abstract

The Data Encryption Standard Lightweight extension (DESL) is a lightweight block cipher which is very similar to DES, but unlike DES uses only a single S-box. This work demonstrates that this block cipher satisfies comparable algebraic properties to DES—namely, the round functions of DESL generate the alternating group and both ciphers resist multiple right-hand sides attacks.
Keywords: lightweight cryptography; permutation group; block cipher lightweight cryptography; permutation group; block cipher

1. Introduction

Lightweight cryptography provides solutions tailored for devices with energy or computational constraints, which are increasingly present with the rapid increase of sensors and IoT devices. These requirements should not be met at the cost of losing security properties. Therefore, lightweight ciphers should ensure they offer similar security guarantees to their counterparts.
One of the protocols designed following these principles is DESL, a lightweight cipher very similar to the Data Encryption Standard (DES) [1], proposed by Leander et al. [2]. The proposed cipher introduces one radical change: all substitution boxes in the DES are replaced with a single new S-box. As detailed by Leander et al., this DES Lightweight extension (DESL) has very attractive features in terms of implementability on low-cost platforms. The obvious cryptanalytic question is whether these features might have been paid for with a loss of security. In other words, is the security of DESL comparable to that of the original DES? Leander et al.’s original paper [2] shows that DESL offers resistance against several common attack techniques, including certain types of linear and differential cryptanalyses. Finding structural weaknesses in DESL’s design remains a challenge, so despite its short key length, DESL continues to attract interest and keeps getting cited [3,4,5]. Just a few days before submitting this manuscript, Ji et al. used DESL as a testing ground for proposed improvements of Matsui’s algorithm [6]. In this contribution, we compare two algebraic properties of DESL with those of DES.
First we show that the round functions of DESL generate the same permutation group as the round functions of DES, namely the alternating group on 2 64 points. Our proof strategy is the same as taken by Wernsdorf for DES [7], the core part being to establish 3-transitivity for the group in question. It is not surprising that the replacement of DES’s S-boxes in DESL necessitates modifications of Wernsdorf’s proof, and one might be tempted to hope that facing only one S-box (instead of several as in DES) simplifies the analysis—this did not seem to be the case for the S-box in question.
In the second part of the paper, we compare the resistance of full and reduced round versions of DES and DESL against an algebraic attack technique known as multiple right-hand sides (MRHS) [8]. This type of attack seems particularly interesting for Feistel ciphers like DES and DESL MRHS equations allow a fairly compact encoding of non-linear equations for the secret key, obtained from a known plaintext–ciphertext pair. The operations for solving such equations are in principle suitable for being accelerated through hardware [9], but establishing run-time estimates for such an attack against genuine ciphers is (perhaps unsurprisingly) challenging. While being devised as a tool for cryptanalysis, Raddum and Zajac recently demonstrated that a cipher representation derived from MRHS equations may yield a faster encryption than a reference implementation of a cipher [10]. In [11], Zajac leveraged MRHS equations as a tool to study the connection between the cost of algebraic attacks and the multiplicative complexity of lightweight ciphers. Here we consider the original cryptanalytic application of MRHS equations. The experimental results we found indicate that DESL offers resistance to this type of algebraic attack that is comparable to DES. As an aside, our results falsify a conjecture by Schoonen [12] (Hypothesis 5.1).
To keep our presentation reasonably self-contained, the next section presents the relevant details on the block cipher in question as well as the main ideas underlying an MRHS-based algebraic attack.

2. Preliminaries

With the exception of two modifications, DESL is identical to the Data Encryption Standard; in particular, plaintexts and ciphertexts are elements of { 0 , 1 } 64 and the key can be taken for an element of { 0 , 1 } 56 . The first difference between DES and DESL is not relevant for the group-theoretic property and the algebraic attack we explore: unlike for DES, there is no initial permutation and no final permutation of the data processed in the cipher. The implications of the second modification is less obvious: DESL replaces all eight S-boxes in DES with a single new S-box.

2.1. Description of DESL

Figure 1 illustrates the basic data flow in DESL, and we refer to the DES specification [1] and Leander et al.’s paper [2] for a detailed specification. For our purposes it is enough to be aware of the following:
  • There are 16 rounds, each round i implementing a permutation π i S 2 64 which depends on a round key K i { 0 , 1 } 48 . The latter is derived from the secret key K { 0 , 1 } 56 through a suitable key schedule.
  • Each of the 16 rounds involves a round-key-dependent function F K i ( R i ) = P S E  where
    E : { 0 , 1 } 32 { 0 , 1 } 48 is an injective map specified in [1].
    : { 0 , 1 } 48 { 0 , 1 } 48 , x x K i adds (xor) the round key K i to the input.
    S : { 0 , 1 } 48 { 0 , 1 } 32 splits the input ( a 1 , , a 48 ) { 0 , 1 } 48 into 6-bit blocks and for each j = 1 , , 8 substitutes ( a 6 j 5 , , a 6 j ) { 0 , 1 } 6 with the corresponding 4-bit value obtained from Table 1.
    P S 2 32 is a permutation on 32-bit strings as specified in [1].
  • In each round, the 64-bit input is split into a left half L i { 0 , 1 } 32 and a right half R i { 0 , 1 } 32 . Then the value L i : = F K i ( R i ) L i is computed, where ⊕ is addition in { 0 , 1 } 48 . The output of round i for i { 1 , , 15 } is ( R i , L i ) . In the last round there is no swap, that is, the value ( L 16 , R 16 ) is output.
For the group-theoretic part of our discussion of DESL, we make use of an observation about DES by Davio et al. [13] which has also been exploited in [7]. Namely, we rewrite DESL as shown in Figure 2, that is, by applying P 1 respectively P before the first round and after the last round, we combine E and P into a single function E P such that P no longer has to be applied after the application of the S-box. The composition of and E and P is given in Table 2.

2.2. Multiple Right-Hand Sides (MRHS)

DESL, DES, and many other block ciphers can be modeled as series of polynomial equations over the binary field F 2 , therewith suggesting algebraic attacks as a possible attack vector. MRHS offers an alternative to algebraic attacks using SAT solvers or Gröbner bases. Instead of working with ordinary polynomials, equations are represented in a different way, which for several block ciphers, including DESL and DES, can be derived conveniently. For a detailed discussion of MRHS, we refer to Raddum and Semaev’s work [8]. Here we restrict ourselves to an informal review of those aspects needed for our application. In particular, we do not discuss specifics of the implementation of the algorithm and refer to [8] (Section 6) for more details (cf. also [12,14]).

2.2.1. Basic Terminology

For a column vector x = ( x 1 x 2 x y ) T F 2 y , a k × y binary matrix A of rank k, and column vectors b 1 , b 2 , , b s F k consider the following type of equation:
A x = b 1 , b 2 , , b s .
We refer to such an equation as an MRHS system of linear equations with right hand sides b 1 , b 2 , , b s . By a solution to (1) we mean a vector in F 2 y satisfying at least one particular linear system of equations A x = b i . The set of all solutions to (1) is obtained by forming the union of the solutions to the individual systems A x = b i ( 1 i s ). To work with MRHS systems of linear equations, we juxtapose the above column vectors b i to form a matrix L and rewrite Equation (1) as A x = [ L ] . The pair ( A , L ) is called a symbol, and when writing equations, the brackets around L emphasize that we are not working with an ordinary equation of matrices.
For example, the following is an MRHS system of linear equations:
1 1 0 0 0 1 0 1 0 0 1 0 0 1 0 x 1 x 2 x 3 x 4 x 5 = 1 0 0 1 0 1 0 0 0 0 1 1
and algebraically, it corresponds to the nonlinear equation
x 1 x 4 + x 1 x 2 + x 2 x 4 + x 2 + x 3 + x 4 + 1 = 0 .
Given a system of symbols
S 1 : A 1 x = [ L 1 ] S n : A n x = [ L n ] ,
a solution to such a system is defined in the obvious way: it is a vector x F 2 y satisfying all of the underlying n MRHS systems of linear equations, and the goal of the procedure discussed next is to identify all solutions of (2).

2.2.2. Solving a System of Symbols

There are three main components to MRHS: agreeing, gluing, and extracting equations. Since memory is finite in any actual implementation of the algorithm, it may also happen that we have to guess variables, and sometimes an equation symbol is made use of. Each of these parts is discussed below, and we start with a description of the main components.

Agreeing

The basic idea of an agreeing phase is to remove columns b in a right hand side L i if no solution of A i x = b can be a solution to the system (2). To achieve this, pairwise agreeing of symbols is employed. Namely, let S i : A i x = [ L i ] and S j : A j x = [ L j ] be two symbols; we say that S i and S j agree if for every b L i , there exists a b L j such that the linear system
A i A j x = b b
is consistent, and, vice versa, for each b L j there exists a b L i such that (3) is consistent.
In a situation where S i and S j do not agree, we remove those columns b from L i for which the linear system A i x = b is inconsistent with A j x = [ L j ] . Dually, those columns b from L j are removed, for which A j x = b is inconsistent with A i x = [ L i ] . Different strategies can be used to realize this basic idea, but for our purposes it is not necessary to go into further detail on this.
However, it is important to note that if two symbols S h and S i agree but S i and S j disagree, columns may be deleted in one or both of L i and L j . After this happens, it may well happen that S h does not agree with either of the modified symbols, and it becomes necessary to re-agree S h with them. During the latter agreement, columns from L h may have to be deleted, and so on, possibly resulting in a chain reaction of column deletions. To ensure that a system of symbols reaches a pairwise-agreed state, we perform the Agreeing1 algorithm in Figure 3 (see [8] (Section 3.1)).

Gluing

When a system of symbols is in a pairwise-agreed state, we may choose to apply a different operation: The gluing of two symbols S i = ( A i , L i ) and S j = ( A j , L j ) results in a new symbol B x = [ L ] whose set of solutions is the set of common solutions to A i x = [ L i ] and A j x = [ L j ] . After having formed this new symbol, it is inserted into the system at hand and the two symbols S i and S j which formed ( B , L ) are no longer necessary and are removed from the system.
Gluing a matrix L i of width s i with a matrix L j of width s j may yield a matrix L with as many as s i · s j columns. In an implementation, computing certain glues might therefore turn out to be infeasible, and one restricts to gluing only pairs of symbols where the number of columns in the resulting symbol does not exceed a certain threshold.
Once several glues have been performed, the symbols in the resulting system will usually no longer be pairwise-agreed, so the algorithm in Figure 3 can be run again, initiating another round of agreeing and gluing. The eventual goal of iterated agreeing and gluing steps is to obtain a system of symbols which consists of a single symbol.

Extracting Equations

From a given symbol  S : A x = [ L ] we can try to extract unique right-hand side (URHS) equations, and if this is done, the resulting linear equations are placed in a dedicated symbol S 0 to which we refer as an equation symbol. The equation symbol is checked for consistency and size. The A-part of S 0 has the same number of columns as the A-parts of the other symbols, but its L-part has only one column. The equation symbol is not considered a proper part of the system (2) and does not take part in the Agreeing1 algorithm, nor is it removed after being glued to a symbol in the system. However, various implementations will involve S 0 in an agreement or gluing step. Furthermore, information from guessing variables may also be reflected by S 0 .

Guessing Variables

It may happen that all symbols in a system are pairwise-agreed, no new URHS equations can be extracted, and no pair of symbols can be glued without exceeding the threshold. Lacking a better alternative, in such a situation one can guess the (one-bit) value of a variable. Before performing a guess, the system of symbols—to which we will refer as the state—is stored. After the guess has been made, pairwise agreeing, gluing, and equation extraction are performed as normal. If after some steps the state, again, does not allow for any new URHS equation to be computed or pair of symbols to be glued, the state is saved again, and we guess the value of another variable.
Obviously a guess for a variable can be incorrect, and this discovery manifests as follows: during the agreement of two symbols, all right-hand sides of at least one of the symbols get removed, indicating that the system has no solution. When this happens, the state can be rolled back to a previously saved state, so that a different guess can be made.

3. The Group Generated by DESL’s Round Functions

In this section we show that the round functions of DESL generate the same group as the round functions of DES. The main part of the argument is to establish 3-transitivity of the group generated by DESL’s round functions. To present the (somewhat technical) proof it will be convenient to introduce some notation.

3.1. Notation

The inputs for the S-box of DESL are bitstrings of length 6, outputting bit strings of length 4, as detailed in Table 1. The bitstring inputs are obtained by dividing a 48 bit string into eight blocks of equal length. To refer to the latter, given a { 0 , 1 } 48 , we set [ a ] j : = ( a i ) i = 6 j 5 6 j ( j = 1 , , 8 ) . Analogously, for a { 0 , 1 } 32 , we write [ a ] j : = ( a i ) i = 4 j 3 4 j ( j = 1 , , 8 ) for the selection of 4-bit blocks. It will be clear from the context when we are dealing with 48-bit, respectively 32-bit values. Finally, as manifested in the balanced Feistel structure, splitting a bitstring of even length into two halves is a common operation in DESL, and for ( a 1 , , a 2 m ) { 0 , 1 } 2 m we define a L : = ( a i ) i = 1 m { 0 , 1 } m and a R : = ( a i ) i = m + 1 2 m { 0 , 1 } m .
Furthermore, for ease of readability, we will often represent bitstrings by the decimal number they represent in binary (again, the length of the bitstring will always be clear from the context). Accordingly, we write A 2 64 and S 2 64 for the alternating and symmetric group respectively on { 0 , 1 } 64 . Given a set of permutations Π , we denote by Π the group generated by them. Specifically we are interested in the group G generated by the round functions F K of DESL, where K ranges over all possible values in { 0 , 1 } 48 . As in Wernsdorf’s analysis of DES in [7], we ignore any restrictions imposed by the key schedule and allow the round keys to be chosen freely.
Using the description and notation from Section 2.1, for a given round key K { 0 , 1 } 48 we can represent F K S 2 64 as
F K : { 0 , 1 } 32 × { 0 , 1 } 32 { 0 , 1 } 32 × { 0 , 1 } 32 ( a , b ) b , ( [ a ] i S ( [ K ] i [ E P ( b ) ] i ) ) i = 1 8 .
We can therefore state our result in terms of these functions, proving that
G = { F K S 2 64 | K { 0 , 1 } 48 } = A 2 64 .

3.2. Establishing 3-Transitivity of G

Before proving the main result, we will prove some previous lemmas.
Lemma 1.
The round functions of DESL generate a subgroup of A 2 64 that acts transitively on { 0 , 1 } 64 .
Proof. 
Verifying the transitivity of G is straightforward, and the work of Even and Goldreich [15] ensures that G is contained in the alternating group.  ☐
As an intermediate step, we will show the transitivity of G 0 : = { g G | g ( 0 ) = 0 } on { 0 , 1 } 64 \ { ( 0 , , 0 ) } and transitivity of G 0 , d : = { g G | g ( 0 ) = 0 and g ( d ) = d } on { 0 , 1 } 64 \ { ( 0 , , 0 ) , d } , where d : = ( δ 31 , i ) i = 1 64 has a single non-zero entry at the 31st position.
Before doing so, let us have a closer look at G 0 and G 0 , d :
In view of the Feistel structure of DESL, it is perhaps not very surprising that we deal with pairs of round functions when exploring the transitivity of G 0 and G 0 , d . We define four sets of key pairs, where the last two depend on the auxiliary value d : = ( 0 , 0 , 0 , 1 , 0 , 0 ) { 0 , 1 } 6 :
M : = { ( k , k ) { 0 , 1 } 6 × { 0 , 1 } 6 | S ( k ) = S ( k ) } M : = { ( K , K ) { 0 , 1 } 48 × { 0 , 1 } 48 | j { 1 , , 8 } : ( [ K ] j , [ K ] j ) M } M d : = { ( k , k ) M | S ( k d ) = S ( k d ) } M d : = { ( K , K ) M | ( [ K ] 4 , [ K ] 4 ) M d . }
The elements in G we are mainly interested in are of the form F K , K L : = F K 1 F K or F K , K R : = F K F K 1 with the key pair ( K , K ) being chosen from M . For input pairs ( a , b ) { 0 , 1 } 32 × { 0 , 1 } 32 we have
F K , K L ( a , b ) = ( [ a ] 1 S ( [ K ] 1 [ E P ( b ) ] 1 ) S ( [ K ] 1 [ E P ( b ) ] 1 ) , , [ a ] 8 S ( [ K ] 8 [ E P ( b ) ] 8 ) S ( [ K ] 8 [ E P ( b ) ] 8 ) , b ) and F K , K R ( a , b ) = ( a , [ b ] 1 S ( [ K ] 1 [ E P ( a ) ] 1 ) S ( [ K ] 1 [ E P ( a ) ] 1 ) , , [ b ] 8 S ( [ K ] 8 [ E P ( a ) ] 8 ) S ( [ K ] 8 [ E P ( a ) ] 8 ) ) .
In other words, when evaluating F ( K , K ) L ( a , b ) , the right half of the input does not vary and its left half is XORed with the value ( S ( [ K ] i [ E P ( b ) ] i ) S ( [ K ] i [ E P ( b ) ] i ) ) i = 1 8 to the left half of the input.
For F ( K , K ) R the situation is similar, with the left half of the input being stabilized.
The following proposition helps in understanding the effect of repeatedly applying a map of the form F K , K R , respectively F K , K L .
Proposition 1.
The functions F K , K L and F K , K R defined above satisfy the following:
(a) 
( K , K ) M : F K , K L G 0 , d and F K , K R G 0 .  
(b) 
( K , K ) M d : F K , K L G 0 , d and F K , K R G 0 , d .  
(c) 
Let n N . Then, for all ( K 1 , K 1 ) , , ( K n , K n ) M and for all ( a , b ) { 0 , 1 } 32 × { 0 , 1 } 32 , the following hold:
F K 1 , K 1 R F K n , K n R ( a , b ) =
( a , [ b ] 1 i = 1 n ( S ( [ K i ] 1 [ E P ( a ) ] 1 ) S ( [ K i ] 1 [ E P ( a ) ] 1 ) ) , , [ b ] 8 i = 1 n ( S ( [ K i ] 8 [ E P ( a ) ] 8 ) S ( [ K i ] 8 [ E P ( a ) ] 8 ) ) )
and, analogously,
F K 1 , K 1 L F K n , K n L ( a , b ) =
( [ a ] 1 i = 1 n ( S ( [ K i ] 1 [ E P ( b ) ] 1 ) S ( [ K i ] 1 [ E P ( b ) ] 1 ) ) , , [ a ] 8 i = 1 n ( S ( [ K i ] 8 [ E P ( b ) ] 8 ) S ( [ K i ] 8 [ E P ( b ) ] 8 ) ) , b ) .
Proof. 
The proof is immediate from the definition of F K , K L and F K , K R .  ☐
To understand better which values can be obtained in the left and right 32-bit halves of the output through repeated application of a map of the form F K , K R (respectively F K , K L ), given some 64-bit input, it is helpful to take a look at some F 2 -vector subspaces of F 2 4 :
Lemma 2.
For y { 0 , 1 } 6 \ { ( 0 , 0 , 0 , 0 , 0 , 0 ) } let
U ( y ) : = S k y S k y | ( k , k ) M F 2 4
be the F 2 -vector space spanned by { S k y S k y | ( k , k ) M } .
Similarly, denote by U d ( y ) the F 2 -vector space
U d ( y ) : = S k y S k y | ( k , k ) M d .
Then, the following statements hold:
(a) 
y { 0 , 1 } 6 \ { ( 0 , 0 , 0 , 0 , 0 , 0 ) , ( 0 , 0 , 0 , 0 , 0 , 1 ) } : U ( y ) = { 0 , 1 } 4 .  
(b) 
U ( 0 , 0 , 0 , 0 , 0 , 1 ) = { 0 , 2 , 4 , 6 , 8 , 10 , 12 , 14 } .  
(c) 
y { 2 , 6 , 17 , 18 , 21 , 22 , 41 , 45 , 49 , 53 , 58 , 62 } : U d ( y ) = { 0 , 1 } 4 .  
(d) 
y { 0 , 1 } 6 \ { ( 0 , 0 , 0 , 1 , 0 , 0 ) } : U d ( y ) { 0 } .
Proof. 
The proof is by direct computation, e.g., using a programming language like Python [16]. ☐
Remark 1.
Bringing the notation in Lemma 2 to use, from Proposition 1 we obtain the following statements which for the case U ( [ E P ( a ) ] i ) = { 0 , 1 } 4 (respectively U ( [ E P ( b ) ] k ) = { 0 , 1 } 4 ) may be regarded as “hinting at transitivity”:
  • For i = 1 , , 8 let u i U ( [ E P ( a ) ] i ) be a bitstring. Then, there exist ( K 1 , K 1 ) , , ( K n , K n ) M such that F K 1 , K 1 R F K n , K n R ( a , b ) = ( a , [ b ] 1 u 1 , , [ b ] 8 u 8 ) for all ( a , b ) { 0 , 1 } 32 × { 0 , 1 } 32 .  
  • For i = 1 , , 8 let u i U ( [ E P ( b ) ] i ) be a bitstring. Then, there exist ( K 1 , K 1 ) , , ( K n , K n ) M such that F K 1 , K 1 L F K n , K n L ( a , b ) = ( [ a ] 1 u 1 , , [ a ] 8 u 8 , b ) for all ( a , b ) { 0 , 1 } 32 × { 0 , 1 } 32 .  
  • For i { 1 , , 8 } \ { 4 } let u i U ( [ E P ( a ) ] i ) be a bitstring and let u 4 U d ( [ E P ( a ) ] 4 ) . Then, there exist ( K 1 , K 1 ) , , ( K n , K n ) M d such that F K 1 , K 1 R F K n , K n R ( a , b ) = ( a , b 1 u 1 , , b 8 u 8 ) for all ( a , b ) { 0 , 1 } 32 × { 0 , 1 } 32 .  
  • For i { 1 , , 8 } \ { 4 } let u i U ( [ E P ( b ) ] i ) be a bitstring and let u 4 U d ( [ E P ( b ) ] 4 ) . Then there exist ( K 1 , K 1 ) , , ( K n , K n ) M d such that F K 1 , K 1 L F K n , K n L ( a , b ) = ( a 1 u 1 , , a 8 u 8 , b ) for all ( a , b ) { 0 , 1 } 32 × { 0 , 1 } 32 .
Therefore, if we know that the equality U ( [ E P ( a ) ] k ) = { 0 , 1 } 4 holds for some 1 k 8 , then for each bitstring c { 0 , 1 } 4 we can find a sequence of key pairs ( K 1 , K 1 ) , , ( K n , K n ) M with
F K 1 , K 1 R F K n , K n R ( a , b ) R k = c .
For instance, we can choose pairs ( K 1 , K 1 ) , , ( K n , K n ) with ( [ K j ] k , [ K j ] k ) M corresponding to the linear combination of c [ b ] k , and the rest of the positions being 0. This ensures that all ( K j , K j ) are contained in M , and if U d ( [ E P ( a ) ] k ) = { 0 , 1 } 4 or k 4 , we can also ensure ( K 1 , K 1 ) , , ( K n , K n ) M d .
Similarly, in case U ( [ E P ( b ) ] k ) contains all bitstrings of length 4, we can obtain a sequence of key pairs with
F K 1 , K 1 L F K n , K n L ( a , b ) L k = c .
The subsequent lemmata enable us to argue that G 0 , d acts transitively on { 0 , 1 } 64 \ { 0 , d } . In other words, we prove that for all x , y { 0 , 1 } 64 \ { 0 , d } the equivalence x y holds, where x y g G 0 , d : g ( x ) = y . The proofs exploit in particular the transitivity of ∼.
Lemma 3.
Let e : = ( 1 , 0 , 1 , , 1 ) { 0 , 1 } 32 be the 32-bit vector which has a single 0-entry at the second position and 1-entries everywhere else, and let ( z , z ) { 0 , 1 } 32 × { 0 , 1 } 32 be arbitrary. Then ( e , z ) ( e , z ) .
Proof. 
Let ( z , z ) { 0 , 1 } 32 × { 0 , 1 } 32 be arbitrary, but fixed. From Table 2 we see that
[ E P ( e ) ] i = ( 1 , 1 , 1 , 1 , 1 , 1 ) , if i { 1 , 2 , 3 , 6 , 7 , 8 } ( 1 , 1 , 1 , 1 , 1 , 0 ) , if i = 4 ( 0 , 1 , 1 , 1 , 1 , 1 ) , if i = 5
Hence, by properties (a) and (c) of Lemma 2 we obtain U ( ( E P ( e ) ) i ) = { 0 , 1 } 4 for all i = 1 , , 8 as well as U d ( ( E P ( e ) ) 4 ) = { 0 , 1 } 4 .
Therefore, because of Remark 1 for c = ( z 1 , z 2 , z 3 , z 4 ) we get:
( e , z ) ( e , ( z 1 , z 2 , z 3 , z 4 , z 5 , , z 32 ) ) , since ( e , ( z 1 , z 2 , z 3 , z 4 , z 5 , , z 32 ) ) = F K 1 , K 1 R F K n , K n R ( e , z ) , for the corresponding ( K i , K i ) , i { 1 , , n } .
Analogously, since U ( ( E P e ) 2 ) = { 0 , 1 } 4 , we can obtain:
( e , ( z 1 , z 2 , z 3 , z 4 , z 5 , , z 32 ) ) ( e , ( z 1 , , z 8 , z 9 , , z 32 ) ) .
If we continue carrying out the same procedure, since all the subspaces considered are { 0 , 1 } 4 , we can finally see that ( e , z ) ( e , z ) . ☐
Lemma 4.
a { 0 , 1 } 64 \ { 0 , d } , a { 0 , 1 } 64 \ { 0 , d } : a a a n d i { 1 , , 32 } \ { 2 , 5 , 10 , 18 , 26 , 31 } : a i = 1 .
Proof. 
If i { 1 , , 32 } \ { 2 , 5 , 10 , 18 , 26 , 31 } : a i = 1 , then we obtain the lemma with a : = a .
Otherwise, we distinguish two cases:
  • If i { 33 , , 64 } : a i = 1 :
    Then l { 1 , , 8 } such that [ E P ( a ) i = 33 64 ] l 0 :
    If [ E P ( a ) i = 33 64 ] l 1 , then U ( [ E P ( a ) i = 33 64 ) ] l ) = { 0 , 1 } 4 . Therefore, because of Remark 1, we can show a = F K 1 , K 1 L F K n , K n L ( a ) such that ( [ a ] L ) j = 1 for j { 4 l 3 , , 4 l } . Thus, i { 1 , , 32 } \ { 2 , 5 , 10 , 18 , 26 , 31 } : a i = 1 .  
    If [ E P ( a ) i = 33 64 ] l = 1 , then U ( [ E P ( a ) i = 33 64 ] l ) = { 0 , 2 , 4 , 6 , 8 , 10 , 12 , 14 } . With an argument similar to the previous one, we can get an element a = F K 1 , K 1 L F K n , K n L ( a ) , such that ( a L ) i = 1 for i { 4 l 3 , , 4 l 1 } . Therefore, i { 1 , , 32 } \ { 2 , 5 , 10 , 18 , 26 , 31 } : a i = 1 .
  • If i { 33 , , 64 } : a i = 0 .
    Since a 0 , then i { 1 , , 32 } : a i = 1 . Therefore, l { 1 , , 8 } such that [ E P ( a ) i = 1 32 ] l 0 and, like before (but using “right-functions”) we prove that we can get an element a = F K 1 , K 1 R F K n , K n R ( a ) , where ( K i , K i ) M d , such that i { 33 , , 64 } : a i = 1 . Notice that in this case the pairs ( K i , K i ) must be not only in M , but in M d , so that a a (Proposition 1(b)).
    If l 4
    If ( E P ( a ) i = 1 32 ) l 1 , then U ( [ E P ( a ) i = 1 32 ) ] l ) = { 0 , 1 } 4 .
    Therefore, because of Remark 1, we can have a = F K 1 , K 1 R F K n , K n R ( a ) , where ( K i , K i ) M d , with a i = 1 for some i { 33 , , 64 } .  
    If [ E P ( a ) i = 1 32 ] l = 1 , then U ( [ E P ( a ) i = 1 32 ) ] l ) = { 0 , 2 , 4 , 6 , 8 , 10 , 12 , 14 } . With the same argument as before, we can get an element a = F K 1 , K 1 R F K n , K n R ( a ) , such that a i = 1 for i = 32 + j , where j { 4 l 3 , , 4 l 1 } .
    If l = 4 : Since a d , according to Table 2, ( E P a ) 4 ( 0 , 0 , 0 , 1 , 0 , 0 ) . Therefore, we have U d ( ( E P a ) 4 ) 0 (Lemma 2(d)) and we can obtain, as in the previous cases, an element a : = F K 1 , K 1 L F K n , K n R ( a ) a , with a i = 1 for some i { 33 , , 64 } .
Hence, this case is traced back to the case i { 33 , , 64 } : a i = 1 and the proof is complete. ☐
Lemma 5.
a { 0 , 1 } 64 \ { 0 , d } : a a a n d i { 1 , , 32 } \ { 2 , 5 , 10 , 18 , 26 , 31 } : a i = 1 , a { 0 , 1 } 64 \ { 0 , d } : a a a n d i { 1 , , 32 } \ { 13 , , 16 } : a i = e i .
Proof. 
If i { 1 , , 32 } \ { 13 , , 16 } : a i = e i , then we immediately obtain the Lemma with a : = a .
Otherwise, we choose an index j { 1 , , 32 } \ { 2 , 5 , 10 , 18 , 26 , 31 } : a j = 1 and we will prove that
a 0 { 0 , 1 } 64 \ { 0 , d } : a 0 a , [ a 0 ] L = [ a ] L a n d i I ( j ) : ( a 0 ) 32 + i = 1 , where the sets I ( j ) are defined in Figure 4.
We define a 0 : = F K 1 , K 1 R F K 2 , K 2 R F K n , K n R ( a ) , with ( K i , K i ) M d . Therefore, [ a 0 ] L = [ a ] L , and we will see that if ( K i , K i ) , i { 1 , , n } have been chosen appropriately, we can have ( a 0 ) 32 + i = 1 , i I ( j ) .
For j = 1 :
According to Table 2, [ E P ( a ) L ] 2 0 and [ E P ( a ) L ] 3 { 0 , 1 } , since the corresponding positions for a 1 are 12 and 14, which are in blocks 2 and 3. Therefore, we have:
  • If [ E P ( a ) L ] 2 1 , then U ( [ E P ( a ) L ] 2 ) = { 0 , 1 } 4 . Hence, because of Remark 1, ( K i , K i ) M d such that [ [ a 0 ] R ] 2 = [ F K 1 , K 1 L F K 2 , K 2 L F K n , K n L ( a ) ] 2 = ( 1 , 1 , 1 , 1 ) . Therefore, ( a 0 ) 32 + i = 1 for all i { 5 , , 8 } .
  • If [ E P ( a ) L ] 2 = 1 , then U ( [ E P ( a ) L ] 2 ) = { 0 , 2 , 4 , 6 , 8 , 10 , 12 , 14 } . With a similar argument, ( K i , K i ) M d such that [ [ a 0 ] R ] 2 = [ F K 1 , K 1 L F K 2 , K 2 L F K n , K n L ( a ) ] 2 = ( 1 , 1 , 1 , 0 ) . Therefore, ( a 0 ) 32 + i = 1 for all i { 5 , , 7 } .
Since [ E P ( a ) L ] 3 { 0 , 1 } , then U ( [ E P ( a ) L ] 3 ) = { 0 , 1 } 4 and therefore ( K i , K i ) M d such that [ [ a 0 ] R ] 3 = [ F K 1 , K 1 L F K 2 , K 2 L F K n , K n L ( a ) ] 3 = ( 1 , 1 , 1 , 1 ) . Therefore, ( a 0 ) 32 + i = 1 for all i { 9 , , 12 } .
Thus, considering the composition of the functions involved, we obtain a 0 such that ( a 0 ) 32 + i = 1 , i { 5 , , 12 } \ { 8 } .
A similar argument applies to the other values of j { 1 , , 32 } \ { 13 , , 16 } .
Now, we will see that a 1 { 0 , 1 } 64 \ { 0 , d } : a 1 a 0 , [ a 1 ] R = [ a 0 ] R a n d i J ( j ) : ( a 1 ) i = e i , where the sets J ( j ) are defined in Figure 5.
We define a 1 : = F K 1 , K 1 L F K n , K n L ( a ) , with ( K i , K i ) M . Therefore, [ a 0 ] R = [ a ] R , and we will see that choosing adequate elements ( K i , K i ) , we can have ( a 1 ) i = e i , i J ( j ) .
For j = 1 , I ( 1 ) = { 5 , , 12 } \ { 8 } :
According to Table 2, let us see which positions E P ( ( [ a 0 ] R ) i ) are in for the different values of i I ( 1 ) . We can see E P ( ( [ a 0 ] R ) 5 ) is in position 18 (block 3) and 20 (block 4), E P ( ( [ a 0 ] R ) 6 ) is in position 41 (block 7) and 43 (block 8), E P ( ( [ a 0 ] R ) 7 ) is in position 3 (block 1), E P ( ( [ a 0 ] R ) 9 ) is in position 35 and 37 (blocks 6 and 7), E P ( ( [ a 0 ] R ) 10 ) is in position 23 and 25 (block 4 and 5), E P ( ( [ a 0 ] R ) 11 ) is in position 45 (block 8), and E P ( ( [ a 0 ] R ) 12 ) is in position 9 (block 2).
In all blocks j, for j { 1 , , 8 } \ { 3 } , we have [ E P [ a 0 ] R ] j { 0 , 1 } and then U ( [ E P [ a 0 ] R ] j ) = { 0 , 1 } 4 . Therefore, as discussed in the previous proofs, ( K i , K i ) M such that [ [ a 1 ] L ] j : = [ F K 1 , K 1 L F K 2 , K 2 L F K n , K n L ( a ) ] j = [ e ] j j { 1 , , 8 } \ { 3 } . For block 3, we have [ E P [ a 0 ] R ] 3 = 1 , therefore ( K i , K i ) M such that ( a 1 ) i : = ( F K 1 , K 1 L F K 2 , K 2 L F K n , K n L ( a ) ) i = e i i { 9 , , 11 } .
Therefore, the only position we cannot assure is equal to e is i = 12 , therefore J ( 1 ) c = { 12 } .
For the rest of the indices j, we use similar arguments to compute sets J ( j ) .
  • If j { 1 , 6 , 9 , 14 , 16 , 17 , 21 , 22 , 25 , 29 , 32 } , the set ( { 1 , , 32 } \ { 13 , , 16 } ) \ J ( j ) has only one element. Therefore, as ( ( a 1 ) L ) i = e i i J(j), [ E P ( a L 1 ) ] i { 0 , 1 } i { 1 , , 8 } \ { 4 } , so U ( [ E P ( a L 1 ) ] i ) = { 0 , 1 } 4 . Therefore, choosing appropriate ( K i , K i ) M d we get a 2 : = F K 1 , K 1 R F K n , K n R ( a 1 ) , such that ( [ a 2 ] R ) i = e i i { 1 , , 32 } \ { 13 , , 16 } (Remark 1).
    Therefore, we have [ E P ( a R 2 ) ] i { 0 , 1 } i { 1 , , 8 } \ { 4 } , so U ( [ E P ( a L 2 ) ] i ) = { 0 , 1 } 4 . Now, choosing adequate ( K i , K i ) M d , we can have a 3 : = F K 1 , K 1 L F K n , K n L ( a 2 ) , such that ( a 3 ) i = e i i { 1 , , 32 } \ { 13 , , 16 } . Therefore, for a : = a 3 we have the desired result.
    Hence, we have seen that the lemma holds if a j = 1 for j { 1 , 6 , 9 , 14 , 16 , 17 , 21 , 22 , 25 , 29 , 32 } .
  • For indices j { 1 , , 32 } \ { 2 , 5 , 10 , 18 , 26 , 31 } , we have J ( j ) { 1 , 6 , 9 , 14 , 16 , 17 , 21 , 22 , 25 , 29 , 32 } . Therefore, we are in the case where j { 1 , 6 , 9 , 14 , 16 , 17 , 21 , 22 , 25 , 29 , 32 } such that ( a 1 ) i = 1 , and carrying out the same procedure as the one to get a 3 from a , we get a satisfying ( a ) i = e i i { 1 , , 32 } \ { 13 , , 16 } .
 ☐
Lemma 6.
a { 0 , 1 } 64 \ { 0 , d } : a i = e i i { 1 , , 32 } \ { 13 , , 16 } , z { 0 , 1 } 32 : a ( e , z ) .
Proof. 
According to Table 2, [ ( E P ( a ) L ) ] 4 corresponds to positions 26, 5, 18, 31, and 2. Since  { 2 , 5 , 10 , 18 , 26 , 31 } { 13 , , 16 } = , we know ( a L ) i = e i , i { 2 , 5 , 10 , 18 , 26 , 31 } . Therefore, [ ( E P ( a ) L ) ] 4 = ( 1 , 1 , 1 , 1 , 1 , 0 ) = 62 and because of Lemma 2 (c), U ( [ E P ( ( a ) L ) ] j ) = { 0 , 1 } 4 . Thus, considering appropriate ( K i , K i ) , we get ( e , z ) = F K 1 , K 1 L F K n , K n L ( a ) , for some z { 0 , 1 } 32 . ☐
Corollary 1.
a { 0 , 1 } 64 \ { 0 , d } z { 0 , 1 } 32 : a ( e , z ) .
Proof. 
Considering the chain a a a ( e , z ) , where these elements are as described in the previous lemmata, the result follows. ☐
Corollary 2.
G 0 , d is transitive on { 0 , 1 } 64 \ { 0 , d } .
Proof. 
Let a , a { 0 , 1 } 64 \ { 0 , d } , by Lemma 6 and Corollary 1, z , z { 0 , 1 } 32 : a ( e , z ) ( e , z ) a .  ☐
Corollary 3.
G 0 is transitive on { 0 , 1 } 64 \ { 0 } .
Proof. 
Because of Corollary 1, it is enough to show that g G 0 such that g ( d ) d .
Note that since g G 0 , then g ( d ) 0 .
Let ( K , K ) M \ M d , then S ( K ) = S ( K ) and S ( K d ) S ( K d ) . Therefore, F K , K R ( d ) = ( d L , d R ) S ( K d ) S ( K d ) d , and F K , K R G 0 . ☐
Lemma 7.
If G 0 is transitive on { 0 , 1 } 64 \ { ( 0 , , 0 ) } and G 0 , d is transitive on { 0 , 1 } 64 \ { ( 0 , , 0 ) , d } , then G is 3-transitive on { 0 , 1 } 64 .
Proof. 
It follows immediately from [17] (Theorem 9.1). ☐
Once we have shown that G is a 3-transitive subgroup of A 2 64 , it is not particularly difficult to verify that G is actually equal to the alternating group on 2 64 points.
Theorem 1.
The round functions of DESL generate the alternating group, i.e., G = A 2 64 .
Proof. 
We refer to the proof of Theorem 1 in [7], since the same proof applies here. ☐

4. Applying MRHS to DESL and DES

The previous section focuses on a structural group-theoretic property which does not take the actual number of DESL rounds into account. Subsequently, we studied an algebraic attack against reduced and full round versions of DESL and compared the behavior of the attack with the situation for DES. The underlying question is, to what extent does the modified S-box change the complexity of an algebraic attack?

4.1. Symbol Creation for DESL

Since the structure of DES and DESL is the same, the process for creating the A-parts of MRHS symbols for DESL is the same as that for DES, which is described nicely in [12] (pp. 50–53). The only difference is that the L-part of each symbol will not correspond to a DES S-box, but instead to the DESL S-box. This L-part is given as
0 0 0 0 0 0 0 0 F F F F F F F F 0 0 0 0 F F F F 0 0 0 0 F F F F 0 0 F F 0 0 F F 0 0 F F 0 0 F F 0 F 0 F 0 F 0 F 0 F 0 F 0 F 0 F 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 8 5 E 3 6 9 6 9 6 6 9 9 A C 3 5 E 9 4 3 1 6 F 8 9 7 2 C 6 C 9 3 8 B D 6 7 4 8 3 1 E 6 1 C 9 3 E 6 9 9 A 5 9 6 6 6 5 6 9 5 A A 9 ,
where each entry is written as standard hex notation to save space. Note that the top six rows correspond to each of the possible inputs to an S-box, and the bottom four rows correspond to the output of the S-box. For example, if the input to the S-box is 000000, then the output is 1110, both being readable from the first column of this matrix. If the input is 000001, then the output is 0101, both being readable from the second column. Further, if the input is 000010, the output is 0101, and if the input is 000011, the output is 0000.

4.2. Results

For serious ciphers, very often the first MRHS action cycle of agreeing, gluing, and equation extracting (that is, until a guess is called for) will not be sufficient to discover the key, so guesses of the key variables must be committed. Naturally, the fewer guesses required, the better an attack is deemed to be. We give the name δ to the number of key bits we must guess before we discover the whole key through an MRHS attack.
For our attacks, we use a machine called Blue with the following specifications: two quad-core Xeon E5520 2.26 GHz processors (though only one core was used), 24 GB of RAM, using Windows 7 Server (Standard Edition). The ciphertext was 0123456789ABCDEF, and the key was the first 56 bits of the SHA-1 hash of “Katalina” (without quotes).
Under these conditions, DESL was attacked on Blue, varying both the number of rounds of the cipher and the threshold of MRHS. The results are summarized in Table 3, with the note that the threshold listed is actually the base 2 logarithm of the actual threshold, so we always choose a power of 2 for the number of columns each L-part is allowed to grow to.
We can see from this data that four rounds of DESL could be handled in the initial turn of an MRHS attack, but things became more complicated with more rounds. For more than six rounds it was not at all guaranteed that an increased threshold would actually help with the computation. Only for twelve rounds did we see an improvement with increased threshold, but once we moved to a threshold of 23, δ increased dramatically.
By way of contrast, DES was attacked on Blue varying the number of rounds and threshold. The results are summarized in Table 4.
Overall, DESL was about as secure as DES from an MRHS perspective, though there were two occasions where DESL required three more bits to guess before recovering the entire key.
We remark in passing that it was conjectured by Schoonen in [12] (Hypothesis 5.1) that for 7–16 rounds of DES, δ would always be 56 minus the (base 2 logarithm of the) threshold, but Table 4 makes it plain that this was not the case.

5. Conclusions

Unlike DES, the DES Lightweight extension (DESL) uses a single S-box. The security of DESL against a number of common types of attacks has already been argued in the literature. In this work we establish that the round functions of DESL generate the same permutation group as the round functions of DES, namely, the alternating group on 2 64 points. Moreover, based on our work, DESL appeared to offer comparable resistance to MRHS-based algebraic attacks as DES. Therefore, from these algebraic points of view, DESL has no disadvantage compared to DES, and the structural properties of DESL remain an interesting cryptanalytic topic of study.

Author Contributions

Individual contributions to this article: conceptualization, K.M, R.S., and A.S.C.; methodology, K.M., R.S., and A.S.C.; validation, K.M., R.S., and A.S.C.; formal analysis, A.S.C.; software, K.M. and R.S.; investigation, K.M., R.S., and A.S.C.; resources, R.S. and A.S.C.; writing—original draft preparation, K.M., R.S., and A.S.C.; writing—review and editing, K.M., R.S., and A.S.C.; project administration, R.S. and A.S.C.; funding acquisition, R.S. and A.S.C.

Funding

This research was funded in part by the NATO Science for Peace and Security Programme under grant G5448 and through research project MTM2017-83506-C2-2-P by the Spanish MICINN.

Conflicts of Interest

The authors declare no conflicts of interest. The funders had no role in the design of the study; in the collection, analyses, or interpretation of data; in the writing of the manuscript; or in the decision to publish the results.

References

  1. Daley, W.M.; Kammer, R.G. Data Encryption Standard (DES). In Federal Information Processing Standards Publication; National Institute of Standards and Technology: Gaithersburg, MD, USA, 1999. [Google Scholar]
  2. Leander, G.; Paar, C.; Poschmann, A.; Schramm, K. New Lightweight DES Variants. In Fast Software Encryption, 14th International Workshop, FSE 2007; Lecture Notes in Computer Science; Biryukov, A., Ed.; International Association for Cryptologic Research, Springer: New York, NY, USA, 2007; Volume 4593, pp. 196–210. [Google Scholar]
  3. Priyanka, A.A.; Saibal, K.P. A Survey of Cryptanalytic Attacks on Lightweight Block Ciphers. Int. J. Comput. Sci. Inf. Technol. Secur. 2012, 2, 472–481. [Google Scholar]
  4. Sun, S.; Hu, L.; Qiao, K.; Ma, X.; Shan, J.; Song, L. Improvement on the Method for Automatic Differential Analysis and Its Application to Two Lightweight Block Ciphers DESL and LBlock-s. In Proceedings of the 2015 10th International Workshop on Security Advances in Information and Computer Security, IWSEC, Nara, Japan, 26–28 August 2015; pp. 97–111. [Google Scholar]
  5. Hatzivasilis, G.; Fysarakis, K.; Papaefstathiou, I.; Manifavas, C. A review of lightweight block ciphers. J. Cryptogr. Eng. 2018, 8, 141–184. [Google Scholar] [CrossRef]
  6. Ji, F.; Zhang, W.; Ding, T. Improving Matsui’s Search Algorithm for the Best Differential/Linear Trails and its Applications for DES, DESL and GIFT. Cryptology ePrint Archive, Report 2019/1190. 2019. Available online: http://eprint.iacr.org/2019/1190 (accessed on 14 November 2019).
  7. Wernsdorf, R. The One-Round Functions of the DES Generate the Alternating Group. In Advances in Cryptology—EUROCRYPT ’92; Lecture Notes in Computer Science; Rueppel, R.A., Ed.; Springer: New York, NY, USA, 1993; Volume 658, pp. 99–112. [Google Scholar]
  8. Raddum, H.; Semaev, I. Solving Multiple Right Hand Sides linear equations. Des. Codes Cryptogr. 2008, 49, 147–160. [Google Scholar] [CrossRef]
  9. Geiselmann, W.; Matheis, K.; Steinwandt, R. PET SNAKE: A Special Purpose Architecture to Implement an Algebraic Attack in Hardware. In Transactions on Computational Science X; Lecture Notes in Computer Science; Springer: New York, NY, USA, 2010; Volume 6340, pp. 298–328. [Google Scholar]
  10. Håvard, R.; Zajac, P. MRHS solver based on linear algebra and exhaustive search. J. Math. Cryptol. 2018, 12, 143–157. [Google Scholar]
  11. Zajac, P. Upper bounds on the complexity of algebraic cryptanalysis of ciphers with a low multiplicative complexity. Des. Codes Cryptogr. 2017, 82, 43–56. [Google Scholar] [CrossRef]
  12. Schoonen, A.C.C. Multiple Right-Hand Side Equations. Master’s Thesis, Department of Mathematics and Computer Science, Eindhoven University of Technology, Eindhoven, The Netherlands, 2008. Available online: http://alexandria.tue.nl/extra1/afstversl/wsk-i/schoonen2008.pdf (accessed on 14 November 2019).
  13. Davio, M.; Desmedt, Y.; Fosséprez, M.; Govaerts, R.; Hulsbosch, J.; Neutjens, P.; Piret, P.; Quisquater, J.J.; Vandewalle, J.; Wouters, P. Analytical Characteristics of the DES. In Advanves in Cryptology—CRYPTO ’83; Chaum, D., Ed.; Plenum Press: New York, NY, USA, 1984; pp. 171–202. [Google Scholar]
  14. Raddum, H. MRHS Equation Systems. In Selected Areas in Cryptography—SAC 2007; Lecture Notes in Computer Science; Carlisle Adams, A.M., Wiener, M., Eds.; Springer: New York, NY, USA, 2007; Volume 4876, pp. 232–245. [Google Scholar]
  15. Even, S.; Goldreich, O. DES-Like Functions Can Generate the Alternating Group. IEEE Trans. Inf. Theory 1983, 29, 863–865. [Google Scholar] [CrossRef]
  16. Foundation, P.S. Python Programming Language—Offical Website. 2010. Available online: http://www.python.org (accessed on 14 November 2019).
  17. Wielandt, H. Finite Permutation Groups; Academic Press: Cambridge, MA, USA, 1964. [Google Scholar]
Figure 1. Data Encryption Standard Lightweight extension (DESL) overview.
Figure 1. Data Encryption Standard Lightweight extension (DESL) overview.
Symmetry 11 01411 g001
Figure 2. Equivalent description of DESL with the permutation P being applied before the expansion function E.
Figure 2. Equivalent description of DESL with the permutation P being applied before the expansion function E.
Symmetry 11 01411 g002
Figure 3. Agreeing1 algorithm.
Figure 3. Agreeing1 algorithm.
Symmetry 11 01411 g003
Figure 4. Definition of I ( j ) .
Figure 4. Definition of I ( j ) .
Symmetry 11 01411 g004
Figure 5. Definition of J ( j ) .
Figure 5. Definition of J ( j ) .
Symmetry 11 01411 g005
Table 1. The substitution function S : { 0 , 1 } 6 { 0 , 1 } 4 of DESL is given by this S-box from [2]; ( a 1 , , a 6 ) { 0 , 1 } 6 is mapped to the 4-bit binary representation of the table entry in row no. a 1 a 6 and column no. a 2 a 3 a 4 a 5 (both interpreted as binary representation of a number in { 0 , , 3 } resp.  { 0 , , 15 } ).
Table 1. The substitution function S : { 0 , 1 } 6 { 0 , 1 } 4 of DESL is given by this S-box from [2]; ( a 1 , , a 6 ) { 0 , 1 } 6 is mapped to the 4-bit binary representation of the table entry in row no. a 1 a 6 and column no. a 2 a 3 a 4 a 5 (both interpreted as binary representation of a number in { 0 , , 3 } resp.  { 0 , , 15 } ).
1457211811501094613123
5081514321211769134110
4921487130101215151136
9615538411711220141013
Table 2. The function E P : { 0 , 1 } 32 { 0 , 1 } 48 , mapping ( a 1 , , a 32 ) to a E P ( 1 ) , , a E P ( 32 ) where E P ( j ) is the j-th entry in the table, reading from left to right, top to bottom (e.g., E P ( 7 ) = 21 ).
Table 2. The function E P : { 0 , 1 } 32 { 0 , 1 } 48 , mapping ( a 1 , , a 32 ) to a E P ( 1 ) , , a E P ( 32 ) where E P ( j ) is the j-th entry in the table, reading from left to right, top to bottom (e.g., E P ( 7 ) = 21 ).
25167202129
21291228171
1711523265
2651831102
1028241432
1432273919
9191330622
6221142516
Table 3. DESL δ on Blue, for varying rounds and thresholds.
Table 3. DESL δ on Blue, for varying rounds and thresholds.
Rounds of DESL
Threshold46810121416
20 0  34 36 36 40 38 40
21 0  34 39 37 39 39 42
22 0  33 39 37 38 43 38
23 0  33 38 45 46 48 46
Table 4. DES δ on Blue, varying rounds and thresholds.
Table 4. DES δ on Blue, varying rounds and thresholds.
Rounds of DES
Threshold46810121416
20 1 (+1)  35 (+1)  36 (+0)  36 (+0)  41 (+1)  41 (+3)  40 (+0) 
21 0 (+0)  35 (+1)  39 (+0)  37 (+0)  39 (+0)  40 (+1)  39 (−3) 
22 0 (+0)  32 (−1)  39 (+0)  37 (+0)  38 (+0)  40 (−3)  38 (+0) 
23 0 (+0)  33 (+0)  39 (+1)  43 (−2)  46 (+0)  48 (+0)  46 (+0) 
Back to TopTop