English

An Affine Equivalence Algorithm for S-boxes based on Matrix Invariants

Cryptography and Security 2024-11-20 v1 Data Structures and Algorithms

Abstract

We investigate the affine equivalence (AE) problem of S-boxes. Given two S-boxes denoted as S1S_1 and S2S_2, we aim to seek two invertible AE transformations A,BA,B such that S1A=BS2S_1\circ A = B\circ S_2 holds. Due to important applications in the analysis and design of block ciphers, the investigation of AE algorithms has performed growing significance. In this paper, we propose zeroization on S-box firstly, and the AE problem can be transformed into 2n2^n linear equivalence problems by this zeroization operation. Secondly, we propose standard orthogonal spatial matrix (SOSM), and the rank of the SOSM is invariant under AE transformations. Finally, based on the zeroization operation and the SOSM method, we propose a depth first search (DFS) method for determining AE of S-boxes, named the AE\_SOSM\_DFS algorithm. Using this matrix invariant, we optimize the temporal complexity of the algorithm to approximately 12n\frac{1}{2^n} of the complexity without SOSM. Specifically, the complexity of our algorithm is O(23n)O(2^{3n}). In addition, we also conducted experiments with non-invertible S-boxes, and the performance is similar to that of invertible S-boxes. Moreover, our proposed algorithm can effectively handle S-boxes with low algebraic degree or certain popular S-boxes such as namely AES and ARIA\_s2, which are difficult to be handled by the algorithm proposed by Dinur (2018). Using our algorithm, it only takes 5.5 seconds to find out that the seven popular S-boxes namely AES, ARIA\_s2, Camellia, Chiasmus, DBlock, SEED\_S0, and SMS4 are affine equivalent and the AE transformations of these S-boxes are provided.

Cite

@article{arxiv.2411.12360,
  title  = {An Affine Equivalence Algorithm for S-boxes based on Matrix Invariants},
  author = {Xincheng Hu and Xiao Zeng and Zhaoqiang Liu and Guowu Yang},
  journal= {arXiv preprint arXiv:2411.12360},
  year   = {2024}
}
R2 v1 2026-06-28T20:04:46.384Z