Extended Affine (EA) equivalence is the equivalence relation between two vectorial Boolean functions $F$ and $G$ such that there exist two affine permutations $A$, $B$, and an affine function $C$ satisfying $G = A \circ F \circ B + C$. While the problem has a simple formulation, it is very difficult in practice to test whether two functions are EA-equivalent. This problem has two variants: {\em EA-partitioning} deals with partitioning a set of functions into disjoint EA-equivalence classes, and \emph{EA-recovery} is about recovering the tuple $(A,B,C)$ if it exists. In this paper, we present a new algorithm that efficiently solves the EA-recovery problem for quadratic functions. Although its worst-case complexity occurs when dealing with APN functions, it supersedes, in terms of performance, all previously known algorithms for solving this problem for all quadratic functions and in any dimension, even in the case of APN functions. This approach is based on the Jacobian matrix of the functions, a tool whose study in this context can be of independent interest. The best approach for EA-partitioning in practice mainly relies on class invariants. We provide an overview of the known invariants along with a new one based on the \emph{ortho-derivative}. This new invariant is applicable to quadratic APN functions, a specific type of functions that is of great interest, and of which tens of thousands need to be sorted into distinct EA-classes. Our ortho-derivative-based invariant is very fast to compute, and it practically always distinguishes between EA-inequivalent quadratic APN functions.
翻译:伸缩等同( EA) 是两个矢量布尔函数 $F$ 和 $G$ 之间的等值关系, 这样就存在两个 折数变换 $A$, $B$, 和 一个满足 $G = A\ circ F\ cipher B + C$ 的折数函数 。 虽然问题有一个简单的公式, 但在实践中很难测试两个函数是否为 EA- 等效 。 这个问题有两个变式 : 将一组函数分割成不连接的 EA- 等值类 ; 和 eemphe{ EA- 恢复} 如果存在, 则存在两个 折数变换 美元 $A, $B$B$B$, 如果存在, 和 a econqual 等值函数, 我们提出一种新的算法算法 。 在一个变数组函数中, 最明显的变数法 。 在一个变数组中, 我们的变数矩阵中, 可以提供一个新的变数 。