Construction of a set of circulant matrix submatrices for faster MDS matrix verification

Stanislav S. Malakhov
DOI: https://doi.org/10.48550/arXiv.2110.13325
2021-12-07
Abstract:The present paper focuses on the construction of a set of submatrices of a circulant matrix such that it is a smaller set to verify that the circulant matrix is an MDS (maximum distance separable) one, comparing to the complete set of square submatrices needed in general case. The general MDS verification method requires to test for singular submatrices: if at least one square submatrix is singular the matrix is not MDS. However, the complexity of the general method dramatically increases for matrices of a greater dimension. We develop an algorithm that constructs a smaller subset of submatrices thanks to a simple structure of circulant matrices. The algorithm proposed in the paper reduces the size of the testing set by approximately two matrix orders.
Numerical Analysis
What problem does this paper attempt to address?
The problem that this paper attempts to solve is how to verify more efficiently whether a circulant matrix is a maximum - distance - separable (MDS) matrix. Specifically, the paper proposes a method for constructing a set of sub - matrices of the circulant matrix, which significantly reduces the number of sub - matrices required in the verification process, thereby reducing the computational complexity. ### Problem Background MDS matrices have important applications in cryptography, especially in the linear transformation responsible for the diffusion property in block cipher algorithms. By definition, a matrix is an MDS matrix if and only if each of its square sub - matrices is non - singular. However, as the dimension of the matrix increases, the traditional verification methods become very time - consuming and complex because all possible square sub - matrices need to be checked. ### Core Contributions of the Paper 1. **Constructing a Smaller Set of Sub - Matrices**: The paper proposes a method for constructing a set of sub - matrices of the circulant matrix. The number of these sub - matrices is far less than all the square sub - matrices required by traditional methods. Through this method, the amount of computation required to verify MDS matrices can be greatly reduced. 2. **Utilizing Equivalence and Transpose Properties**: The paper proves that some sub - matrices of the circulant matrix can be transformed into each other through cyclic shifts of rows and columns, and the absolute values of the determinants of these sub - matrices are equal. In addition, the transpose and inverse transpose of sub - matrices are also considered, further reducing the number of sub - matrices that need to be verified. 3. **Algorithm Implementation**: The paper provides a clear algorithm for constructing the required set of sub - matrices, ensuring that these sub - matrices cover all possible cases without missing any important combinations. 4. **Theoretical Analysis and Experimental Results**: The paper conducts a theoretical analysis of the proposed method and verifies its effectiveness through experiments. The results show that for circulant matrices of different orders, the new method can significantly reduce the number of required sub - matrices, thereby improving the verification efficiency. ### Markdown Representation of Formulas - Definition of MDS matrix: \[ M \text{ is MDS matrix} \iff \forall \text{ square sub - matrix } A \subseteq M, \det(A) \neq 0 \] - Forms of circulant matrices \(L\) and \(R\): \[ L=\begin{pmatrix} a_0 & a_1 & a_2 & \cdots & a_{n - 1}\\ a_1 & a_2 & a_3 & \cdots & a_0\\ a_2 & a_3 & a_4 & \cdots & a_1\\ \vdots & \vdots & \vdots & \ddots & \vdots\\ a_{n - 1} & a_0 & a_1 & \cdots & a_{n - 2} \end{pmatrix}, R = \begin{pmatrix} a_0 & a_1 & a_2 & \cdots & a_{n - 2}&a_{n - 1}\\ a_{n - 1} & a_0 & a_1 & \cdots & a_{n - 3}&a_{n - 2}\\ a_{n - 2} & a_{n - 1} & a_0 & \cdots & a_{n - 4}&a_{n - 3}\\ \vdots & \vdots & \vdots & \ddots & \vdots&\vdots\\ a_1 & a_2 & a_3 & \cdots & a_{n - 1}&a_0 \end{pmatrix} \] - Construction of sub - matrices \(A^{(k)}_L\) and \(A^{(k)}_R\): \[ A^{(k)}_L = L[\pi((i_0 + k)\bmod n),\ldots,\pi((i_{u - 1}+ k)\bmod n);\rho((j_0 - k)\bmod n),\ldots,\rho((j_{v - 1}- k)\bmod n)] \]