KSA

0664jester

Mitglied
Hallo,

Ich versuche hier einen KSA zu verstehen: http://en.wikipedia.org/wiki/RC4
Code:
for i from 0 to 255
    S[i] := i
endfor
j := 0
for i from 0 to 255
    j := (j + S[i] + key[i mod keylength]) mod 256
    swap values of S[i] and S[j]
endfor

1. for schleife:
es wird ein Array erzeugt von 0 bis 255.

2. for schleife:
es wird ein zweites array erzeugt.
erste runde der for schleife
Code:
j=(0+S[0] + key[0 mod 40 (als bsp)] mod 256
zweite runde der for schleife
Code:
j=((Ergebnis der ersten Runde)+S[1] + key[1 mod 40 (als bsp)] mod 256

usw.

Verstehe ich das richtig?

Gruß,
jester
 
Zuletzt bearbeitet:
Hallo 0664jester

Ja, das verstehst du grundsätzlich richtig. Wichtig ist noch, dass in jedem Schleifendurchgang die entsprechenden Werte in S vertauscht werden. Und es wird nicht unbedingt ein neues Array erzeugt in der zweiten Schleife. Das bestehende, das die Werte 0 bis 255 im Array hat wird modifiziert.

Grüsse
Cromon
 

Neue Beiträge

Zurück