Sunteți pe pagina 1din 10

Sisteme de criptare fluide

Sistemele de criptare fluide sunt o clas important a schemelor de criptare cu cheie


simetric. Spre deosebire de cifrurile bloc, care opereaz pe blocuri mari de date ( n 64
bii), sistemele fluide acioneaz pe rnd asupra caracterelor individuale (de obicei cifre
binare) ale textului clar. Astfel, cifrurile fluide pot fi considerate cifruri bloc foarte simple, cu lungimea blocului egal cu 1. Ceea ce este important este faptul c transformarea
de criptare se poate modifica pentru fiecare simbol al textului clar. Ele sunt n general
mult mai rapide dect cifrurile bloc.
Aceste sisteme sunt preferate n situaia n care datele trebuie procesate una cte una.
De asemenea, pentru c aceste sisteme nu au eroare de propagare, sau aceasta este limitat, ele sunt avantajoase n situaii n care este foarte posibil apariia erorilor de propagare.
Fie K spaiul cheilor unei mulimi de transformri de criptare. Un ir de simboluri
e1e2 e3 ..., ei K , se numete cheie fluid.
Fie A un alfabet de q simboluri i Ee un cifru simplu de substituie cu lungimea
blocului 1, unde e K . Fie m1m2 m3 ... un text clar i e1e2 e3 ..., o cheie fluid din K .
Un sistem fluid de criptare transform textul clar ntr-un text criptat c1c2 c3 ... unde
ci = Eei (mi ), i 1. Dac notm cu di inversa lui ei , i 1, atunci mi = Edi (ci ), realizeaz
decriptarea.
Astfel, un sistem fluid aplic transformri simple de criptare corespunztor cheii
fluide utilizate (teoretic infinit). Aceasta poate fi generat n mod aleator sau folosind un
algoritm care genereaz cheia fluid dintr-o cheie fluid iniial mic (numit seed) sau
dintr-o astfel de cheie i simbolurile unui text cifrat anterior. Un astfel de algoritm se
numete generator de chei fluide.

S considerm urmtorul exemplu de sistem fluid de criptare, descoperit de Vernam


n anul 1917 (dar publicat mai trziu, n anul 1926):
Cifrul Vernam este un sistem fluid definit pe alfabetul A = {0,1}. Fie m1m2 ...mt un
mesaj binar i k1k2 ...kt un ir de chei binare, de aceeai lungime cu textul. Mesajul se
cripteaz conform transformrii ci = mi ki , 1 i t , unde cu am notat funcia XOR
(adunarea binar modulo 2).
Transformarea de decriptare este dat de mi = ci ki , 1 i t.
Acest sistem este foarte simplu i uor de implementat.
Dac irul de chei este ales aleator i nu se mai folosete apoi, cifrul Vernam se
numete one time pad.
Pentru a vedea c cifrul Vernam este un sistem fluid conform definiiei date, s
observm c sunt doar dou transformri de substituie asupra mulimii A : E0 ,
aplicaia identic i E1 , aplicaia care schimb 0 i 1 ntre ele. Cnd cheia fluid conine
0, se aplic simbolului din textul clar E0 , altfel, se aplic E1.
Dac cheia se refolosete, exist posibiliti de atac ale schemei Vernam (criptanaliz
diferenial, prezentat mai trziu, n cadrul sistemului de criptare DES) i anume:

41

Dac c1c2 ...ct i c1c2 ...ct sunt dou mesaje cifrate produse de aceeai cheie k1k2 ...kt ,
atunci ci = mi ki , ci = mi ki , de unde rezult ci ci = mi mi , 1 i t. Cheia nu
mai este necesar n acest caz, ci doar lungimea (criptanaliza se bazeaz pe redundana
ultimei relaii).
Din punct de vedere teoretic, one time pad este imposibil de spart. Dac un adversar
deine un text criptat c1c2 ...ct cu o cheie aleatoare fluid, folosit o singur dat, el nu
poate gsi textul clar, pentru c acesta poate fi orice ir binar de t bii. S-a demonstrat c
pentru a obine un sistem imposibil de spart trebuie utilizat o cheie aleatoare de aceeai
lungime cu mesajul. Aceasta ns reduce caracterul practic al sistemului n majoritatea
situaiilor, el devenind impracticabil. Se spune c, pn de curnd, comunicaiile ntre
Moscova i Washington erau securizate cu one time pad, transportul cheilor fiind realizat prin curieri de ncredere.
Sistemele fluide au fost dezvoltate n ideea de acionare a one time pad-ului. n acest
sens, pentru a reduce dificultatea distribuirii cheii fluide i a managementului acesteia,
cheia fluid este generat pseudoaleator dintr-o cheie mic secret, cu scopul de a prea
aleatoare unui adversar. Sistemele actuale, cu toate c nu asigur securitatea teoretic a
one time pad-ului, sunt cel puin practice.
1. Clasificarea sistemelor fluide de criptare

