Puncte:1

Varianta DES și ruperea celor 16 runde DES

drapel ng

Luați în considerare o variantă a algoritmului DES, numită DES-WEAK. În DES-WEAK, nu există nicio permutare P într-o rundă și toate S-box-urile sunt înlocuite. Noile cutii S sunt toate identice și definite după cum urmează. Fie b0, . . ., b5 reprezintă cei șase biți de intrare la o cutie S și a0, a1, a2 și a3 cei patru biți de ieșire. Apoi, a0 = b3 â b0b1b5, a1 = b0 â b1b3b5, a2 = b1 â b2b3b5, și a3 = b2 â b4 â b1b3b5. ⢠Proiectați un algoritm pentru a sparge 16 runde DES-WEAK cât mai eficient posibil.

Am abordat acest design așa cum am menționat mai jos.

Folosim criptoanaliza diferențială pentru a recupera cheia. Considera diferențial 000100 intră în S-box S2. Lasă unul dintre cei doi intrări cu diferenţialul dat

fie b0b1b2b3b4b5 și ieșirea corespunzătoare să fie a0a1a2a3. Lasă ieșire pentru a doua intrare (= b0b1b2b2(b3 â 1)b4b5) fie a 0 0 a 0 1 a 0 2 a 0 3 . Atunci, a0 â a 0 0 = 1, a1 â a 0 1 = b1b5, a2 â a 0 2 = b2b5

iar a3 â a 0 3 = b1b5. Prin urmare, diferența de ieșire este de 1000 pe diferenţial de intrare dat cu

probabilitatea 1 2 + 1 2 · 1 4 = 5 8 (fie b5 este zero, fie b5 este unul și ambele b1, b2 sunt zero).

Problema cu această ieșire diferențială este că, în runda următoare, după extindere, două S-box-uri vor obține diferenţial diferit de zero. Să presupunem că, în prima rundă, diferența în S1 este 000000 și diferența de jumătate din stânga este, de asemenea, toate zerourile. Apoi, în runda următoare, diferența în S1 ar fi 000001 și în S2 ar fi 010000. Fie le analizăm pe amândouă. Luați în considerare mai întâi S1. Cu aceeași notație pentru primul intrare și cele două ieșiri (acum a doua intrare este b0b1b2b3b4(b5 â 1)), obținem a0 â a 0 0 = b0b1, a1 â a 0 1 = b1b3, a2 â a 0 2 = b2b3 şi a3 â a 0 3 = b1b3. De aici rezultatul

diferențial este 0000 cu probabilitate 1 2 · 3 4 + 1 2 · 1 4 = 1 2 (fie b3 este zero și unul dintre b0, b1 este zero sau

b3 este unul și ambele b1, b2 sunt zero). Luați în considerare S2. Acum a doua intrare este b0(b1 â 1)b2b3b4b5, și astfel obținem a0 â a 0 0 = b0b5,

a1 â a 0 1 = b3b5, a2 â a 0 2 = 1 și a3 â a 0 3 = b3b5. De aici diferenţialul de ieşire este 0010 cu

probabilitatea 1 2 + 1 2 · 1 4 = 5 8 (fie b5 este zero, fie b5 este unul și ambele b0, b3 sunt zero). În runda următoare, după aplicarea expansiunii, diferența dintre aceste două cutii S devine 000000 000100, ceea ce este exact același diferențial care a intrat în prima rundă în acestea doua! Folosind această analiză, putem deduce acum o caracteristică cu mare probabilitate după cum urmează. Fie că Z reprezintă diferența zero pe 32 de biți, P reprezintă diferențial 0000 0010 0000 0000 0000 0000 0000 0000

, și PË reprezintă diferenţial

0000 1000 0000 0000 0000 0000 0000 0000

. Analiza de mai sus arată următoarea secvență de transformare a diferențiale: [P, Z] p=1 âââ [Z, P] p= 5 8 ââââ [P, PË] p= 5 16 ââââ [P , Z Ë ] p=1 âââ [Z, PË] p= 5 16 ââââ [P , P Ë ] p= 5 8 ââââ [P, Z].

Probabilitatea globală a caracteristicii de mai sus este 5 4 2 14 . Repetând acest lucru încă o dată și apoi luând doar primele două runde din aceasta, obținem o caracteristică de paisprezece runde cu probabilitate 5 9 2 31 â 9 Ã 10â4

. Prin urmare, folosind câteva mii de perechi de text simplu, DES-WEAK poate fi rupt.

Acum avem o nouă provocare și suntem blocați în ea. Designul menționat mai jos este o ușoară modificare a întrebării menționate mai sus la care am lucrat. Designul merge după cum urmează..

Luați în considerare o variantă a algoritmului DES în care sunt toate casetele S înlocuit. Noile cutii S sunt toate identice și definite după cum urmează. Fie b1, b2, · · · , b6 reprezintă cei șase biți de intrare într-o cutie S. Este ieșirea este b1 â(b2 · b3 · b4), (b3 · b4 · b5) â b6, b1 â (b4 · b5 · b2), (b5 · b2 · b3) â b6. Aici âââ este operația XOR pe biți și â·â este înmulțirea pe biți. Proiectați un algoritm pentru a sparge DES cu 16 runde cu noi S-box cât mai eficient posibil.

În acest design, operația de permutare este încă prezentă și ieșirea S-box este diferită. Așadar, cum putem aborda asta ca cea pe care am făcut-o mai sus, având în vedere că Cutia de permutare este încă acolo.

kodlu avatar
drapel sa
Dacă doriți ca cineva să citească acest lucru în detaliu, vă rugăm să vă formatați corect ecuațiile, aveți puncte în care presupun că ar trebui să existe diviziuni, deoarece cantitățile sunt probabilități.
Maarten Bodewes avatar
drapel in
Rețineți că aceasta pare a fi o sarcină, așa că, conform politicilor noastre, vă rugăm să furnizați indicii în comentarii (sau în caseta de răspuns, dacă acest lucru nu este fezabil) în loc de răspunsuri complete.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.