In
cryptography, the boomerang attack is a method for the
cryptanalysis
Cryptanalysis (from the Greek ''kryptós'', "hidden", and ''analýein'', "to analyze") refers to the process of analyzing information systems in order to understand hidden aspects of the systems. Cryptanalysis is used to breach cryptographic sec ...
of
block cipher
In cryptography, a block cipher is a deterministic algorithm operating on fixed-length groups of bits, called ''blocks''. Block ciphers are specified cryptographic primitive, elementary components in the design of many cryptographic protocols and ...
s based on
differential cryptanalysis
Differential cryptanalysis is a general form of cryptanalysis applicable primarily to block ciphers, but also to stream ciphers and cryptographic hash functions. In the broadest sense, it is the study of how differences in information input can aff ...
. The attack was published in 1999 by
David Wagner, who used it to break the
COCONUT98
In cryptography, COCONUT98 (Cipher Organized with Cute Operations and N-Universal Transformation) is a block cipher designed by Serge Vaudenay in 1998. It was one of the first concrete applications of Vaudenay's decorrelation theory, designed to ...
cipher.
The boomerang attack has allowed new avenues of attack for many ciphers previously deemed safe from differential cryptanalysis.
Refinements on the boomerang attack have been published: the amplified boomerang attack, and the rectangle attack.
Due to the similarity of a
Merkle–Damgård construction with a block cipher, this attack may also be applicable to certain hash functions such as
MD5.
The attack
The boomerang attack is based on
differential cryptanalysis
Differential cryptanalysis is a general form of cryptanalysis applicable primarily to block ciphers, but also to stream ciphers and cryptographic hash functions. In the broadest sense, it is the study of how differences in information input can aff ...
. In differential cryptanalysis, an attacker exploits how differences in the input to a cipher (the plaintext) can affect the resultant difference at the output (the ciphertext). A high-probability "differential" (that is, an input difference that will produce a likely output difference) is needed that covers all, or nearly all, of the cipher. The boomerang attack allows differentials to be used which cover only part of the cipher.
The attack attempts to generate a so-called "quartet" structure at a point halfway through the cipher. For this purpose, say that the encryption action, ''E'', of the cipher can be split into two consecutive stages, ''E''
0 and ''E''
1, so that ''E(M)'' = ''E''
1(''E''
0(M)), where ''M'' is some plaintext message. Suppose we have two differentials for the two stages; say,
:
for ''E''
0, and
:
for ''E''
1−1 (the decryption action of ''E''
1).
The basic attack proceeds as follows:
* Choose a random plaintext
and calculate
.
* Request the encryptions of
and
to obtain
and
* Calculate
and
* Request the decryptions of
and
to obtain
and
* Compare
and
; when the differentials hold,
.
Application to specific ciphers
One attack on
KASUMI, a block cipher used in
3GPP, is a
related-key rectangle attack which breaks the full eight rounds of the cipher faster than exhaustive search (Biham et al., 2005). The attack requires 2
54.6 chosen plaintexts, each of which has been encrypted under one of four related keys, and has a time complexity equivalent to 2
76.1 KASUMI encryptions.
References
*
(Slides in PostScript)*
*
*
*
*
*
*
*
*
*
External links
— explained by John Savard
{{Cryptography navbox , block
Cryptographic attacks