Sistemele de criptare fluide sunt clasificate n sisteme sincrone i auto-sincronizabile.


Un sistem de criptare fluid sincron este un sistem fluid n care cheia fluid este
generat independent de textul clar i de textul cifrat. Facem urmtoarele notaii:
M , C , K sunt, respectiv, spaiul mesajelor, al textelor cifrate i al cheilor;
L este o mulime finit, nevid numit alfabet ir de chei;
g :K L este un generator de chei fluide: k K , g (k ) = k1k2 k3 ... L este
o cheie fluid, teoretic infinit;
Pentru orice z L , exist o transformare de criptare Ez :M C i una de
decriptare Dz :C M astfel nct Dz ( Ez ( x)) = x, x M .
De exemplu, sistemul de criptare Vigenre poate fi definit ca un sistem de criptare
fluid sincron.
Pentru aceasta, fie m lungimea cuvntului cheie din sistemul Vigenre. n acest caz,
A = 26 , K = 26 m , Ez (m) = m + z (mod 26), Dz (c) = c z (mod 26).
Cheia fix e = (k1k2 ...km ) genereaz cheia fluid k1k2 ...km k1k2 ...km k1k2 ..., definind:

1 i m
k
zi = i
zi m i m + 1
Procesul de criptare cu un sistem fluid sincron poate fi reprezentat ca un automat
descris de relaiile:
qi +1 = (qi , k ), zi = g (qi , k ), ci = h( zi , mi ),

42

unde q0 este starea iniial (care poate fi determinat din cheia k), este funcia de
tranziie a strilor, g este funcia care produce cheia fluid zi , iar h este funcia de ieire
care produce textul criptat ci pe baza textului clar mi i a cheii fluide zi .
qi

qi +1

mi

qi

qi +1

zi

ci

ci

h 1

zi

Criptare

mi

Decriptare

Proprieti ale sistemelor fluide sincrone:


Sincronizare. n sistemele de criptare fluide sincrone, Alice i Bob trebuie s se
sincronizeze folosind aceeai cheie i opernd n aceeai poziie (stare) n cadrul cheii
pentru a putea obine o criptare/decriptare corect. Dac se pierde sincronizarea datorit
inseriei sau eliminrii de bii n textul criptat, n timpul transmisiei, atunci decriptarea
eueaz i ea poate fi reluat numai pe baza unor tehnici de resincronizare (cum ar fi de
exemplu reiniializarea sau plasarea unor marcatori speciali la intervale regulate n textul
transmis).
Nepropagarea erorii. Modificarea unui bit n textul criptat (fr a se elimina sau
aduga nimic) nu va afecta decriptarea altor caractere.
Atacuri active. Ca o consecin a primei proprieti, un adversar activ care
elimin, insereaz sau retrimite componente ale mesajului criptat, va provoca
desincronizri i va fi deci detectat la recepie. Conform proprietii a doua, el poate face
modificri n textul criptat i s observe cum vor afecta ele textul clar. Deci, un text
criptat cu un sistem fluid sincron necesit mecanisme separate de autentificare i de
garantare a integritii datelor.
Un sistem aditiv fluid binar de criptare este un sistem fluid sincron n care
A = K = 2 iar h este funcia (XOR).
Un astfel de sistem este reprezentat mai jos:
mi
k

Generator
chei fluide

zi

ci
ci

Criptare

Generator
chei fluide

zi

mi

Decriptare

Un sistem de criptare fluid este auto-sincronizabil (sau asincron) dac funcia de


generare a cheii fluide depinde de un numr fixat de caractere criptate anterior.
Comportamentul unui astfel de sistem poate fi descris de ecuaiile:
qi = (ci t , ci t +1 ,..., ci 1 ), zi = g (qi , k ), ci = h( zi , mi ),

43

unde q0 = (c t , c t +1 ,..., c1 ), este starea iniial (cunoscut), k este cheia, g este funcia de
generare a cheii fluide, iar h este funcia de ieire care cripteaz textul clar mi .
iii

