Sunteți pe pagina 1din 3

A New Class of Collision Attacks and its

Application to DES

Student: Dumitru Ionut Eugen


Grupa: 342C2
Facultatea de Automatica si Calculatoare
Profesor: Marios Choudary

Abstract: In cadrul acestui proiect se prezinta un atact de tip coliziune la nivelul lui
DES in 3 S-box-uri simulan. Se incearca producerea coliunilor interne.

Cuvinte cheie: DES, S-box, coliziuni interne, analiza curentului consumat, atac DES

1. Introducere

Aceasta lucrare prezinta atacul de tip coliziune impotriva algoritmilor de criptare ce


contin S-box-uri, in cazul de fata DES. Ce este nou fata de algoritmii de pana acum este
faptul ca ne concentram asupra coliziunilor interne, deci nu este nevoie sa studiem
iesirile ( de obicei acestea sunt mascate si nu se poate observa nimic).

2. Atacul asupra unui S-box

Coliziunile interne se refera la faptul ca pentru 2 seturi de intrare diferite, S-box-ul


scoate aceleasi date. Acest lucru se intampla din cauza proiectarii S-box-urilor.

2.1 Structura unui S-box


S-box primeste ca date de intrare 6 biti si returneaza 4 biti. Acest lucru este posibil prin
corelari, pentru fiecare S-box existand un tabel cu 64 de valori dispuse in 4 linii si 16
coloane.

Observand structura tabelului ne putem da seama usor ca pentru z ∈ {0,1}6 ∃ d1, d2 si


d3 ∈ {0,1}6 care indeplinesc conditia: S1( z ) = S1( z ⊕ d1 )= S1( z ⊕ d2 )= S1( z ⊕ d3 ).
In particular, daca z ar fi 000000 atunci am avea:
S1( 000000 ) = S1( 000000 ⊕ 001001 = 001001 ) =
= S1( 000000 ⊕ 100100 = 100100 ) =
= S1( 000000 ⊕ 110111 = 110111 ) = 14 (conform tabelului lui S 1)

2.2 Atacul unui S-box izolat


Totusi, acest exemplu nu este valabil in viata reala pentru ca nu putem stabili ce date
de intrare (z) are S-box-ul.

Fie k cheie de cripatare, x mesajul ce trebuie criptat, atunci:


z=x⊕k⇔k=x⊕z k, x, z ∈ {0, . . . , 2 6 − 1}

Pentru a afla cei 6 biti ai lui k, atacatorul isi va stabili un d, iar pentru diferite mesaje (x)
urmareste o coliziune, adica S( x ⊕ k ) = S( x ⊕ k ⊕ d ). Masurand consum de energie
se pot determina coliziunile interne.

3. Atacul asupra 3 S-box-uri simultan

Incercam prima data atacul asupra 2 S-box-uri. Asta inseamna ca trebuie nu trebuie sa
alteram biti din S-box-ul urmator. Pentru a nu altera bitii, cei mai semnificativi biti la
stanga si la dreapta trebuie sa fie 0.

Exemplu: Fie z = 001100. Notam cu z1 = 00 si z2 = 0110. Se doreste ca S(z) = z2, ceea ce


este imposibil din proprietatile S-box-ului.
Rezulta deci ca nu putem provoca coliziuni la 2 S-box-uri alaturate simultan.

Studiind cazul pentru 3 S-box-uri observam ca acesta este posibil. De data aceasta
diferentiala (D) cu care se va face xor nu va mai aveam 6 biti ci 18, reprezentand
rezultatul concatenarii lui d1, d2 si d3, diferentiale ce corespund lui Si, Si+1 si Si+2.
Pentru a nu altera Si+1 si Si+2, cei mai semnificativi 2 biti la stanga si la dreapta ai lui D
vor fi 0.
De altfel D mai trebuie sa respecte urmatoarele reguli: D[4] = D[6], D[5] = D[7], D[10] =
D[12] si D[11] = D[13].
Mai exact D trebuie sa aiba umatoarea forma: D = 00x1x2vwvwx3x4yzyzx5x600 cu xi , v, w,
y, z ∈ {0, 1}.
Schimbam acesti 14 biti, ceilalti ramanand la fel. In timpul atacului se vor trimite
mesaje cu z si z⊕ d, comparandu-se consum de energie.

Bibliografie:
https://link.springer.com/chapter/10.1007/978-3-540-39887-5_16

S-ar putea să vă placă și