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 a priori simple, it is very difficult in practice to test whether two functions are EA-equivalent. This problem has two variants: EA-testing deals with figuring out whether the two functions can be EA-equivalent, and EA-recovery is about recovering the tuple $(A,B,C)$ if it exists. In this paper, we present a new efficient algorithm that efficiently solves the EA-recovery problem for quadratic functions. Though its worst-case complexity is obtained when dealing with APN functions, it supersedes all previously known algorithms in terms of performance, even in this case. This approach is based on the Jacobian matrix of the functions, a tool whose study in this context can be of independent interest. In order to tackle EA-testing efficiently, the best approach in practice relies on class invariants. We provide an overview of the literature on said invariants along with a new one based on the \emph{ortho-derivative} which 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 both very fast to compute, and highly discriminating.
翻译:伸缩等同( EA) 是两个矢量布林函数之间的等值关系 。 问题有两个变式 : EA 测试处理如何确定两个函数是否相当于 EA- 等值, EA- 恢复处理是如何在存在的情况下恢复 tuple $( A, B, C) 。 在本文中, 我们展示了一种新的高效算法, 有效解决 EA- 回收问题 $ G = A = cic F\ cic B + C 美元。 虽然在处理 APN 函数时, 其最坏的复杂程度可以取代所有先前已知的运算法, 即便在此情况下, 也很难测试两个函数是否相当于 EA- 等值; EA- 测试处理两个函数是否相当于 EA- 等值, EA- B, C 和 等值是 等值 。 为了有效处理 EA- 等值 $ ( A, B, B, C) 和 等值 等值中, 最佳算法是快速 。