A new hybrid method combining search and direct based construction ideas to generate all 4 × 4 involutory maximum distance separable (MDS) matrices over binary field extensions

View article
PeerJ Computer Science

Introduction

Two important properties used in the design of block ciphers and defined by Shannon (1949) are confusion and diffusion. These properties are respectively satisfied by substitution boxes (or shortly S-boxes) and linear transformations in a round function of a block cipher. Maximum distance separable (MDS) matrices are derived from MDS codes and provide the maximum diffusion. They are used as the core component of diffusion layers/linear transformations in the design of cryptographic primitives like block ciphers and hash functions. MDS matrices have the maximum branch number, which is an important cryptographic criterion used for defining diffusion rate. Branch number also helps to measure security against some well-known attacks like differential (Biham & Shamir, 1991) and linear cryptanalysis (Matsui, 1994). Block ciphers (or a cryptographic primitive) generally use MDS matrices over F23, F24 and F28 in their diffusion layers according to the design strategies and considering implementation issues of a block cipher. Also, using involutory MDS matrices in the design of a diffusion layer of a block cipher has the advantage of reusing the same circuit in the decryption process and helps to implement a block cipher at close encryption and decryption costs. In this context, we present our experimental results by considering the finite fields F23, F24 and F28. Note that our construction technique can easily be used for designing new involutory MDS matrices over finite field F2m especially for m8.

