Author_Institution :
Depto. Mat. Aplic. a las Tecnol. de la Informacion, UPM, Madrid, Spain
Abstract :
In this paper, a C++ class for analising Vector Boolean Functions from a cryptographic perspective is presented. This implementation uses the NTL library from Victor Shoup, replacing some of the general purpose modules of this library by some more specialized and better suited to cryptography, and adding new modules that complement the existing ones. With this class, we can obtain the classical representation of Vector Boolean Function such as its Truth Table and Algebraic Normal Form (ANF). It is possible to calculate mathematical structures such as the Walsh Spectrum, Linear Profile, Differential Profile and Autocorrelation Spectrum. Cryptographic criteria such as nonlinearity, linearity distance, order of correlation immunity, bal-ancedness, algebraic degree and propagation criterion can be obtained with this class. It permits to find out some interesting cryptologic parameters such as linear structures, linear potential, differential potential and the maximum possible nonlinearity or linearity distance of a Vector Boolean Function with the same dimensions. Finally, operations such as to identify if two Vector Boolean Functions are equal, their sum, direct sum, composition, bricklayering, adding coordinate functions and obtaining the polynomial representation over GF(2n) of a Vector Boolean Function given the irreducible polynomial and its Truth Table are presented.
Keywords :
Boolean functions; C++ language; cryptography; polynomial approximation; C++ class; NTL library; Victor Shoup; Walsh spectrum; algebraic degree; algebraic normal form; autocorrelation spectrum; bricklayering; correlation immunity; cryptographic perspective; differential potential; differential profile; direct sum; general purpose modules; linear potential; linear profile; linear structures; linearity distance; mathematical structures; maximum possible nonlinearity; polynomial representation; propagation criterion; truth table; vector Boolean functions; Boolean functions; Correlation; Cryptography; Libraries; Linearity; Polynomials; Vectors; Autocorrelation spectrum; Balancedness; C++ library; Differential profile; Linearity distance; Non-linearity; Propagation criterion; Resiliency; Vector boolean function; Walsh transform;