Meet-in-the-middle támadás

Ez a szócikk nem tünteti fel a független forrásokat, amelyeket felhasználtak a készítése során. Emiatt nem tudjuk közvetlenül ellenőrizni, hogy a szócikkben szereplő állítások helytállóak-e. Segíts megbízható forrásokat találni az állításokhoz! Lásd még: A Wikipédia nem az első közlés helye.
Nem összekeverendő a man-in-the-middle (közbeékelődéses) támadással.

A meet-in-the-middle vagy középen találkozásos támadás olyan kriptográfiai támadás, amelynek során egy két függvény kompozíciójából álló titkosítást ismert nyílt és kódolt szöveg birtokában úgy támadnak, hogy eltárolják a nyílt szöveg első függvény szerinti titkosításával, és a kódolt szöveg második függvény szerinti visszafejtésével kapott szövegeket. Egyezés esetén sikerült feltörni a titkosítást.

A támadás tipikusan egy titkosítási algoritmus ismételt alkalmazása ellen használható. Naivan azt gondolhatnánk, hogy ha van egy erős titkosításunk n bites kulccsal, amit 2 n {\displaystyle 2^{n}} próbálkozással lehet csak feltörni, akkor a titkosított szöveget egy másik kulccsal újra titkosítva sokkal erősebb titkosítást kapunk, mert a kódszöveget valamilyen kulccsal visszafejtve az eredményt az összes lehetséges kulccsal még egyszer vissza kell fejteni (vagyis 2 2 n {\displaystyle 2^{2n}} próbálkozásra van szükség). Valójában azonban, ha a támadónak kellően nagy ( O ( 2 n ) {\displaystyle O(2^{n})} méretű) tárhely, valamint nyílt és kódolt szöveg áll rendelkezésére, elég a nyílt szövegen 2 n {\displaystyle 2^{n}} titkosítást, a titkosított szövegen 2 n {\displaystyle 2^{n}} visszafejtést elvégeznie, és egyezés esetén megtalálta mindkét kulcsot (ilyenkor a kódolás és a dekódolás "középen találkozik", innen a támadás neve), azaz legfeljebb 2 {\displaystyle 2} × 2 n {\displaystyle 2^{n}} számítást kell elvégeznie.

A támadás lehetőségét elsőként Diffie és Hellman ismerte fel 1977-ben, amikor a DES továbbfejlesztésén dolgozva a kétszer egymás utáni használatát vizsgálták. (A továbbfejlesztett változat végül a DES háromszori alkalmazásával kapott 3DES lett; ez már meet-in-the-middle támadással is csak O ( 2 2 n ) {\displaystyle O(2^{2n})} próbálkozással törhető fel.)