Rc4

Algorithme utilisé par Up ! Security Manager

L'algorithme Arc Four (RC4) crypte un flux binaire à partir d'une clé CleInitiale de taille TailleCle qui est au plus 256 octets.

Dans un premier temps, la clé est expansée de la sorte à atteindre 256 octets.

Dans un second temps, le flux est crypté octet par octet en réalisant des opérations sur leurs bits avec la clé expansée.

Contexte

L'algorithme de cryptage / décryptage utilise un contexte composé des variables globales suivantes :

Variable
/******/

Expansion de la clé

Voici l'algorithme d'expansion de la clé :

Variable
/******/


Debut
Pour I=0 JusquA 255 Faire
Fin Pour
J=0;
Pour I=0 JusquA 255 Faire
Fin Pour
I=0;
J=0;

Cryptage d'un octet

/****************************************************************/
Fonction CrypterDecrypter(O : Octet)
/* Objet : Crypte ou decrypte l'octet. */
/****************************************************************/
Variable
/******/

Debut
I=(I+1)&0xFF;
J=(J+S[I])&0xFF;
S2=S[I];
S[I]=S[J];
S[J]=2S;
Retourner O^S[(S[I]+S[J])&0xFF];
Fin Fonction