Am dat peste un comentariu despre AES 128 fără ShiftRow. Vreau să folosesc această slăbiciune pentru a efectua un atac. Până acum, am înțeles că este posibil să se împartă în 4 blocuri independente de 32 de biți.
Acum, forța brută și atacurile bazate pe diferențial/liniar nu sunt probabil să funcționeze. Cu toate acestea, există o abordare diferită.
Este efectiv 4 cifruri bloc diferite de 32 de biți, intercalate.
Deci, cum ai sparge un cifru bloc de 32 de biți? Printr-un atac asupra dimensiunii limitate a cărții de coduri.
Dacă persoana care folosește cifrul AES modificat a fost suficient de proastă pentru a folosi modul CTR, este ușor - o creștere a contorului aproape niciodată nu modifică 3 din cele 4 cifruri bloc de 32 de biți, prin urmare, 3/4 din textul simplu este ușor de dedus. Ultimul 1/4 ar putea fi mai greu, cu toate acestea, în acel moment, aș pretinde că, după orice standarde rezonabile, este rupt.
Dacă luăm în considerare modul CBC (în cazul în care intrările la cifrul bloc sunt efectiv randomizate prin xor'ing în blocul de text cifrat anterior), putem lua în considerare ce se întâmplă dacă aveți, de exemplu, un Megaoctet de ieșire de text cifrat. În acel moment, aveți 256K intrări pentru fiecare dintre cele 4 cifruri bloc pe 32 de biți, adică 64k intrări bloc. La acest nivel, ne-am aștepta la mai multe coliziuni (adică locuri în care două intrări la același cifru bloc sunt aceleași, rezultând aceeași ieșire); fiecare coliziune ar scoate la iveală xorul a două secțiuni de 4 octeți ale textului simplu. Deși nu este la fel de rău ca cazul modului CTR, poate dezvălui totuși mai multe informații decât ne-am dori (și probabilitatea ca orice secțiune a textului simplu să fie implicată într-o scurgere crește odată cu cantitatea de text cifrat disponibil pentru atacator) .