The Dillon-Wolfe function for Cryptography
Summary
Boolean functions, f: F_2^n -> F_2, have applications in cryptography. To encrypt and decrypt a message in symmetric cryptography, substitution permutation networks (SPN) are used. An example of such an SPN is the Advanced Encryption Standard (AES). An S-box is a component of an SPN which is essential for the security of that cipher. Such an S-box consists of vectorial Boolean functions, f: F_2^n -> F_2^m, which satisfies certain cryptographic criteria at high levels. Two criteria are that an S-box is a permutation and that it is almost perfect nonlinear (APN). Recently the first APN permutation in even dimension was found by Dillon and Wolfe (2009) and is therefore called a Dillon-Wolfe function. It is the purpose of this master thesis to explain in which context Boolean functions are used as an S-box in cryptography, to study Boolean functions in general and to use this to explain how to find a Dillon-Wolfe function. Further we give a general upper bound on the algorithm that Dillon and Wolfe used, we determine other cryptographic properties of a Dillon-Wolfe function and conclude that a Dillon-Wolfe function can be used as an S-box.