Meet in the middle – jest rodzajem ataku kryptograficznego z jawnym tekstem, autorstwa Merkle’a i Hellmana (1981). Do jego przeprowadzenia konieczna jest znajomość zarówno tekstu jawnego, jak i zaszyfrowanego (atak ze znanym tekstem jawnym). Algorytmami podatnymi na tego rodzaju ataki są algorytmy używające dwóch lub więcej kluczy do wielokrotnego szyfrowania tym samym algorytmem np. 3DES.

Metoda ataku Załóżmy, że mamy parę tekstu jawnego i zaszyfrowanego (P i C) związaną następującą zależnością:

gdzie i są dwoma różnymi kluczami kryptograficznymi.

A zatem:

Atakujący tworzy i zapamiętuje tablicę z wynikami dla wszystkich możliwych kluczy. Następnie wylicza dla kolejnych kluczy i sprawdza, czy otrzymany wynik znajduje się już w tablicy z pierwszego kroku. W przypadku znalezienia identycznych wyników obu funkcji otrzymuje parę kluczy użytą do zaszyfrowania atakowanej wiadomości.

Alternatywnie atakujący może stworzyć i zapamiętać tablicę z wynikami i wyszukiwać pasującego Jeśli kolejne szyfry są różne, to żeby uzyskać lepszą wydajność powinno się tworzyć tablicę dla słabszego z nich.

Atak meet in the middle wymaga dużo pamięci, ale można go modyfikować, uzyskując dowolny kompromis między ilością potrzebnej pamięci a ilością potrzebnych obliczeń.

Przykłady 2DES Żeby złamać dwukrotnego DESa: