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} 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} given one of its derivatives. Both algorithms involve solving a p^n times p^n system of linear equations; the functions are represented as univariate polynomials over mathop {{mathbb {F}}}_{p^n}. 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} in algebraic normal form (for p>2, 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. 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} 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.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.