The differential analysis of S-functions

  • Authors:
  • Nicky Mouha;Vesselin Velichkov;Christophe De Cannière;Bart Preneel

  • Affiliations:
  • Department of Electrical Engineering, ESAT, SCD, COSIC, Katholieke Universiteit Leuven, Heverlee, Belgium and Interdisciplinary Institute for BroadBand Technology, Belgium;Department of Electrical Engineering, ESAT, SCD, COSIC, Katholieke Universiteit Leuven, Heverlee, Belgium and Interdisciplinary Institute for BroadBand Technology, Belgium;Department of Electrical Engineering, ESAT, SCD, COSIC, Katholieke Universiteit Leuven, Heverlee, Belgium and Interdisciplinary Institute for BroadBand Technology, Belgium;Department of Electrical Engineering, ESAT, SCD, COSIC, Katholieke Universiteit Leuven, Heverlee, Belgium and Interdisciplinary Institute for BroadBand Technology, Belgium

  • Venue:
  • SAC'10 Proceedings of the 17th international conference on Selected areas in cryptography
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

An increasing number of cryptographic primitives use operations such as addition modulo 2n, multiplication by a constant and bitwise Boolean functions as a source of non-linearity. In NIST's SHA-3 competition, this applies to 6 out of the 14 second-round candidates. In this paper, we generalize such constructions by introducing the concept of S-functions. An S-function is a function that calculates the i-th output bit using only the inputs of the i-th bit position and a finite state S[i]. Although S-functions have been analyzed before, this paper is the first to present a fully general and efficient framework to determine their differential properties. A precursor of this framework was used in the cryptanalysis of SHA-1. We show how to calculate the probability that given input differences lead to given output differences, as well as how to count the number of output differences with non-zero probability. Our methods are rooted in graph theory, and the calculations can be efficiently performed using matrix multiplications.