Higher-order differential cryptanalysis

From Wikipedia, the free encyclopedia
Jump to: navigation, search

In cryptography, higher-order differential cryptanalysis is a generalization of differential cryptanalysis, an attack used against block ciphers. While in standard differential cryptanalysis the difference between only two texts is used, higher-order differential cryptanalysis studies the propagation of a set of differences between a larger set of texts. Xuejia Lai, in 1994, laid the groundwork by showing that differentials are a special case of the more general case of higher order derivates.[1] Lars Knudsen, in the same year, was able to show how the concept of higher order derivatives can be used to mount attacks on block ciphers.[2] These attacks can be superior to standard differential cryptanalysis. Higher-order differential cryptanalysis has notably been used to break the KN-Cipher, a cipher which had previously been proved to be immune against standard differential cryptanalysis.[3]

Higher-order derivatives[edit]

A block cipher which maps n-bit strings to n-bit strings can, for a fixed key, be thought of as a function f:\mathbb{F}^n_2\to\mathbb{F}^n_2. In standard differential cryptanalysis, one is interested in finding a pair of an input difference \alpha and an output difference \beta such that two input texts with difference \alpha are likely to result in output texts with a difference \beta i.e., that f(m\oplus\alpha)\oplus f(m) = \beta is true for many m\in\mathbb{F}^n_2. Note that the difference used here is the XOR which is the usual case, though other definitions of difference are possible.

This motivates defining the derivative of a function f:\mathbb{F}^n_2\to\mathbb{F}^n_2 at a point \alpha as[1]

\Delta_\alpha f(x) := f(x\oplus\alpha)\oplus f(x).

Using this definition, the i-th derivative at (\alpha_1,\alpha_2,\dots,\alpha_i) can recursively be defined as[1]

\Delta^{(i)}_{\alpha_1,\alpha_2,\dots,\alpha_i} f(x) := \Delta_{\alpha_i}\left(\Delta^{i-1}_{\alpha_1,\alpha_2,\dots,\alpha_{i-1}}f(x)\right).

Thus for example \Delta^{(2)}_{\alpha_1,\alpha_2} f(x) = f(x)\oplus f(x\oplus\alpha_1)\oplus f(x\oplus\alpha_2)\oplus f(x\oplus\alpha_1\oplus\alpha_2).

Higher order derivatives as defined here have many properties in common with ordinary derivative such as the sum rule and the product rule. Importantly also, taking the derivative reduces the algebraic degree of the function.

Higher-order differential attacks[edit]

To implement an attack using higher order derivatives, knowledge about the probability distribution of the derivative of the cipher is needed. Calculating or estimating this distribution is generally a hard problem but if the cipher in question is known to have a low algebraic degree, the fact that derivatives reduce this degree can be used. For example, if a cipher (or the S-box function under analysis) is known to only have an algebraic degree of 8, any 9-th order derivative must be 0.

Therefore it is important for any cipher or S-box function in specific to have a maximal (or close to maximal) degree to defy this attack.

Cube attacks have been considered a variant of higher-order differential attacks.[4]

Resistance against Higher-order differential attacks[edit]

Limitations of Higher-order differential attacks[edit]

Works for small or low algebraic degree S-boxes or small S-boxes. In addition to AND and XOR operations.

See also[edit]

References[edit]

  1. ^ a b c Lai, Xuejia (1994). "Higher Order Derivatives and Differential Cryptanalysis". Communications and Cryptography (Springer US) 276: 227–233. doi:10.1007/978-1-4615-2694-0_23. 
  2. ^ Knudsen, Lars (1994). "Truncated and Higher Order Differentials" (PDF/PostScript). Fast Software Encryption (FSE 1994). Springer-Verlag. pp. 196–211. Retrieved 2007-02-14. 
  3. ^ Jakobsen, Thomas and Knudsen, Lars (1997). "The interpolation attack on block ciphers". Fast Software Encryption. Lecture Notes in Computer Science (Springer Berlin Heidelberg) 1267: 28–40. doi:10.1007/BFb0052332. 
  4. ^ Daniel J. Bernstein (2009-01-14). "Why haven't cube attacks broken anything?". Retrieved 2014-05-18.