Dacă IV-urile pentru ambele straturi criptate sunt transmise în mod clar, atunci există un atac generic de recuperare a cheilor în text simplu, care funcționează (în esență) pe orice mod de criptare și permite recuperarea celor două chei folosind aproximativ $3 \lceil k \mathbin/ b \rceil \cdot 2^k$ blocați ro/decriptări, $2k \cdot 2^k$ bucăţi de memorie şi $O(k \cdot 2^k)$ timp de calcul non-cifrare în medie, unde $k$ și $b$ sunt dimensiunile cheii și ale blocurilor cifrului în biți (adică $k = b = 128$ pentru AES-128 sau $k = 256$, $b = 128$ pentru AES-256). Pur și simplu merge așa:
Decriptați primul $\lceil k \mathbin/ b \rceil$ blocuri ale textului cifrat cu fiecare dintre $2^k$ posibilele chei exterioare și cunoscutul IV exterior. Pentru fiecare cheie, luați prima $k$ biți din textul simplu rezultat (dacă $k$ nu este deja un multiplu al $b$, care este întotdeauna pentru AES), adăugați cheia și stocați combinația 2k$-bit șir într-o listă.
Sortați lista. (Acest lucru durează $O(n \log n)$ timp pentru o $n$-lista de elemente, unde $n = 2^k$ în acest caz.)
Încercați să criptați primul $\lceil k \mathbin/ b \rceil$ blocuri ale textului simplu cunoscut folosind fiecare dintre $2^k$ posibile chei interioare și cunoscutul IV interior. Pentru fiecare cheie, căutați prima $k$ biți din textul simplu rezultat din listă (folosind o căutare binară, care ia $O(\log n)$ timp) pentru a obține o listă de posibile chei exterioare pe care această cheie interioară s-ar putea potrivi. (Numărul mediu de potriviri candidate pe care le veți găsi pentru fiecare cheie interioară este unul, deși, desigur, unele chei nu vor avea potriviri, iar altele vor avea mai multe.) Dacă există potriviri, criptați încă un bloc de text simplu cunoscut cu textul interioară. cheie și decriptați încă un bloc de text cifrat cu fiecare cheie exterioară potrivită pentru a vedea dacă se potrivesc în continuare. Dacă o fac (ceea ce v-ați aștepta să se întâmple după ce ați testat jumătate din cheile interioare în medie), aproape sigur aveți perechea de chei potrivită.
Un atac generic de recuperare a cheilor de forță brută asupra unui singur criptarea stratului, desigur, durează aproximativ $\frac12 \lceil k \mathbin/ b \rceil \cdot 2^k$ blocați ro/decriptările în medie. Astfel (cel puțin dacă ignorăm costurile de memorie și numărăm doar operațiunile de criptare bloc) criptarea dublă cu IV-uri cunoscute este doar (cel mult) $6$ de ori mai greu de spart în medie decât criptarea unică, pentru (doar!) aproximativ $\log_2 6 â 2,6 $ elemente suplimentare de securitate. Ceea ce, pentru a fi clar, este absolut neglijabil.
(Desigur, costul memoriei acestui atac este nu neapărat neglijabile, dar există, de asemenea, diferite compromisuri de timp – memorie care pot fi făcute pentru a o reduce.)
Rețineți că atacul generic de întâlnire la mijloc descris mai sus depinde de faptul că IV-ul interior este disponibil pentru atacator în mod clar. Dacă nu este, dar este, în schimb, criptat cu cheia exterioară, atunci atacul nu va funcționa fără modificări.
Desigur, o soluție trivială ar fi pur și simplu forța brută a tuturor valorilor posibile ale IV-ului interior de 128 de biți la pasul 2. Pentru AES-256 dublu, acest lucru va permite ca criptarea dublă să fie întreruptă în aproximativ $2^{128} \time 2^{256} = 2^{384}$ Criptări AES, care este încă mai mică decât $2^{512}$ criptări la care s-ar aștepta de la lungimea cheii.