Methods and instruments for designing S-boxes

The design of S-boxes with minimal mutual information between input and output subvectors (considered as random variables) is investigated. First, the conditional entropy of the value of a boolean function conditioned on its random arguments is expressed as a function of the Walsh transform of the function. The entropy profile of a function is then defined; it allows the comparison of functions with regard to their (conditional) entropies. An algorithm to construct functions with good entropy profiles is then presented. It consists of a stepwise improvement of randomly chosen functions and uses the relation between the Walsh transform and the (conditional) entropies of a function. The statistical independency of boolean functions is investigated in the final section.