Paper 2018/115
An Improved Affine Equivalence Algorithm for Random Permutations
Itai Dinur
Abstract
In this paper we study the affine equivalence problem, where given two functions $\vec{F},\vec{G}: \{0,1\}^n \rightarrow \{0,1\}^n$, the goal is to determine whether there exist invertible affine transformations $A_1,A_2$ over $GF(2)^n$ such that $\vec{G} = A_2 \circ \vec{F} \circ A_1$. Algorithms for this problem have several wellknown applications in the design and analysis of Sboxes, cryptanalysis of whitebox ciphers and breaking a generalized EvenMansour scheme. We describe a new algorithm for the affine equivalence problem and focus on the variant where $\vec{F},\vec{G}$ are permutations over $n$bit words, as it has the widest applicability. The complexity of our algorithm is about $n^3 2^n$ bit operations with very high probability whenever $\vec{F}$ (or $\vec{G})$ is a random permutation. This improves upon the best known algorithms for this problem (published by Biryukov et al. at EUROCRYPT 2003), where the first algorithm has time complexity of $n^3 2^{2n}$ and the second has time complexity of about $n^3 2^{3n/2}$ and roughly the same memory complexity. Our algorithm is based on a new structure (called a \emph{rank table}) which is used to analyze particular algebraic properties of a function that remain invariant under invertible affine transformations. Besides its standard application in our new algorithm, the rank table is of independent interest and we discuss several of its additional potential applications.
Metadata
 Available format(s)
 Category
 Secretkey cryptography
 Publication info
 A minor revision of an IACR publication in EUROCRYPT 2018
 Keywords
 Affine equivalence problemblock cipherEvenMansour ciphercryptanalysisrank table.
 Contact author(s)
 dinuri @ cs bgu ac il
 History
 20180131: received
 Short URL
 https://ia.cr/2018/115
 License

CC BY
BibTeX
@misc{cryptoeprint:2018/115, author = {Itai Dinur}, title = {An Improved Affine Equivalence Algorithm for Random Permutations}, howpublished = {Cryptology ePrint Archive, Paper 2018/115}, year = {2018}, note = {\url{https://eprint.iacr.org/2018/115}}, url = {https://eprint.iacr.org/2018/115} }