Lably
Skip to content

Boomerang attack

Form of cryptanalysis

  • 2 min read
  • 2 chapters

Explore on Lably

ToursExplore Lably’s 3D tours

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. 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, E0 and E1, so that E(M) = E1(E0(M)), where M is some plaintext message. Suppose we have two differentials for the two stages; say,

Δ→Δ∗

for E0, and

∇→∇∗ for E1−1 (the decryption action of E1).

The basic attack proceeds as follows:

  • Choose a random plaintext P and calculate P′=P⊕Δ.
  • Request the encryptions of P and P′ to obtain C=E(P) and C′=E(P′)
  • Calculate D=C⊕∇ and D′=C′⊕∇
  • Request the decryptions of D and D′ to obtain Q=E−1(D) and Q′=E−1(D′)
  • Compare Q and Q′; when the differentials hold, Q⊕Q′=Δ.

Sign in to keep reading

One more chapter is free with a Lably account.

More in Computing and communication