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

A Wikipédiából, a szabad enciklopédiából
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 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^{2n} próbálkozásra van szükség). Valójában azonban, ha a támadónak kellően nagy (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 titkosítást, a titkosított szövegen 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×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ábfejlesztett 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^{2n}) próbálkozással törhető fel.)