Discrete antiderivatives for functions over $$\mathop {{\mathbb {F}}}_p^n$$

Abstract In the design of cryptographic functions, the properties of their discrete derivatives have to be carefully considered, as many cryptographic attacks exploit these properties. One can therefore attempt to first construct derivatives with the desired properties and then recover the function itself. Recently Suder developed an algorithm for reconstructing a function (also called antiderivative) over the finite field $$\mathop {{\mathbb {F}}}_{2^n}$$ <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML"><mml:msub><mml:mi>F</mml:mi><mml:msup><mml:mn>2</mml:mn><mml:mi>n</mml:mi></mml:msup></mml:msub></mml:math> given its discrete derivatives in up to n linearly independent directions. Pasalic et al. also presented an algorithm for determining a function over $$\mathop {{\mathbb {F}}}_{p^n}$$ <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML"><mml:msub><mml:mi>F</mml:mi><mml:msup><mml:mi>p</mml:mi><mml:mi>n</mml:mi></mml:msup></mml:msub></mml:math> given one of its derivatives. Both algorithms involve solving a $$p^n \times p^n$$ <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML"><mml:mrow><mml:msup><mml:mi>p</mml:mi><mml:mi>n</mml:mi></mml:msup><mml:mo>×</mml:mo><mml:msup><mml:mi>p</mml:mi><mml:mi>n</mml:mi></mml:msup></mml:mrow></mml:math> system of linear equations; the functions are represented as univariate polynomials over $$\mathop {{\mathbb {F}}}_{p^n}$$ <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML"><mml:msub><mml:mi>F</mml:mi><mml:msup><mml:mi>p</mml:mi><mml:mi>n</mml:mi></mml:msup></mml:msub></mml:math> . We show that this apparently high computational complexity is not intrinsic to the problem, but rather a consequence of the representation used. We describe a simpler algorithm, with quasilinear complexity, provided we work with a different representation of the functions. Namely they are polynomials in n variables over $$\mathop {{\mathbb {F}}}_{p}$$ <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML"><mml:msub><mml:mi>F</mml:mi><mml:mi>p</mml:mi></mml:msub></mml:math> in algebraic normal form (for $$p&gt;2$$ <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML"><mml:mrow><mml:mi>p</mml:mi><mml:mo>&gt;</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:math> , additionally, we need to use the falling factorial polynomial basis) and the directions of the derivatives are the canonical basis of $$\mathop {{\mathbb {F}}}_{p}^n$$ <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML"><mml:msubsup><mml:mi>F</mml:mi><mml:mrow><mml:mi>p</mml:mi></mml:mrow><mml:mi>n</mml:mi></mml:msubsup></mml:math> . Algorithms for other representations (the directions of the derivatives not being the canonical basis vectors or the univariate polynomials over $$\mathop {{\mathbb {F}}}_{p^n}$$ <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML"><mml:msub><mml:mi>F</mml:mi><mml:msup><mml:mi>p</mml:mi><mml:mi>n</mml:mi></mml:msup></mml:msub></mml:math> mentioned above) can be obtained by combining our algorithm with converting between representations. However, the complexity of these conversions is, in the worst case, exponential. As an application, we develop a method for constructing new quadratic PN (Perfect Nonlinear) functions. We use an approach similar to the one of Suder, who used antiderivatives to give an alternative formulation of the methods of Weng et al. and Yu et al. for searching for new quadratic APN (Almost Perfect Nonlinear) functions.