Sunteți pe pagina 1din 13

Securitatea algoritmului RC4

Cristina Mateescu1
1 Universitatea Bucuresti, Facultatea de Matematic
a si Informatic
a

May 3, 2017

Cristina Mateescu Universitatea Bucuresti, Facultatea de Matematic


a si Informatic
a
Ce este algoritmul RC4?

Cifru stream cu doua faze principale:


Key Schedulling
algoritm de generare pseudo-aleator
Algoritmul RC4 se foloseste pentru a obtine o cheie. Pentru criptare
se poate face de exemplu XOR ntre cheie si bitii textului clar.

Cristina Mateescu Universitatea Bucuresti, Facultatea de Matematic


a si Informatic
a
Key schedulling
Input:
N = 2n
Cheie aleatoare K cu lungime variabila (de obicei, ntre 40 si 128 de
biti).
Notam cu l numarul de cuvinte din cheie, unde un cuvant are n biti. De
obicei, N = 256, deci l este numarul de bytes din cheie.
Output: Permutare S a multimii {0, 1, ... N 1}
Variabile: i si j, initial egale cu zero.
Initial: S este permutarea identica.
La fiecare pas:
i =i +1
j = j + S[i] + K [i mod l]
Se permuta pozitiile i si j din S.
Cristina Mateescu Universitatea Bucuresti, Facultatea de Matematic
a si Informatic
a
Algoritm de generare pseudoaleator
Genereaza cate un byte de output.
Input: Permutarea S obtinuta la pasul anterior.
Variabile: i si j, initial egale cu 0.
La fiecare pas:
Incrementam i
j = j + S[i]
Permuta pozitiile i si j din S
Output: z = S[S[i] + S[j]]

Cristina Mateescu
Figure : Generarea Universitatea
unui byteBucure
de soutput
ti, Facultatea de Matematic
a si Informatic
a
Securitatea algoritmului

Nu se pot aa informatii despre S;


Atacuri bazate pe slabiciuni ale cheii;
Atacuri bazate pe slabiciuni ale algoritmului de generare
pseudoaleator.

Cristina Mateescu Universitatea Bucuresti, Facultatea de Matematic


a si Informatic
a
Atac asupra algoritmului RC4 care este folosit la
transmiterea de informatii

Ideal: Cheia secreta care intra n faza de key schedulling este folosita
o singura data.
In practica: la o aceeasi cheie secreta se concateneaza un vector de
initializare care se schimba de ecare data cand criptam un mesaj.
Problema: daca un atacator cunoaste sucienti vectori de initializare
si primul byte de output corespunzator ecarui vector de initializare,
atunci el poate reconstrui cheia secreta.

Cristina Mateescu Universitatea Bucuresti, Facultatea de Matematic


a si Informatic
a
Scenariu

Vectorul de initializare se aa la nceputul cheii si are o lungime de 3


bytes;
Atacatorul cunoaste valorile K [3], K [4], ...K [A + 2] pentru un A;
Vectorul de initializare este de forma (A + 3, N 1, X );
In aceste ipoteze, atacatorul poate aa valoarea K [A + 3].

Cristina Mateescu Universitatea Bucuresti, Facultatea de Matematic


a si Informatic
a
Slabiciune a algoritmului de generare pseudoaleator

Presupunem ca permutarea care intra n faza a doua a algoritmului


S este o permutare oarecare a multimii {0, 1, ... N 1};
Daca S[2] = 0 si S[1] = 2 atunci al doilea byte de output este sigur
0;
In general probabilitatea ca al doilea byte de output sa e 0 este
egala cu N2 .

Cristina Mateescu Universitatea Bucuresti, Facultatea de Matematic


a si Informatic
a
Aplicatii n criptanaliza ale acestui atac

Se poate face diferenta dintre un sir de biti care provine din


algoritmul RC4 si un sir de biti aleatori;
Se poate extrage al doilea byte al mesajului clar chiar daca nu stim
cheile secrete care intra n algoritmul RC4.
Fie M un text clar si e C1 , ...Ck textele cifrate obtinute din M printr-un
algoritm RC4 folosind k chei uniform distribuite. Atunci, daca k = (N),
se poate deduce al doilea byte al mesajului din C1 , ...Ck .

Cristina Mateescu Universitatea Bucuresti, Facultatea de Matematic


a si Informatic
a
Concluzii

RC4 este un algoritm rapid si usor de implementat, dar prezinta


multe probleme de securitate;
A fost interzisa folosirea lui pentru comunicatii online n 2015;
Au fost propuse variante mbunatatite ale algoritmului dar si acestea
au fost atacate

Cristina Mateescu Universitatea Bucuresti, Facultatea de Matematic


a si Informatic
a
Unde se foloseste (nca ) RC4

Criptarea sierelor PDF;


BitTorrent - se renunta la primii 1024 de bytes ca sa se previna
atacurile descrise anterior;
Retele wireless

Cristina Mateescu Universitatea Bucuresti, Facultatea de Matematic


a si Informatic
a
Bibliografie

Goutam Paul, Siddheshwar Rathi, and Subhamoy Maitra.


On non-negligible bias of the first output byte of RC4 towards the first three
bytes of the secret key. Designs, Codes and Cryptography 49.1 (2008): 123-134.

Fluhrer, Scott, Itsik Mantin, and Adi Shamir,


Weaknesses in the key scheduling algorithm of RC4. International Workshop on
Selected Areas in Cryptography. Springer Berlin Heidelberg, 2001.

Mantin, Itsik, and Adi Shamir.


A practical attack on broadcast RC4. International Workshop on Fast Software
Encryption. Springer Berlin Heidelberg, 2001.

Cristina Mateescu Universitatea Bucuresti, Facultatea de Matematic


a si Informatic
a
Va multumesc!

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