Generally, the construction techniques of MDS matrices can be categorized into three groups: direct construction methods, search based methods, and hybrid methods (combining search based methods and direct construction methods). The direct construction methods include the methods such as Cauchy matrices (Youssef, Mister & Tavares, 1997; Cui, Jin & Kong, 2015), Vandermonde matrices (Sajadieh et al., 2012b) and Companion matrices (Gupta & Ray, 2013). It should also be noted that Cauchy and Vandermonde matrices are generally not efficient for low-cost implementations (Gupta et al., 2019). Recently, unlike the other direct construction methods, a new direct construction method (or a new matrix form) to generate all 3×3 involutory MDS matrices has been given in Güzel et al. (2019). On the other hand, search based methods to find MDS matrices are based on using hybrid structures (Sim et al., 2015), recursive structures (Sajadieh et al., 2012a, 2012b), and searching some special matrix forms like circulant and Hadamard matrix forms, which have some advantages in the implementation phase and have a higher probability of finding MDS matrix when compared to a randomized square matrix. Moreover, the other special matrix forms used to find (lightweight) MDS matrices are as follows: circulant-like (Gupta & Ray, 2015), Toeplitz, Toeplitz-like, and Hankel matrices (Gupta et al., 2019). The search based construction methods are useful for finding MDS matrices with small orders. But, finding MDS matrices with higher orders is exactly an NP-complete problem (computation cost for checking a matrix to be MDS is still too expensive) (Sim et al., 2015). To handle this problem, the Generalized Hadamard (shortly GHadamard) matrix form, a hybrid construction method, was proposed in Pehlivanoğlu et al. (2018). Overall, in Sakallı et al. (2020), the authors proposed a complementary method for the current construction methods in the literature, which generates isomorphic k×k MDS matrices (new MDS matrices from the implementation point of view) from any existing k×k MDS matrix (due to its ground field structure). All these methods can be evaluated within the local optimization category that focuses on the coefficients of a given matrix. In recent years, global optimization techniques have been proposed to construct smaller diffusion layer circuits for involutory/non-involutory MDS matrices. This challenging problem is also known as the problem of finding the shortest linear straight-line program (SLP) and optimizing circuits globally. In this context, two main global optimization techniques can be given as cancellation-free programs (e.g., Paar’s algorithms (Paar, 1997) and heuristic techniques (e.g., Boyar-Peralta (BP) algorithm (Boyar & Peralta, 2010; Boyar, Matthews & Peralta, 2012) RNBP, A1, A2 (Tan & Peyrin, 2019). All these heuristics support 2-input XOR gates (XOR2) only, but in Baksi et al. (2021) the authors by inspiring the idea given in Banik, Funabiki & Isobe (2019) proposed a new version of the original BP heuristic, called BDKCI, that supports higher input XOR gates such as 3-input XOR (XOR3) and 4-input XOR (XOR4) gates. Utilizing higher input XOR gates can result in a lower cost in specific ASIC libraries, so in this article, we use BDKCI heuristic for finding the efficient implementation of a given matrix. Moreover, we consider not only gate count (GC) and circuit depth but also gate equivalent (GE) metric for lightweight implementations. BDKCI heuristic directly calculates the total GEs for each ASIC library (STM 90 nm (ASIC1), STM 65nm (ASIC2), TSMC 65 nm (ASIC3), and STM 130 nm (ASIC4)), more technical details can be found in Baksi et al. (2021).

To the best of our knowledge, there is no known method in the literature to represent/generate all involutory MDS matrices over F2m. In this study, we present a new hybrid method to generate all 4×4 involutory MDS matrices over F2m. We consider the problem of finding lightweight involutory/non-involutory MDS matrices with low implementation costs. In this context, we generate all 4×4 involutory MDS matrices over F23 and F24 and evaluate these matrices up to a threshold value with respect to naive XOR count (d-XOR) (Khoo et al., 2014; Jean et al., 2017), and then we look for the lightest hardware circuits known for 4×4 involutory MDS matrices in terms of XOR counts and circuit depths by using BDKCI algorithm. Note that when obtaining the lightest 4×4 non-involutory MDS matrix over F24, we take the benefit of the elements of the lightest 4×4 involutory MDS matrix over F24 generated.

In this article, we propose a new hybrid method to generate all 4×4 involutory MDS matrices over F2m. The proposed hybrid method consists of two parts: the first part includes searching for all 4×4 representative involutory MDS matrices and the second part includes generating all 4×4 involutory MDS matrices using all 4×4 representative involutory MDS matrices found by search in the first part of the proposed method. Hence, we present the number of all 4×4 involutory MDS matrices over F23 and F24. In addition, we give the lightest known involutory/non-involutory MDS matrices over F23, F24 and F28 obtained by using the global optimization algorithm BDKCI, which is an improved version of BP algorithm.

Motivation and our contribution

The demand for low-cost security design targeting resource-constrained devices has triggered the exploration of lightweight diffusion layers (diffusion layers with low implementation costs). In particular, the circuit area is a crucial criterion for lightweight cryptography in terms of hardware. This means that reducing the cost of hardware implementation is to minimize the number of expensive logical gates (especially XOR operations) and the depth of the circuit (for low latency), which is the number of gates on the longest circuit path. However, it is not an easy task to construct lightweight MDS matrices, especially involutory ones. Involutory MDS matrices use the same circuit and have the same implementation costs in the encryption and decryption phases. Therefore, the designers have considered the problem of building optimal or close to optimal linear circuits for involutory/non-involutory MDS matrices.

Previous studies mainly focused on the problem of constructing a lightweight MDS matrix from two perspectives: building a locally optimized implementation of an MDS matrix consisting of the coefficients that are easy to evaluate or finding the globally optimized implementation of a given MDS matrix. However, while searching lightweight MDS matrices, most studies use some heuristic searching methods that cannot find all MDS matrices especially involutory ones in a specific finite field (except for the matrix form given in Güzel et al. (2019) used for generating all 3×3 involutory MDS matrices). In this article, for the first time in the literature, we focus on a hybrid method generating all 4×4 involutory MDS matrices over F2m with the lightest known implementation costs because many block ciphers use 4×4 and 8×8 (in the form of 2k×2k) MDS matrices. For example, the Advanced Encryption Standard (AES) (Daemen & Rijmen, 2002) uses a 4×4 MDS matrix as the main part of its diffusion layer. Moreover, (lightweight) block ciphers to be designed in the future may likely use 4×4 involutory/non-involutory MDS matrices over F2m with nice hardware implementation costs. In this article, we combine local optimization (new hybrid construction method) and global optimization (BDKCI algorithm) techniques. The main contributions of this article can be given as follows:

  • A new hybrid construction method to generate all 4×4 involutory MDS matrices over F2m is proposed. The proposed method reduces the search space complexity (the search space defining the total number of all invertible 4×4 matrices over F2m) at the level of n, where n represents the number of all 4×4 invertible matrices to be searched for.

  • It is shown that the number of all 4×4 involutory MDS matrices over F2m can be calculated by the formula #RIM×(2m1)3, where #RIM represents the number of all 4×4 representative involutory MDS matrices. Hence, there are, respectively, 16,464 ( =48×(231)3) and 242,514,000 ( =71,856×(241)3) 4×4 involutory and MDS matrices over F23 and F24.

  • The new lightest involutory/non-involutory MDS matrices over F23, F24 and F28 achieved by the proposed hybrid construction method are presented:

    • A new 4×4 involutory MDS matrix over F24 which can be implemented by only 25 XOR operations with depth 5 is presented, whereas the previously known lightest one (Sarkar & Syed, 2016) requires 26 XOR operations to be implemented with the same depth using XOR2 and XOR3 gates (please see the matrix M4).

    • A new 4×4 involutory MDS matrix over F23 is presented, which can be implemented by only 13 XOR operations with depth 5 using XOR3 and XOR4 gates (please see the matrix M3).

    • A new 4×4 non-involutory MDS matrix over F24 which can be implemented by only 19 XOR operations with depth 3 is presented, whereas previously known lightest one (Sarkar & Syed, 2016) costs 20 XOR operations the same depth using XOR2, XOR3 and XOR4 gates (please see the matrix M5).

    • A new 4×4 involutory MDS matrix over F28 can be implemented by only 52 XOR operations with depth 5 using XOR2 and XOR3 gates. Moreover, the same matrix requires only 42 XOR operations with depth 4 using XOR2, XOR3, and XOR4 gates (please see the matrix M6). While compare to the previous best-known implementations of linear layers of some block ciphers, it improves the results in GCs and GEs.

These findings clearly establish that the circuit implementations of matrices M3, M4, M5 and M6 over the specified fields are superior to those given in previous studies. This aspect also underscores one of the key novelties in our article.

  • A new property of Hadamard matrix is denoted, i.e., (involutory and MDS) Hadamard matrix form is, in fact, a representative matrix form that can be used to generate a small amount of all 2k×2k involutory MDS matrices, where k>1. For k=1, Hadamard matrix form can be used to generate all involutory MDS matrices. For 4×4 Hadamard matrices, we present the matrix form R1 (which has the generic properties of Hadamard matrix, i.e., XOR sum of the elements in any row or column of a Hadamard matrix is equal to 1 and XOR sum of the elements in the main diagonal is equal to 0) given in “Proposed Method” section for finding all 4×4 representative involutory MDS matrices by search. The matrix form R1 can also be adaptable to 2k×2k Hadamard matrices for k>2. Hence, one can generate new representative involutory MDS matrices over any finite field by using the matrix form R1 or adapted versions of R1 for 2k×2k Hadamard matrices for k>2, which may help us find new involutory MDS matrices (also, with the help of bi parameters given in Theorem 1) with better implementation properties.

  • All the optimization results of matrices are available at https://github.com/mkurtpehlivanoglu/Hybrid_Method.

Organization

This article is organized as follows: We give some notations, properties of MDS matrices, and two metrics used for identifying lightweightness of an MDS matrix in the “Preliminaries” section. In the “Proposed Method” section, we propose a new hybrid method to generate all 4×4 matrices over F2m. Experimental results on the number of all 4×4 involutory MDS matrices and some examples for 4×4 involutory MDS matrices over F23, F24 and F28 with the lowest XOR counts are presented in “Experimental Results” section. Finally, we conclude the article in the “Conclusion” section.

Preliminaries

In this section, we describe the mathematical background needed throughout the article. In this context, some notations and definitions are presented.

The finite field F2m consisting of 2m elements is defined by an irreducible polynomial p(x) of degree m over F2 and is denoted by F2[x]/(p(x)). The elements of the finite field F2m can be represented as polynomials over F2[x]/p(x), i.e., i=0m1aiαi, where ai F2 and α is a root (and a primitive element) of F2m. For simplicity, we denote F2m defined by irreducible polynomial p(x) as F2m/p(x) (the finite field with 2m elements) and use hexadecimal notation to represent the elements of F2m and the irreducible polynomial p(x) used for defining F2m. As an example, the four-bit string 1110 which can also be represented by 0xe in hexadecimal notation corresponds to the polynomial α3+α2+α in F24. In the same manner, 0x13 used when denoting F24/0x13 stands for the irreducible polynomial p(x)=x4+x+1.

If an [n,k,d] code C reaches the Singleton bound d=nk+1, then C is called an MDS code (where d, n, and k represent the length and the number of rows of the generating matrix of the code C, respectively). Moreover, generator matrices that produce MDS codes are called MDS matrices. MDS matrices derived from MDS codes provide the maximum diffusion in a block cipher and have the maximum differential and linear branch number ( k+1 for k×k for MDS matrices), which are two important cryptographic criteria for linear transformations. The followings are the properties of an MDS matrix:

  • Let M be a k×k square matrix. M is an MDS matrix, if and only if every square sub-matrix of M is non-singular.

  • If M is a k×k MDS matrix, the transpose matrix of M ( MT) is also an MDS matrix.

  • Let c F2m be a non-zero constant and let M be a k×k MDS matrix, then the multiplication of a row (or column) of M by c does not affect the MDS property of M.

If a square matrix A is its own inverse (i.e., A = A1), then the matrix A is called an involutory matrix. Equivalently, the matrix A is an involution if and only if A2 = I, where I is the identity matrix.

Definition 1. A k×k Finite Field Hadamard matrix (simply Hadamard matrix) H over F2m with k=2t for t>0 can be expressed as follows:

H=had(A0,A1)=[A0A1A1A0]where sub-matrices A0 and A1 are also 2t1×2t1 Hadamard matrices.

When denoting a k×k Hadamard matrix, we use the notation had( a0, a1,…, ak1), where ai F2m for 0ik1. In this respect, a 4×4 Hadamard matrix H can be given as follows:

H=had(a0,a1,a2,a3)=[a0a1a2a3a1a0a3a2a2a3a0a1a3a2a1a0]

Some important properties of a k×k Hadamard matrix H over F2m are as follows (Pehlivanoğlu et al., 2018):

  • Hi,j=aij, where ai parameters are the entries of the first row of a k×k Hadamard matrix H.

  • H is a bi-symmetric matrix, namely, H=HT and HJ=JH where J is a k×k exchange matrix (Ji,ki+1=1 and other elements of J are 0),

  • H2=c2×I, where c=i=0k1ai and I is the k×k identity matrix.

If XOR sum of the first row elements of a k×k Hadamard matrix H over F2m is equal to 1, then H is involutory matrix, i.e., H2=I and H=H1, where I is identity matrix and H1 is the inverse of H. On the other hand, GHadamard matrix form presented in Pehlivanoğlu et al. (2018) satisfies the last property (i.e.,H2=c2×I, where c=i=0k1ai) given above for a k×k Hadamard matrix and preserves involutory and MDS properties of a given k×k involutory and MDS Hadamard matrix. The idea in preserving MDS property of GHadamard matrix form is based on the last property for defining an MDS matrix. A k×k GHadamard matrix GH is generated by using the combination of non-zero k1 more bi parameters and their inverses with a k×k Hadamard matrix H over F2m. In this context, a 4×4 GHadamard matrix GH can be denoted as follows:

GH=Ghad(a0,a1;b1,a2;b2,a3;b3)=[a0a1b1a2b2a3b3a1b11a0a3b11b2a2b11b3a2b21a3b21b1a0a1b21b3a3b31a2b31b1a1b31b2a0]

We estimate the hardware cost of an (involutory) MDS matrix (i.e., linear transformation) with the number of XOR operations required in hardware implementation which can be described as xixaixbi with ai,bi<i, where xai and xbi are inputs and some subset of xis are outputs. In the literature, there are two important approximations of the implementation cost in terms of XOR count: direct XOR (d-XOR) count (Khoo et al., 2014) and sequential XOR (s-XOR) count (Beierle, Kranz & Leander, 2016). While d-XOR count is defined as the Hamming weight (the number of 1 bits) of the corresponding mk×mk binary matrix (transformed from k×k matrix over F2m) minus mk, s-XOR count is defined as the minimum number of XOR operations needed to implement the mk×mk binary matrix with in-place operations and without extra intermediate computations. Although s-XOR count seems like a better approximation, it causes a high computational cost for optimizing full MDS matrices (Duval & Leurent, 2018).

Local and global optimization techniques are used to find optimized implementations of MDS matrices in terms of the required number of XOR operations. The main difference between these two techniques is that the global optimization technique focuses on the optimization of a linear Boolean function of a whole matrix circuit while the local optimization technique focuses on the evaluation of diffusion matrix coefficients. Local optimization techniques do not guarantee finding efficient circuit implementation of an MDS matrix and therefore, more recently, global optimization techniques have been addressed to find well optimized circuits. The idea is based on the reduction of XOR count which is extracted by the naive implementation of an MDS matrix that contains a lot of repeated calculations.

In this article, while performing global optimization of an (involutory) MDS matrix, the circuit constructed by only XOR gates is handled as a linear Boolean function consisting of n input signals {x0,x1,,xn} and m output signals {y0,y1,,ym} (also called target signals). We also use BDKCI algorithm to build a globally optimized implementation of a 4×4 (involutory) MDS matrix generated by using the proposed new hybrid method. The aim of BDKCI algorithm is to find efficient circuits with intermediate variables tis (calculated once) for other computation sequences. These circuits can reuse intermediate variables tis that lead to reducing the number of gates required. More details about BDKCI heuristic can be found in Baksi et al. (2021).

Proposed method

In this section, we present a new method to generate all 4×4 involutory MDS matrices over F2m. The proposed method is a hybrid construction method and is based on the combination of search based and direct based construction methods. The main idea of the proposed method is first to generate all 4×4 representative involutory MDS matrices by search, and then to obtain all 4×4 involutory MDS matrices by applying three more non-zero parameters and their inverses to these representative matrices. When generating representative involutory MDS matrices, we take the benefit of generic properties of a Hadamard matrix satisfying the involutory property, i.e., XOR sum of the elements in any row or column of a Hadamard matrix is equal to 1 and XOR sum of the elements in the main diagonal is equal to 0. Note that these properties also force XOR sum of the elements in the anti-diagonal (counter diagonal) to be equal to 0. Then, we can easily define the matrix form R1 in order to search for all representative involutory MDS matrices over F2m as follows:

R1=[ r11r12r13r11+r12+r13+1r21r22r12+r13+r21+r31+r32r12+r13+r22+r31+r32+1r31r32r33r31+r32+r33+1r11+r21+r31+1r12+r22+r32+1r12+r21+r31+r32+r33+1r11+r22+r33 ].

The matrix form R1 above for finding representatives involutory MDS matrix is defined by eight parameters (r11,r12,r13,r21,r22,r31,r32,r33) over F2m{0}. Note that when defining the matrix form R1, the finite field element 0 is not considered because of the fact that all entries of an MDS matrix should be non-zero by the first property used for defining an MDS matrix. Hence, the search space for finding representative involutory MDS matrices over F2m is approximately obtained as (2m1)8 (by omitting non-invertible or singular matrices). For example, for finding all 4×4 representative involutory MDS matrices over F24, the search space is approximately (241)8231.25. Before proceeding with the details on the matrix form R1, we introduce the matrix form A2×2 used for generating all 2×2 involutory MDS matrices over F2m in Remark 2 and Lemma 3 from which the main idea of the article comes.

Remark 2. Consider 2k×2k involutory MDS matrices, where k is a positive integer. For k=1, we show in Lemma 3 that one can directly generate all 2×2 involutory MDS matrices by the following matrix form:

A2×2=[ r11(r11+1)b1(r11+1)b11r11 ]where r11F2m{0,1} and b1F2m{0}. Note that the following involutory MDS Hadamard matrix form RIM2×2:

RIM2×2=[r11(r11+1)(r11+1)r11]is also representative involutory MDS matrix form for 2×2 matrices over F2m with the restriction r11 F2m{0,1}. Hence, the representative involutory MDS matrix form RIM2×2 can be used to generate all involutory MDS matrices over F2m.

Lemma 3. Let A=[rij]=[r11r12r21r22] be a 2×2 matrix over F2m. If the matrix A is involutory and MDS, then all 2×2 involutory MDS matrices can be generated by the following matrix form:

A2×2(r11,b1)=[r11(r11+1)b1(r11+1)b11r11]where r22=r11, r12=(r11+1)b1 and r21=(r11+1)b11 for b1F2m{0} and r11F2m{0,1}.

Proof. Let A=[r11r12r21r22] be a 2×2 involutory matrix with the restriction r110. Let cij denote the elements of A2 for i,j{1,2}, i.e., cij=k=12rikrkj. Since A2=I, where I is the 2×2 identity matrix, we obtain the following equations (by considering if i=j then cij=1 and if ij then cij=0):

r112+r12r21=1

r11r12+r12r22=0

r21r11+r22r21=0

r21r12+r222=1

After adding the Eqs. (4) and (7) given above, we obtain the equation r112=r222. The equation r112=r222 can be rewritten as (r11+r22)2=0, and therefore we obtain r11=r22 because the operations are performed in the finite field F2m. On the other hand, we have r12r21=r112+1=(r11+1)2 from the Eq. (4). Then, r12 and r21 depending on r11 and a new parameter b1 are respectively obtained as r12=(1+r11)b1 and r21=(1+r11)b11 with the restrictions b1F2m{0} and r11F2m{0,1} so that the matrix form can also satisfy the MDS property (i.e., the determinant of the matrix form A2×2 is not equal to 0).

Remark 4 Lemma 3 shows that the parameter b1 and its inverse ( b11) are hidden parameters keeping involutory and MDS property for the matrix form A2×2, and also that involutory (MDS) matrices are formed as distinct classes in the search space. Similarly, generating all 4×4 involutory MDS matrices becomes an easier problem i.e., the problem is first to focus on searching for and finding all representative involutory MDS matrices by using the matrix form R1, and then generate all 4×4 involutory MDS matrices by using representative involutory MDS matrices obtained and the hidden parameters ( b1, b2 and b3 with their inverses b11, b21 and b31) given in Theorem 8.

In Lemma 6, we give the mathematical background needed to define matrix form R1 used for finding representative involutory MDS matrices, which constitutes the search side of the proposed method and we give the characteristics of 4×4 representative involutory MDS matrices with Definition 5. Then, in Theorem 8, we present the mathematical background needed for the direct construction side of the proposed method, which is based on three non-zero parameters preserving involutory and MDS property of a 4×4 representative involutory MDS matrix given.

By Lemma 6, representative involutory MDS matrices are found by searching through all possible candidates using the matrix form R1. This allows us to use 8 parameters ( r11, r12, r13, r21, r22, r31, r32 and r33) (instead of 16 parameters needed for defining all 4×4 matrices over F2m) in the search phase of the matrix R1 and thus enables us to reduce the search space complexity from (2m1)16 to (2m1)8, which is approximately at the level of n, where n represents the number of all invertible 4×4 matrices over F2m. In this context, we present the matrix form R1 again below:

R1=[r11r12r13r11+r12+r13+1r21r22r12+r13+r21+r31+r32r12+r13+r22+r31+r32+1r31r32r33r31+r32+r33+1r11+r21+r31+1r12+r22+r32+1r12+r21+r31+r32+r33+1r11+r22+r33].

Definition 5. A representative involutory MDS matrix (or shortly RIM) is a 4×4 involutory matrix R and satisfies the following conditions: XOR sum of all elements of its main diagonal is equal to 0, XOR sum of any rows (and columns) of R is equal to 1 and the MDS property given in “Preliminaries” section.

Lemma 6. A representative involutory matrix satisfies the first two conditions given in Definition 5 and these two conditions used to define the matrix form R1 guarantee to find all 4×4 representative involutory matrices.

Proof. Let R=[rij] be a 4×4 involutory and representative matrix such that all rij0 and let cij=k=14rikrkj denote the elements of R2 for i,j=1,2,3,4. Then R2=I, where I is the 4×4 identity matrix. If i=j, then cij=1. Otherwise, cij=0. Hence, the following equations are satisfied:

r112+r12r21+r13r31+r14r41=1

r21r12+r222+r23r32+r24r42=1

r31r13+r32r23+r332+r34r43=1

r41r14+r42r24+r43r34+r442=1

r11r12+r12r22+r13r32+r14r42=0

r11r13+r12r23+r13r33+r14r43=0

r11r14+r12r24+r13r34+r14r44=0

r21r11+r22r21+r23r31+r24r41=0

r21r13+r22r23+r23r33+r24r43=0

r21r14+r22r24+r23r34+r24r44=0

r31r11+r32r21+r33r31+r34r41=0

r31r12+r32r22+r33r32+r34r42=0

r31r14+r32r24+r33r34+r34r44=0

r41r11+r42r21+r43r31+r44r41=0

r41r12+r42r22+r43r32+r44r42=0

r41r13+r42r23+r43r33+r44r43=0

By adding the Eqs. (8)(11) side by side, the following equation is obtained:

r112+r222+r332+r442=0

Because we study in the finite field F2m the Eq. (24) can be rewritten as follows:

r11+r22+r33+r44=0

Hence, we verify the first statement of the lemma. To show the proof of the second statement, we assume that the sum of elements of any row of R is equal to 1. We prefer to study with rows instead of columns of R without breaking the generality. Then, the equations corresponding to our assumption are obtained as follows:

r11+r12+r13+r14=1

r21+r22+r23+r24=1

r31+r32+r33+r34=1

r41+r42+r43+r44=1

By adding the Eqs. (12)(14) side by side, we get the following equality:

r11(r12+r13+r14)+r12(r22+r23+r24)+r13(r32+r33+r34)+r14(r42+r43+r44)=0

From the assumption Eqs. (26)(28), it is clear that:

r11+1=r12+r13+r14

r21+1=r22+r23+r24

r31+1=r32+r33+r34

r41+1=r42+r43+r44

By replacing the expressions r12+r13+r14, r22+r23+r24, r32+r33+r34 and r42+r43+r44 in the Eq. (30) with the expressions r11+1, r21+1, r31+1 and r41+1, respectively, the Eq. (35) and then the Eq. (36) are obtained:

r11(r11+1)+r12(r21+1)+r13(r31+1)+r14(r41+1)=0

r112+r11+r12r21+r12+r13r31+r13+r14r41+r14=0

We can rewrite the Eq. (36) as follows:

r112+r12r21+r12+r13r31+r14r41=r11+r12+r13+r14

Then, by using the assumption (26), we can obtain the Eq. (8) as follows:

r112+r12r21+r12+r13r31+r14r41=1

In a similar manner, the Eqs. (9)(11) can be obtained by using the equations from (15) to (23) and the assumptions (26)(29).

Similar assumptions can be given when proving the second part of the lemma, related to the sum of the elements of any column, as follows:

r11+r21+r31+r41=1

r12+r22+r32+r42=1

r13+r23+r33+r43=1

r14+r24+r34+r44=1

One can easily show that the Eqs. (8)(11) can again be obtained by using the equations from (12) to (23) and the assumption Eqs. (39)(42). For instance, the Eq. (8) can be obtained by applying similar operations shown in proving the first part of the lemma and by using the assumption equations from (39) to (42) and the Eqs. (15), (18) and (21). Hence, the second part of the lemma is satisfied.

Remark 7. Lemma 6 does not guarantee that any matrix satisfying assumptions is exactly a representative involutory matrix.

Theorem 8. Let RIM=[rij] be a 4×4 representative involutory MDS matrix, then the matrix form A=[aij] obtained by the matrix RIM and some parameters ( bi parameters) is also involutory MDS in the following form:

A=[aij]=[r11r12b1r13b2r14b3r21b11r22r23b11b2r24b11b3r31b21r32b21b1r33r34b21b3r41b31r42b31b1r43b31b2r44]where bis for i{1,2,3} are the elements of F2m{0}.

Proof. Since the representative MDS matrix RIM is involutory, it satisfies all equations from (8) to (23) given in Lemma 6. If we square the matrix A=[aij], we obtain the following expressions corresponding to cij’s, where cij denote the elements of A2 for i,j{1,2,3,4}:

c11=r112+r12r21+r13r31+r14r41

c22=r21r12+r222+r23r32+r24r42

c33=r31r13+r32r23+r332+r34r43

c44=r41r14+r42r24+r43r34+r442

c12=b1(r11r12+r12r22+r13r32+r14r42)

c13=b2(r11r13+r12r23+r13r33+r14r43)

c14=b3(r11r14+r12r24+r13r34+r14r44)

c21=b11(r21r11+r22r21+r23r31+r24r41)

c23=b11b2(r21r13+r22r23+r23r33+r24r43)

c24=b11b3(r21r14+r22r24+r23r34+r24r44)

c31=b21(r31r11+r32r21+r33r31+r34r41)

c32=b21b1(r31r12+r32r22+r33r32+r34r42)

c34=b21b3(r31r14+r32r24+r33r34+r34r44)

c41=b31(r41r11+r42r21+r43r31+r44r41)

c42=b31b1(r41r12+r42r22+r43r32+r44r42)

c43=b31b2(r41r13+r42r23+r43r33+r44r43)

The expressions from (43) to (46) are equal to 1 and the expressions from (47) to (58) are equal to 0 because the expressions from (43) to (46) are, respectively, the same with the left side of the equations from (8) to (11) given in Lemma 2, the expressions from (47) to (58) contain the results of multiplying 0 by non-zero finite field element(s) because the same expressions from (12) to (23) in Lemma 6, which are equal to 0, appear respectively in the expressions from (47) to (58). Hence, the involutory property of the matrix RIM is preserved. On the other hand, bi parameters in the matrix form A can be obtained by multiplying the constant elements c1, c2, c3 and c4 F2m{0} with the first column, the second column, the third column and the fourth column, respectively, and by multiplying the inverses of these elements c11, c21, c31 and c41 with the first row, the second row, the third row and the fourth row respectively. As given in “Preliminaries” section, the MDS property is invariant under the multiplication of a row/column with a non-zero constant. Hence, the MDS property of the matrix RIM is also preserved.

Remark 9. By Theorem 8, one can directly obtain only one representative involutory (MDS) matrix starting from any involutory (MDS) matrix by using bi parameters and their inverses given in the matrix form A.

The proposed method can be divided into two stages as follows:

  • By Lemma 6, representative involutory MDS matrices are found by searching through all possible candidates using the matrix form R1, which constitutes the search side of the proposed method. This allows us to use 8 parameters ( r11, r12, r13, r21, r22, r31, r32 and r33) in the search phase of the matrix R1. Hence, the search space for finding representative involutory MDS matrices over F2m is (2m1)8 by excluding the finite field element 0 in all parameters (the finite field element 0 is ignored in the search space calculation because all entries of an MDS matrix should be non-zero). However, when searching for finding all 4×4 involutory MDS matrices in a conventional manner, 16 parameters are needed to define a 4×4 finite field matrix, which makes the search space of a conventional search (2m1)16. Thus, our hybrid method reduces the search space complexity from approximately (2m1)16 to (2m1)8, which is approximately at the level of n, where n represents the number of all invertible 4×4 matrices over F2m.

  • By Theorem 8, all 4×4 involutory MDS matrices are generated directly by using representative involutory MDS matrices found by search in the previous stage and bi parameters.

In Examples 10 and 11, we obtain 4×4 involutory MDS matrices over F24 by using the proposed method, which is also given in the literature.

Example 10. Let F24 be generated by the primitive element α which is a root of the primitive polynomial x4+x+1 (0x13). Consider the 4×4 θ-circulant involutory MDS matrix M1 recently given in Cauchois & Loidreau (2019).

M1=[α1α14α7α14α21α13α11α13α411α7α11α8]over F24/0x13. In fact, the involutory MDS matrix M1 belongs to a class of which representative involutory MDS matrix is as follows:

RIM1=[αα7α5α11α7α2α14α10α5α14α4α13α11α10α13α8]which is symmetric and is also 4×4 θ-circulant involutory MDS matrix. The matrix M1 can easily be obtained by applying the parameters b1=α8, b2=α9 and b3=α11 (and their inverses) to representative involutory MDS matrix RIM1.

Example 11. Let F24 be generated by the primitive element α which is a root of the primitive polynomial x4+x+1 (0x13). Consider the 4×4 involutory MDS matrix M2 given in Pehlivanoğlu et al. (2018).

M2=[11111αα2α5α7α10αα5α9α2α101]over F24/0x13. In fact, the involutory MDS matrix M2 belongs to a class of which representative involutory MDS matrix is as follows:

RIM2=[1α6α2α3α9αα13α2α5α14αα6α6α5α91]

The involutory MDS matrix M2 can easily be obtained by applying the parameters b1=α9, b2=α13 and b3=α12 (and their inverses) to representative involutory MDS matrix RIM2.

Experimental results

In this section, we generate all 4×4 involutory MDS matrices over F23 and F24 by finding all representative involutory MDS matrices over these finite fields. In order to generate all representative involutory MDS matrices, we use the the matrix form R1 given in the “Proposed Method” section.

The experimental results show that there are 48 and 71,856 representative involutory and MDS matrices over F23 and F24, respectively. After applying bi parameters to representative involutory MDS matrices, we generated totally 48(231)3=16,464 and 71,856(241)3=242,514,000227.85 4×4 involutory and MDS matrices over F23 and F24, respectively. Note that one can obtain 24 and 1,512 involutory MDS matrices over F23 and F24 by searching and using Hadamard matrix form, which are, in fact, a small amount of representative involutory MDS matrices. Then, by using GHadamard matrix form given in Pehlivanoğlu et al. (2018), one can totally generate 24(231)3=8,232 and 1,512(241)3=5,103,000222.28 4×4 involutory and MDS matrices over these finite fields.

From the experimental results given above, it is shown that (involutory and MDS) Hadamard matrix form, which is also representative (involutory and MDS) matrix form, can approximately generate 2.1% of all involutory MDS matrices over F24. It is likely that this percentage will reduce for involutory MDS matrices over larger finite fields. Since Lemma 6 and Theorem 8 given in “Proposed Method” section can be updated for 2k×2k involutory matrices, it is clear that (involutory and MDS) Hadamard matrix form can be used to generate a small subset of all 2k×2k involutory MDS matrices, where k>1, especially over larger finite fields.

Remark 12. As stated above, there are 71,856 4×4 representative involutory MDS matrices over F24, 1,512 of which can also be obtained by 4×4 Hadamard matrix (by search). Then, 70,344 ( =71,8561,512) 4×4 representative involutory MDS matrices cannot be generated by 4×4 Hadamard matrix form. That means, by using the method given in Sakallı et al. (2020), one can map these representative involutory MDS matrices in order to obtain directly isomorphic counterparts over F28. Note that there are 4 isomorphisms from the finite field F24 (defined by any irreducible polynomial) to the finite field F28 (defined by any irreducible polynomial). Hence, by using the parameters b1, b2, b3 F2m{0} and their inverses, one can directly generate 4,665,600,972,000 (= (255)370,3444242.08) 4×4 involutory MDS matrices over F28 (defined by any irreducible polynomial), which cannot also be generated by GHadamard matrix.

In Tables 1 and 2, we present the number of occurrences of 1s in all 4×4 involutory MDS matrices over F23 and F24, respectively.

Table 1:
The number of occurrences of 1s in all 4 × 4 involutory MDS matrices over F23.
0 1 2 3 4 5 6 7 8 9
The number of matrices 1,368 2,424 4,608 3,600 1,944 1,296 720 432 0 72
DOI: 10.7717/peerj-cs.1577/table-1
Table 2:
The number of occurrences of 1s in all 4 × 4 involutory MDS matrices over F24.
0 1 2 3 4 5 6 7 8 9
The number of matrices 73,266,816 88,442,736 53,722,608 20,148,576 5,555,760 1,146,768 206,160 21,120 3,264 192
DOI: 10.7717/peerj-cs.1577/table-2

Remark 13. In Junod & Vaudenay (2005b), the maximum number of occurrences of 1s in 4×4 MDS matrices is shown to be 9. In this article, we modify this result by showing that the maximum number of occurrences of 1s for 4×4 involutory and MDS matrices is also 9 (see “Appendix” section).

In this article, we generate the lightest 4×4 involutory MDS matrices over F23, F24 and F28 in terms of XOR count. To do so, we first generate involutory MDS matrices with low naive XOR counts. In this context, we consider all 4×4 involutory MDS matrices over F23 and consider 4×4 involutory MDS matrices over F24 with up to a threshold naive XOR count. For 4×4 involutory MDS matrices over F28, we consider anti-diagonal symmetric matrices with up to a threshold naive XOR count and choose among them the ones whose results are up to a maximum of 110 XOR operations after optimizing with PAAR 1. Finally, 4×4 involutory MDS matrices suitable for the given criteria are optimized with BDKCI algorithm.

In Example 14, we present a new 4×4 involutory MDS matrix over F23 generated by using the proposed method, which can be implemented by only 13 XOR operations with depth 6.

Example 14. Let F23 be generated by the primitive element α which is a root of the primitive polynomial x3+x2+1 (0xd). Consider the 4×4 involutory MDS matrix M3 as given below:

M3=[1111α5αα21α31α2α4α6α1α4]over F23/0xd. In fact, the involutory MDS matrix M3 belongs to a class of which representative involutory MDS matrix is as follows:

RIM3=[1α6α5α3α6ααα4α5αα2α2α3α4α2α4]

The involutory MDS matrix M3 with d-XOR count 56 ( =20+433) can easily be obtained by applying the parameters b1=α, b2=α2 and b3=α4 (and their inverses) to representative involutory MDS matrix RIM3. After applying BDKCI heuristic to the matrix M3, we find the circuits for the matrix M3 with 13 XORs and depth 5 using XOR3 and XOR4 gates (please see Table 5 for details).

Table 3:
Comparison of 4 × 4 involutory and non-involutory MDS matrices in view of XOR counts with different depths obtained by using BDKCI heuristic.
Over F2m/Poly Cost Ref.
# XOR2 # XOR3 # XOR4 Depth GC ASIC1(GE) ASIC2(GE) ASIC3(GE) ASIC4(GE)
Involutory
F24/0x13 10 20 4 30 85 94.11 109 126.5 Sim et al. (2015)
F24/0x13 4 22 5 26 79.5 89.654 102.4 115.84 Sarkar & Syed (2016)
F24/0x13 5 23 4 28 84.75 95.35 109.1 123.83 Jean et al. (2017)
F24/0x13 4 21 5 25 76.25 85.939 98.2 111.18 Exam. 15
F23/0xd 2 11 3 13 61.5 67.93 77.15 75.21 Pehlivanoğlu et al. (2023)
F23/0xd 5 8 5 13 56.25 62.575 71 71.22 Exam. 14
Non-involutory
F24/0x13 10 12 5 22 92.5 103.15 117 118.48 Sim et al. (2015)
F24/0x13 6 14 4 20 89.5 99.29 112.7 111.82 Liu & Sim (2016)
F24/0x13 4 1 15 4 20 86.25 94.139 107.95 107.83 Beierle, Kranz & Leander (2016)
F24/0x19 6 14 4 20 89.5 99.29 112.7 111.82 Beierle, Kranz & Leander (2016)
F24/0x19 2 5 13 3 20 85.25 94.037 107.25 107.83 Sarkar & Syed (2016)
F24/0x13 2 5 13 5 20 85.25 94.037 107.25 107.83 Jean et al. (2017)
F24/0x13 3 3 13 9 19 80.75 88.588 101.35 101.84 Sajadieh & Mousavi (2021)
F24/0x19 1 2 15 10 18 83.5 91.911 104.65 102.5 Sajadieh & Mousavi (2021)
F24/0x13 1 8 10 3 19 78 86.701 98.6 100.51 Exam. 16
DOI: 10.7717/peerj-cs.1577/table-3

Bold values indicate the best results.

Table 4:
Comparison of best known implementation cost of few 32 × 32 matrices (linear layers of block ciphers) in ASIC libraries.
Matrix Cost
# XOR2 # XOR3 # XOR4 GC ASIC1(GE) ASIC2(GE) ASIC3(GE) ASIC4(GE)
AES 31 26 4 61 166.5 Liu et al. (2022)
22 21 12 55 243 Liu et al. (2022)
ANUBIS Barreto & Rijmen (2000) 28 26 7 61 175.5 Liu et al. (2022)
21 24 12 57 253.6 Liu et al. (2022)
CLEFIA M0 Shirai et al. (2007) 32 32 2 66 178 Liu et al. (2022)
23 16 18 57 258.9 Liu et al. (2022)
CLEFIA M1 Shirai et al. (2007) 35 31 3 69 185.7 Liu et al. (2022)
20 27 13 60 270.2 Liu et al. (2022)
FOX MU4 Junod & Vaudenay (2005a) 46 43 89 231.7 Banik, Funabiki & Isobe, 2021
32 26 20 78 347.5 Liu et al. (2022)
Exam. 17 8 44 52 (depth 5) 159 179.308 204.8 231.68
3 10 29 42 (depth 4) 183.5 202.593 230.75 230.3
DOI: 10.7717/peerj-cs.1577/table-4

Bold values indicate the best results.

Table 5:
The global optimization result of M3 with 13 XORs and depth 5, where xis [ x0,x1,,x11], yis [ y0,y1,,y11] and tjs represent input bits, output bits, and temporary variables, respectively.
No. Operation No. Operation
1 y1=x1+x4+x7+x10 8 y7=x5+x11+y11
2 y0=x0+x3+x6+x9 9 y5=y2+y8+y11
3 y2=x2+x5+x8+x11 10 y9=x8+x11+y1+y5
4 t3=x0+x1+x5+x8 11 y6=x4+x10+y7+y10
5 y8=x3+x7+y0+t3 12 y3=x0+x6+y8
6 y10=x3+x6+y2+y8 13 y4=x1+x7+y6
7 y11=x4+x9+t3
DOI: 10.7717/peerj-cs.1577/table-5

In Example 15, we present a new 4×4 involutory MDS matrix over F24 by using the proposed method, which is better than the matrices given in the literature. It can be implemented by only 25 XOR operations with depth 5, whereas the previously known lightest one (Sarkar & Syed, 2016) requires 26 XOR operations with the same depth using XOR2 and XOR3 gates.

Example 15. Let F24 be generated by the primitive element α which is a root of the primitive polynomial x4+x+1 (0x13). Consider 4×4 involutory MDS matrix M4 as given below:

M4=[1α4α14α1α14αα14α8αα14α4α2α811]over F24/0x13. In fact, the involutory MDS matrix M4 belongs to a class of which representative involutory MDS matrix is as follows:

RIM4=[11α9α7α4α141α9α13α2α141α11α13α41]

The involutory MDS matrix M4 with d-XOR count 79 (=31+4×3×4) can easily be obtained by applying the parameters b1=α4, b2=α5 and b3=α9 (and their inverses) to representative involutory MDS matrix RIM4. After applying BDKCI heuristic to the matrix M4, we find the circuits for the matrix M4 with 25 XORs and depth 5 using XOR2 and XOR3 gates (please see Table 6 for details).

Table 6:
The global optimization result of M4 with 25 XORs and depth 5, where xis [ x0,x1,,x15], yis [ y0,y1,,y15] and tjs represent input bits, output bits, and temporary variables, respectively.
No. Operation No. Operation
1 t0=x7+x15 14 t13=x1+t0+y7
2 y6=x2+x9+t0 15 y9=x2+x13+t13
3 t2=x3+x4+x10 16 y1=x3+x5+t13
4 y7=x12+t2 17 t16=x2+x4+x8
5 t4=x5+x11+x13 18 y0=x0+y6+t16
6 y2=x2+x6+t4 19 y12=x6+x12+t16
7 t6=x3+x6+x14 20 t19=x4+x12
8 y10=x0+y2+t6 21 y8=x2+y0+t19
9 y3=x7+x8+t6 22 y4=x0+t4+t19
10 y11=x1+t0+y3 23 t22=x11+y11
11 t10=x3+x7+y2 24 y15=x5+y3+t22
12 y13=x9+x11+t10 25 y5=x3+x15+t22
13 y14=t2+y10+t10
DOI: 10.7717/peerj-cs.1577/table-6

In Example 16, we present a new 4×4 non-involutory MDS matrix over F24. We have found this matrix by searching through all anti-diagonal symmetric matrices with the same elements of the 4×4 involutory MDS matrix presented in Example 15. This non-involutory MDS matrix can be implemented by only 19 XOR operations with depth 3.

Example 16. Let F24 be generated by the primitive element α which is a root of the primitive polynomial x4+x+1 (0x13). Consider the 4×4 anti-diagonal symmetric non-involutory MDS matrix M5 as given below:

M5=[α141α211α8αα21α14α81111α14]over F24/0x13. The non-involutory MDS matrix M5 is with d-XOR count 68 (=20+4×3×4). After applying BDKCI heuristic to M5, we find the circuits with 19 XORs and depth 3 using XOR2, XOR3 and XOR4 gates.

As shown in Table 3, our proposed method leads to better results than the best-known XOR GCs and GEs given in the literature. In the case of involutory 4×4 MDS matrices over F24 with depth 5, the matrix M4 presented in Example 15 offers 1 XOR operations improvement from the best-known result given in Sarkar & Syed (2016). On the other hand, the lightest 4×4 involutory MDS matrix M3 over F23 with the lowest known XOR count 13 (the lowest XOR count known so far) with depth 5 is presented in Table 3. In non-involutory MDS matrices section in Table 3, we compare the matrix M5 presented in Example 16 with the best known XOR count results in the literature. The matrix M5 as depth 3 is the lightest XOR count result with 19 XOR operations offering 1 XOR operations improvement.

Example 17. Let F28 be generated by the primitive element α which is a root of the primitive polynomial x8+x5+x3+x2+1 (0x12d). Consider the 4×4 involutory MDS matrix M6 as given below:

M6=[1α36α254α38α2541αα2541α391α36α21α2541]over F28/0x12d. In fact, the involutory MDS matrix M6 belongs to a class of which representative involutory MDS matrix is as follows:

RIM6=[1α145α127α20α1451α20α127α127α201α145α20α127α1451]

The involutory MDS matrix M6 with d-XOR count 162 ( =66+438) can easily be obtained by applying the parameters b1=α146, b2=α127 and b3=α18 (and their inverses) to representative involutory MDS matrix RIM6. After applying BDKCI heuristic to the matrix M6, we find the circuit for the matrix M6 with 52 XOR operations and depth 5 using XOR2 and XOR3 gates. Moreover, the same matrix M6 requires only 42 XOR operations with depth 4 using XOR2, XOR3 and XOR4 gates (please see Table 7 for details).

Table 7:
The global optimization result of M6 with 42 XORs and depth 4, where xis [ x0,x1,,x31], yis [ y0,y1,,y31] and tjs represent input bits, output bits, and temporary variables, respectively.
No. Operation No. Operation
1 y8=x1+x8+x23+x25 23 y4=y14+t5+t18
2 y24=x6+x8+x17+x24 24 y20=x14+x20+t15+t18
3 y14=x7+x14+x21+x31 25 t24=x15+x19+x26+x29
4 y31=x5+x15+x16+x31 26 y12=y16+y31+t24
5 y15=x0+x15+x22+x24 27 y26=x16+y0+y24+t24
6 t5=x7+x9+x16+x28 28 y2=x2+x26+t12+t24
7 y21=y14+y31+t5 29 t28=x3+x10+ x13+ x24
8 y25=x25+x18+x28+t5 30 y29=x15+y22+t28
9 y7=x14+t5 31 y10=x0+y8+y17+t28
10 t9=x10+x15+x24+x29 32 y19=x12+x31+t24+t28
11 y22=x6+x22+t9 33 t32=x7+x28+t24+y2
12 y0=x0+x8+x17+t9 34 y9=t5+y16+t32
13 t12=x12+x16+x26+x31 35 y28=x21+x31+t32
14 y5=x5+x16+x22+t12 36 y18=x14+x25+y25+t32
15 y16=x0+x24+t12 37 t36=x8+x20+x27+x30
16 t15=x8+x13+x27 38 y27=x6+y8+y23+t36
17 y6=x6+x23+t15 39 y13=y6+t36
18 y17=x1+x17+x25+t15 40 y3=x15+x29+t28+t36
19 t18=x4+x11+x25+x30 41 t40=x23+x30+y25+t18
20 y23=x4+x7+x23+t18 42 y11=t5+t40
21 y30=x14+x30+t18+y23
22 y1=x8+y8+y25+y23
DOI: 10.7717/peerj-cs.1577/table-7

In Table 4, we compare the matrix M6 with the circuit implementations of ciphers given in the literature. When comparing the matrix M6 with the previous best-known implementations of linear layers of some block ciphers, the involutory MDS matrix M6 improves the results in GCs and GEs with the minimum circuit depths.

Note that in Tables 3 and 4 we do not only consider the construction of circuits with minimum GCs (i.e., XOR gate counts) and GEs but also take into account the minimum circuit depth for low latency criterion. Since we stopped the algorithm after four hours of runtime for each matrix, lighter circuits can be found because the proposed new hybrid method allows us to generate all 4×4 involutory MDS matrices over F2m. For further improvements, more runtime may be required.

Conclusion and future works

In this article, we proposed a new hybrid method to generate all 4×4 involutory MDS matrices over F2m. The proposed method reduces the search space complexity at the level of n by searching and finding representative involutory MDS matrices, where n represents the number of all invertible 4×4 matrices over F2m. In this respect, we were able to generate all 4×4 involutory MDS matrices over F23 and F24. For the finite field F28, the search space to generate all representative involutory MDS matrices is approximately 264, which is still too high to be searched for. Nevertheless, one can easily generate 4×4 involutory and MDS matrices over F28 by focusing on representative involutory MDS matrices. In the future, if the number of parameters in R1 presented in the “Proposed Method” section is reduced by eliminating some parameters and a new search form is obtained, then the search space for finding representative involutory MDS matrices for larger finite fields can be reduced. However, this new form is highly possible to be a more complex structure than R1. As a result, we believe that our proposed method is not only useful for generating all involutory MDS matrices over F2m, but it is also useful for other methods in the literature like the methods used for constructing lightweight involutory MDS matrices over the general linear groups GL ( m, F2).

Declarations

All authors have read and agreed to the submitted version of the manuscript. Funding is not applicable. The authors declare no conflict of interest. Data sharing is not applicable to this article as no data sets were generated or analyzed during the current study.

Appendix

Let F24 be generated by the primitive element α which is a root of the primitive polynomial x4+x+1 (0x13). Consider 4×4 representative involutory MDS matrix as given below:

RIM7=[1α4α11α13α11α12α11α11α3α8α12α4α5α3α111]over F24/0x13. Then, one can generate 4×4 involutory and MDS matrix M7 by applying the parameters b1=α11, b2=α4 and b3=1 (and their inverses) to RIM7 as follows:

M7=[111α131α12α41α141α121α5α1411].

The number of 1s in the matrix M7 is 9, which is the maximum number of occurrences of 1s in 4×4 MDS matrices.

1 Citation   Views   Downloads