iii
mi

iii

g
zi

ci

iii

ci

g
zi

h 1

mi

Decriptare

Criptare

Cele mai cunoscute sisteme auto-sincronizabile sunt regitrii liniari cu feedback,


utilizai la generarea secvenelor de numere pseudo-aleatoare (n criptografie) i la
generarea codurilor ciclice (n teoria codurilor).
Un astfel de exemplu este sistemul de criptare cu auto-cheie:
Fie A = K = 26 . Cheia fluid z se definete astfel: z1 = K , zi = ci 1 , i 2.
Pentru un element z 26 , al cheii se definesc:
Ez (m) = m + z (mod 26), Dz (c) = c z (mod 26).
S considerm K = 13 i s criptm textul clar BUCURESTI.
Transformat n secven numeric el devine:
( m1 , m2 , m3 , m4 , m5 , m6 , m7 , m8 , m9 ) = (1, 20, 2, 20, 17, 4, 18, 19, 8 )
n faza de criptare, vom calcula pe rnd:

c1 = E13 (m1 ) = 1 + 13 14 (mod 26)


c3 = E8 (m3 ) = 2 + 8 10 (mod 26)
c5 = E4 (m5 ) = 17 + 4 21 (mod 26)
c7 = E25 (m7 ) = 18 + 25 17 (mod 26)
c9 = E10 (m9 ) = 8 + 10 18 (mod 26)

c2 = E14 (m2 ) = 20 + 14 8 (mod 26)


c4 = E10 (m4 ) = 20 + 10 4 (mod 26)
c6 = E21 (m6 ) = 4 + 21 25 (mod 26)
c8 = E17 (m8 ) = 19 + 17 10 (mod 26)

Deci textul criptat este (14, 8, 10, 4, 21, 25, 17, 10, 18) sau, n litere: OIKEVZRKS.
Pentru decriptare, vom avea:
m1 = D13 (c1 ) = 14 13 1 (mod 26), m2 = D14 (c2 ) = 8 14 20 (mod 26), etc.
Se observ c textul decriptat poate fi obinut de oricine, aproape n totalitate, fr a
cunoate nici o cheie (aceasta fiind necesar doar pentru decriptarea primului caracter).
Deci gradul su de securitate este nul.
Ceva mai dificil este sistemul n care generarea cheii fluide se realizeaz cu relaia:
zi = mi 1 , i 2.
n acest caz, BUCURESTI se cripteaz n OVWWLVWLB (pentru K = 13).
Nici acest sistem de criptare cu auto-cheie nu este sigur, deoarece, evident, sunt
posibile doar 26 chei.
Proprieti ale sistemelor fluide asincron:

44

Auto-sincronizare. Deoarece funcia de decriptare h 1 depinde numai de un numr


fixat de caractere criptate anterior, desincronizarea (rezultat eventual prin inserarea sau
tergerea de caractere criptate) se poate evita. Astfel de sisteme de criptare pot restabili
proprietatea de sincronizare afectnd doar un numr finit de caractere din textul clar.
Propagarea limitat a erorii. Dac starea unui sistem fluid auto-sincronizabil
depinde de t caractere anterioare, atunci modificarea (eventual tergerea sau inserarea)
unui caracter din textul criptat poate duce la decriptarea incorect a maxim t caractere;
dup aceea decriptarea redevine corect.
Rspndirea textelor clare. Deoarece fiecare caracter din textul clar influeneaz
ntregul text criptat care urmeaz, eventualele proprieti statistice ale textului clar sunt
dispersate prin textul criptat. Deci, din acest punct de vedere, sistemele de criptare autosincronizabile sunt mai rezistente dect cele sincronizabile la atacurile bazate pe
redundana textului clar.
Rezistena la criptanaliz activ. Din proprietile de mai sus rezult c este
destul de dificil de depistat un atac venit din partea unui adversar activ (care poate
modifica, insera sau terge caractere) auto-sincronizarea readucnd decriptarea n faza
normal. De aceea sunt necesare mecanisme suplimentare pentru a asigura autentificarea
i integritatea datelor.
2. Exemple de sisteme fluide de criptare
2.1. SEAL

SEAL (Software - optimized Encryption Algorithm) este un sistem de criptare aditiv


