Compréhension de l'algorithme RC4
Bonjour,
Voila je suis étudiant et j'ai un projet a rendre sur la sécurité des réseaux wifi, je me suis donc forcement intéressé a l'algorithme RC4, sauf que j'ai vraiment du mal a saisir le fonctionnement de cet algorithme, je vais mettre ci joint l'algorithme dans l'espoir que quelqu'un puisse m'aider...
J'ai du mal a saisir le S[i]=i car pour moi i étant le pointeur, si i=2 on fait donc référence a l'élément de la case S[2] or si on fait S[i]=i on associe donc cette case au chiffre 2 ?
L'algorithme que j'ai trouvé est celui sur wikipédia, rien de bien original, mais j'ai trouvé que c'est celui qui avait l'ai le plus simple ...
Code:
1 2 3 4 5 6 7 8
| pour i de 0 à 255
S[i] := i
finpour
j := 0
pour i de 0 à 255
j := (j + S[i] + clé[i mod longueur_clé]) mod 256
échanger(S[i], S[j])
finpour |
et le deuxieme:
Code:
1 2 3 4 5 6 7 8 9
| i := 0
j := 0
tant_que générer une sortie:
i := (i + 1) mod 256
j := (j + S[i]) mod 256
échanger(S[i], S[j])
octet_chiffrement = S[(S[i] + S[j]) mod 256]
result_chiffré = octet_chiffrement XOR octet_message
fintant_que |
le lien de la page wikipedia: http://fr.wikipedia.org/wiki/RC4
Merci pour votre aide
Titouan