# [Resource Topic] 2018/115: An Improved Affine Equivalence Algorithm for Random Permutations

Welcome to the resource topic for 2018/115

Title:
An Improved Affine Equivalence Algorithm for Random Permutations

Authors: 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 well-known applications in the design and analysis of Sboxes, cryptanalysis of white-box ciphers and breaking a generalized Even-Mansour 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.

Feel free to post resources that are related to this paper below.

Example resources include: implementations, explanation materials, talks, slides, links to previous discussions on other websites.