binar, definit n 1993 de Coppersmith i Rogaway. Este unul din cele mai eficiente
sisteme implementabile pe procesoare de 32 bii.
La un astfel de sistem este important descrierea generatorului de chei fluide (care se
adun modulo 2 cu textul clar). SEAL este o funcie pseudo-aleatoare care scoate o cheie
fluid de L bii folosind un numr n de 32 bii i o cheie secret a de 160 bii.
Fie A, B, C, D, X i , Y j cuvinte de 32 bii. Vom folosi urmtoarele notaii:

A : complementul lui A (pe bii);


A B, A B, A B : operaiile OR, AND i XOR (pe bii);
A s : rotirea ciclic a lui A spre stnga cu s poziii;
A s : rotirea ciclic a lui A spre dreapta cu s poziii;
A + B (mod 232 ) : suma lui A i B (considerate ca numere ntregi fr semn);

f ( B, C , D ) = ( B C ) ( B D ); g ( B, C , D ) = ( B C ) ( B D ) (C D );
h( B, C , D) = B C D;
A  B : concatenarea lui A cu B;

( X1 , X 2 ,... X n ) (Y1 , Y2 ,..., Yn ) : atribuire simultan.

45

Algoritmul de generare a tabelei G pentru SEAL 2.0:


Intrare: Un ir a de 160 bii i un ntreg i ( 0 i 232 ).
Ieire: Ga (i ) ir de 160 bii.
1. Definirea constantelor. Se definesc 4 constante de 32 bii (n hex):
y1 = 0x5a827999, y 2 = 0x6ed9eba1,

y3 = 0x8f1bbcdc, y 4 = 0xca62c1d6.
2. Funcia de generare a tabelei.
(Se iniializeaz 80 de cuvinte de 32 bii X 0 , X 1 ,... X 79 )
X 0 i,
for j 1 to 15 do X j 0 x 00000000;
for j 16 to 79 do X j

