מציאת המפתח ב- rc4 בהינתן המצב הפנימי

40
- בבבבב בבבבב בRC4 בבבבבב בבבב בבבבבב בבבבבב: בבבב בבבבבב בבבב בבבבבבבב בבבב: בבבב בבבבב1

Upload: melantha-ganis

Post on 02-Jan-2016

55 views

Category:

Documents


9 download

DESCRIPTION

מציאת המפתח ב- RC4 בהינתן המצב הפנימי. מגישים: אמיר חצרוני וארז פרייברגר מנחה: יניב כרמלי. אלגוריתם RC4. אלגוריתם RC4 הוא pseudo random number generating algorithm , כאשר הגרעין הוא המפתח. האלגוריתם עובד בשני שלבים: - PowerPoint PPT Presentation

TRANSCRIPT

Slide 1

-RC4 : : 1 RC4 RC4 pseudo random number generating algorithm, . :KSA (key scheduling algorithm): ; PRGA (pseudo random generating algorithm): - ; 2KSA -KSA3KSA -Key Scheduling Algorithm.-KSA S 0255 K.4KSA:for i = 0 to N - 1 S[i] = i:j = 0for i = 0 to N 1 j = j + S[i] + K[i mod l] swap(S[i], S[j])5KSA , :K = password -hexadecimal:K = [70,61,73,73,77,6F,72,64]6KSA: S[0] = 0 S[1] = 1 S[2] = 2 S[3] = 3 S[4] = 4 ...

77KSA: j = 00

88KSA: for i = 0..N-1 { j += S[i] + K[i mod l] Swap(S[i], S[j]) }

j =

99KSA: j=j+S[0]+K[0] Swap(S[0],S[j]) j=j+S[1]+K[1] Swap(S[1],S[j]) j=j+S[2]+K[2] Swap(S[2],S[j]) ...

j =

1010KSA: j=j+S[0]+K[0] Swap(S[0],S[j]) j=j+S[1]+K[1] Swap(S[1],S[j]) j=j+S[2]+K[2] Swap(S[2],S[j]) ...j =

1111KSA: j=j+S[0]+K[0] Swap(S[0],S[j]) j=j+S[1]+K[1] Swap(S[1],S[j]) j=j+S[2]+K[2] Swap(S[2],S[j]) ...j =

1212KSA: j=j+S[0]+K[0] Swap(S[0],S[j]) j=j+S[1]+K[1] Swap(S[1],S[j]) j=j+S[2]+K[2] Swap(S[2],S[j]) ...

j =

1313KSA: j=j+S[0]+K[0] Swap(S[0],S[j]) j=j+S[1]+K[1] Swap(S[1],S[j]) j=j+S[2]+K[2] Swap(S[2],S[j]) ...j =

1414KSA: j=j+S[0]+K[0] Swap(S[0],S[j]) j=j+S[1]+K[1] Swap(S[1],S[j]) j=j+S[2]+K[2] Swap(S[2],S[j]) ...j =

1515KSA: j=j+S[0]+K[0] Swap(S[0],S[j]) j=j+S[1]+K[1] Swap(S[1],S[j]) j=j+S[2]+K[2] Swap(S[2],S[j]) ...

1616KSA : : S, K.17 18 : S[1] : (i, j) = (0, 0) :j = j + S[0] + K[0] = 0 + 0 + K[0]: (i, j) = (0, K[0]), -swap :Swap(S[0], S[ K[0] ]) , -swap :Swap(S[0], S[70])K =

19 :j = j + S[1] + K[1] = K[0] + 1 + K[1]: (i, j) = (1, K[0] + 1 + K[1]), -swap :Swap(S[1], S[ K[0]+1+K[1] ]) K[0] + 1 + K[1] D2, S[1] -D2. , swap S[1], , .K =

20 :(i, j) = (2, K[0] + 1 + K[1] + 2 + K[2]) -swap :Swap(S[1], S[3+K[0]+K[1]+K[2]]) 3 + K[0] + K[1] + K[2] 47, S[2] -47. S[2], swap , S[2] = 47.K =

21 -S[1] -S[2] :

, 256-1 0.004, ., , .

22 ":

23 , ".

, :

24 25 . l, l , .26 : -40%.: , . , .27 . . , . . , , .28 ( ):29 1 2 3 4"585.45%4.78%1.92%1.03%93.18%859.34%8.39%4.69%3.34%75.76%1044.85%8.91%6.06%3.96%63.78%1236.04%7.37%5.99%4.24%53.64%1622.51%5.97%5.58%4.09%38.15% :30 587%0.01850%2.321012%2.7312~1%4.6716~0%5.52 31 : "" , l ; , 32 RC4 33 34 35 S[i]: -i . S[i] .S[i] -KSA.36 , . . -12 , 11 . (-1% 5)37 S[i]