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]
A block cipher which maps
n
n
n | |
f:F | |
2 |
\alpha
\beta
\alpha
\beta
f(m ⊕ \alpha) ⊕ f(m)=\beta
n | |
m\inF | |
2 |
This motivates defining the derivative of a function
n | |
f:F | |
2 |
\alpha
Using this definition, the
i
(\alpha1,\alpha2,...,\alphai)
Thus for example
(2) | |
\Delta | |
\alpha1,\alpha2 |
f(x)=f(x) ⊕ f(x ⊕ \alpha1) ⊕ f(x ⊕ \alpha2) ⊕ f(x ⊕ \alpha1 ⊕ \alpha2)
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.
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 9th 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]
Works for small or low algebraic degree S-boxes or small S-boxes. In addition to AND and XOR operations.