(( X

j 3

X j 8 X j 14 X j 16 ) 1 ;

(Iniializarea variabilelor de lucru)


Se sparge irul de 160 de bii a n 5 cuvinte de 32 bii: a = H 0 H1 H 2 H 3 H 4 .

( A, B, C , D, E ) ( H 0 , H1 , H 2 , H 3 , H 4 ) .
(Se execut 4 runde de 20 de pai, apoi se actualizeaz; t este o variabil
temporar)
(Runda 1): for j 0 to 19 do
t ( ( A 5 ) + f ( B, C , D ) + E + X j + y1 ) ;

( A, B, C , D, E ) ( t , A, B 30, C , D ) ;
(Runda 2): for j 20 to 39 do
t ( ( A 5 ) + h ( B , C , D ) + E + X j + y2 ) ;

( A, B, C , D, E ) ( t , A, B 30, C , D ) ;
(Runda 3): for j 40 to 59 do
t ( ( A 5 ) + g ( B, C , D ) + E + X j + y3 ) ;

( A, B, C , D, E ) ( t , A, B 30, C , D ) ;
(Runda 4): for j 60 to 79 do
t ( ( A 5 ) + h ( B , C , D ) + E + X j + y4 ) ;

( A, B, C , D, E ) ( t , A, B 30, C , D ) ;
(Se actualizeaz valorile nlnuite)
( H 0 , H1 , H 2 , H 3 , H 4 ) ( H 0 + A, H1 + B, H 2 + C , H 3 + D, H 4 + E ) ;
(completare) Valoarea lui Ga (i ) este irul de 160 bii H 0  H1  H 2  H 3  H 4 .
Generarea tabelei, primul pas din algoritmul urmtor, folosete funcia de comprimare
SHA 1 pentru a extinde cheia secret a n tabele mari, T, S i R. Aceste tabele pot fi precalculate, dar numai dup stabilirea cheii secrete a. Tabelele T i S au dimensiunile de 2K
i 1K bii. Dimensiunea tabelei R depinde de lungimea dorit n bii, L, a cheii fluide (fiecare 1K byte al irului cere 16 bii din R).

46

Algoritmul de generare a cheii fluide pentru SEAL 2.0: SEAL(a, n)


Intrare: a cheia secret (160 bii), 0 n 232 - un ntreg, L - lungimea solicitat
pentru cheia fluid.
Ieire: cheia fluid y, y = L, unde L este primul multiplu de 128 care este L.
1 Generarea tabelei. Se genereaz tabelele T, S, R avnd ca elemente cuvinte de 32
bii. Fie funcia Fa (i ) = H ii (mod 5) unde H 0i H1i H 2i H 3i H 4i = Ga ([i / 5]) .

1.1 for i 0 to 511 do T [i ] Fa (i );


1.2 for j 0 to 255 do S [ j ] Fa (0 x00001000 + j );
1.3 for k 0 to 4 [ ( L 1) / 8192] 1 do R[k ] Fa (0 x00002000 + k ).
2 Procedura de iniializare.
Descrierea procedurii Initialize ( n, l , A, B, C , D, n1 , n2 , n3n4 ) cu intrrile n (cuvnt
de 32 bii) i l (ntreg). Ieirile sunt A, B, C, D, n1 , n2 , n3 , n4 (cuvinte de 32 bii).
a.

A n R [4 l ];

B ( n 8 ) R [ 4 l + 1] ;

C ( n 16 ) R [ 4 l + 2] ; D ( n 24 ) R [ 4 l + 3] .

b. for j 1 to 2 do
P A 0 x00007 fc, B B + T [ P / 4], A ( A 9 ) ,
P B 0 x00007 fc, C C + T [ P / 4], B ( B 9 ) ,
P C 0 x00007 fc, D D + T [ P / 4], C ( C 9 ) ,
P D 0 x 00007 fc, A A + T [ P / 4], D ( D 9 ) ,

( n1 , n2 , n3 , n4 ) ( D, A, B, C ) ;

3
4

A ( A 9) ,

P A 0 x00007 fc,

B B + T [ P / 4],

P B 0 x00007 fc,

C C + T [ P / 4],

P C 0 x00007 fc,

D D + T [ P / 4], C ( C 9 ) ,

P D 0 x 00007 fc,

A A + T [ P / 4],

B ( B 9) ,
D ( D 9) ,

Se iniializeaz y e (irul vid) i l 0;


Repet urmtoarele:
4.1 Execut procedura Initialize ( n, l , A, B, C , D, n1 , n2 , n3 n4 )
4.2 for i 1 to 64 do
P A 0 x00007 fc,
B B + T [ P / 4], A ( A 9 ) , B B A;
Q B 0 x00007 fc,
C C + T [Q / 4], B ( B 9 ) , C C + B;
P ( P + C ) 0 x00007 fc, D D + T [ P / 4], C ( C 9 ) , D D C ;
Q (Q + D ) 0 x00007 fc, A A + T [Q / 4], D ( D 9 ) , A A + D;

47

A ( A 9) ;

P ( P + A) 0 x 00007 fc,

B B + T [ P / 4],

Q (Q + B) 0 x 00007 fc,

C C + T [Q / 4],

P ( P + C ) 0 x 00007 fc,

D D + T [ P / 4], C ( C 9 ) ;

Q (Q + D ) 0 x00007 fc,

A A + T [Q / 4],

B ( B 9) ;
D ( D 9) ;

y y  ( B + S [4i 4])  ( C S [4i 3])  ( D + S [4i 2])  ( A S [i 1]) .


If y L, then return (y) STOP
else if i (mod 2) = 1 then ( A, C ) ( A + n1 , C + n2 )
else ( A, C ) ( A + n3 , C + n4 )
4.3 l l + 1
Observaie. n majoritatea aplicaiilor pentru SEAL 2.0 se folosete L 219.
Algoritmul funcioneaz i pentru valori mai mari, dar devine ineficient deoarece
crete mult dimensiunea tabelei R.
O variant este concatenarea cheilor fluide SEAL(a, 0)  SEAL(a,1)  SEAL(a, 2)...
Deoarece n 232 , se pot obine astfel chei fluide de lungimi pn la 251 , pstrnd
L = 219.
2.2. RC4

Sistemul RC4 (Rivest Code #4) a fost creat n 1987 de Ron Rivest pentru societatea
RSA Data Security Inc (astzi RSA Security). Destinat scopurilor comerciale, el a fost
secret, fiind accesibil numai dup semnarea unui protocol de confidenialitate. n
septembrie 1994 ns, un anonim public codul su surs pe o list de discuii, dup care
se rspndete rapid strnind o serie de polemici referitoare la drepturile intelectuale. Se
consider c astzi exist mai multe implementri ilegale.
RC4 este un sistem aditiv fluid de criptare.
Printre sistemele care folosesc RC4 se pot aminti SQL (Oracle), Lotus Notes, AOCE
(Apple Computer), WEP WPA CipherSaber Secure Sockets Layer (opional) sau Secure
shell (opional, adic sistemul de criptare este una din variantele oferite pentru
implementare). RC4 este utilizat pentru criptarea fiierelor n protocoale cum ar fi RSA
SecurPC sau n standarde de comunicaii (WEP, WPA pentru carduri, criptarea traficului
de date sau a site-urilor de web bazate pe protocolul SSL). De asemenea, el face parte din
Cellular Digital Packet Data specification.
La acest sistem, pentru generarea cheii fluide se folosete o stare intern (secret)
format din dou componente:
Un tablou de 256 octei: S [0], S [1],..., S [255], numit S box.
Doi pointeri de cte 8-bii (notai i respectiv j).
S box-ul este iniializat cu o cheie de lungime variabil de obicei ntre 40 i 256
bii, folosind un algoritm numit KSA (key-scheduling algorithm).
n faza a doua, cheia fluid este generat folosind algoritmul PRGA (pseudo-random
generation algorithm).

48

Algoritmul PRGA de generare a cheii fluide


j

i
S [i ] + S [ j ]

0 1 2
S

...

254 255
...

...

...

Coninuturile S [i ] i S [ j ] (unde i, j sunt date de cei doi pointeri) se adun modulo


256, iar octetul K de la adresa S [i ] + S [ j ] este introdus n cheia fluid. n plus, cei doi
octei sunt interschimbai.
Procedeul este reluat att timp ct este nevoie. La fiecare reluare starea celor doi
pointeri se modific (i este incrementat cu 1 iar j este incrementat cu S [i ] ). n acest fel,
orice locaie din S box este modificat cel puin o dat la 256 iteraii.
Formal:
i := 0
j := 0
while GeneratingOutput:
i := (i + 1) mod 256
j := ( j + S[i ]) mod 256
swap( S [i ], S[ j ] )
output S ( S [i ] + S[ j ]) mod 256
Algoritmul KSA de iniializare
KSA este utilizat pentru iniializarea S box-ului. Fie n ( 1 n 255 ) numrul de
octei din cheie (de cele mai multe ori, 5 n 16 ). Iniial n S se introduce permutarea
identic. Ulterior se realizeaz 256 transpoziii.
Formal:
for i from 0 to 255 do S [i ] := i
j := 0
for i from 0 to 255 do
j := ( j + S [i ] + key[i mod n]) mod 256

swap( S [i ], S[ j ] )
Implementarea sistemului RC4 este foarte simpl: ea lucreaz cu octei i necesit 256
pentru S box, n octei de memorie pentru cheie, plus trei variabile ntregi i, j, k.
Operaiile folosite sunt XOR i AND (sau pe unele platforme simpla adunare pe bii,
fr transport).
Securitatea RC4
Conform cu anumite studii fcute, sistemul are circa 2562 256! = 21700 stri posibile;
el este rezistent la criptanaliza diferenial i liniar, iar ciclurile sunt mai mari de 10.100.
Totui, securitatea RC4 este slab din mai multe puncte de vedere i criptografii nu
recomand sistemul pentru aplicaiile actuale.
49

Cheia fluid generat are o uoar preferin pentru anumite secvene de octei.
Aceasta a permis construirea unui atac (Fluhrer i McGrew) care separ cheia fluid
dintr-o secven aleatoare de maxim 1 GB.
n 2001, Fluhrer, Mantin i Shamir descoper c din toate cheile RC4 posibile, primii
octei de ieire nu sunt aleatori, oferind informaii importante despre cheie.
La majoritatea sistemelor de criptare, o msur de securitate ncesar este alegerea
unui numr aleator nou (nonce, new number) care s fie folosit pentru criptarea fiecrui
mesaj. n acest fel, criptarea de dou ori a aceluiai mesaj va genera texte diferite. O
solue sigur (care funcioneaz pentru orice sistem de criptare) este de a folosi o cheie
pe termen lung din care, prin amestec cu un nonce (dup un algoritm prestabilit) se obine
cheia necesar unei criptri. Multe aplicaii ns care folosesc RC4 fac o simpl
concatenare a cheii cu nonce. Aceast slabiciune este exploatat de Fluhrer, Mantin i
Shamir pentru a sparge ulterior sistemul de criptare WEP (wired equivalent privacy)
folosit pe reelele fr fir 802.11.
Ulterior, implementrile sistemului RC4 s-au aprat eliminnd primii octei (uzual
1024) din cheia fluid, nainte de a o folosi.

50

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