The meet-in-the-middle attack is an optimized brute-force attack that significantly reduces the number of keys the attacker needs to try by utilizing a time-space trade-off.

The attack splits the encryption step of the brute-force into two halves and performs brute-force work on both halves separately, saving all of the results. The work can then be combined linearly (whereas naive brute-force would have to combine them exponentially) by comparing the saved results to find which entries on both sides match. The attack can sometimes be scaled to more than just two sides.

Meet-in-the-middle is classically used to attack multiple layers of symmetric encryption with different keys, but same idea can be used in other areas, such as against some cases of RSA.

history | show excerpt | excerpt history