Vous êtes sur la page 1sur 4

Chiffrement RC4

CHAIB Rania / HADJ Farah


March 31, 2024

1 Définition
Le chiffrement RC4 (Rivest Cipher 4) est un algorithme de chiffrement par flux
développé par Ron Rivest en 1987. Il est largement utilisé dans des protocoles
tels que TLS (Transport Layer Security) pour sécuriser les communications sur
Internet. RC4 est un algorithme de chiffrement par flux symétrique, ce qui sig-
nifie qu’il utilise la même clé pour le chiffrement et le déchiffrement des données.

2 Le principe général
Initialisation de la table de permutation : Une clé secrète est utilisée pour
initialiser une table de permutation de 256 octets (ou bytes) contenant toutes
les valeurs de 0 à 255, généralement notées S[i].
Génération du flux chiffrant : En utilisant la clé secrète, la table de permu-
tation est mélangée de manière spécifique pour générer un flux chiffrant pseudo-
aléatoire. Ce flux est utilisé pour chiffrer les données en faisant un XOR (OU
exclusif) bit à bit entre les données et le flux.
Chiffrement : Les données à chiffrer sont combinées avec le flux chiffrant
généré dans l’étape précédente en utilisant l’opération XOR. Chaque octet des
données est combiné avec un octet du flux chiffrant pour produire l’octet chiffré
correspondant.
Déchiffrement : Le déchiffrement est effectué de la même manière que le
chiffrement. En utilisant la même clé secrète, le flux chiffrant est régénéré, et il
est combiné avec les données chiffrées à l’aide de l’opération XOR pour retrouver
les données d’origine.

1
3 L’algorithme de chiffrement RC4
3.1 Phase : Initialisation
Tableau K contient N octets de la clé et S contient les nombres 0. . . 255

Pour i=0 à 255 faire


S[i]=i
FinPour
j=0
Pour i=0 à 255 faire
j=(j+S[i]+K[i mod N]) mod 256
Echanger(S[i],S[j])
FinPour

3.2 Phase : Keystream


i=j=k=0;
Pour k=0 à m faire
i=(i+1) mod 256
j=(j+S[i]) mod 256
Echanger(S[i],S[j])
t=(S[i]+S[j]) mod 256
KS[k]=S[t]
FinPour

3.3 Phase : Chiffrement & Déchiffrement


Soit M un message de longueur m (octets) et soit Chiffrement :

Pour i=0 à m faire


Mc=M xor KS
FinPour
Déchiffrement :

2
Pour i=0 à m faire
M=Mc xor KS

4 Avantages
4.1 Simplicité d’implémentation :
L’algorithme RC4 est relativement simple à implémenter par rapport à certains
autres algorithmes de chiffrement symétriques plus complexes comme AES (Ad-
vanced Encryption Standard). Il nécessite moins de code et de ressources pour
être mis en œuvre, ce qui le rend attrayant pour des applications où l’efficacité
est cruciale.

4.2 Vitesse de chiffrement :


RC4 est connu pour sa vitesse de chiffrement rapide. En raison de sa structure
basée sur un chiffrement à flux, il peut chiffrer et déchiffrer des données rapi-
dement, ce qui le rend adapté à des applications nécessitant des opérations de
chiffrement/déchiffrement rapides.

4.3 Adaptabilité à diverses tailles de clés :


RC4 peut prendre en charge des tailles de clé variables, généralement de 40 à
2048 bits. Cela offre une certaine flexibilité en termes de sécurité et de compat-
ibilité avec différentes application

4.4 Efficacité dans certains scénarios :


Pour certaines applications spécifiques où la sécurité absolue n’est pas la priorité
absolue mais où la vitesse et la simplicité sont des facteurs critiques (comme les
protocoles réseau plus anciens), RC4 a été historiquement utilisé avec succès.

5 Inconvénients
5.1 Faiblesse de la clé :
Les premières clés générées par RC4 peuvent présenter des biais statistiques,
ce qui les rend moins aléatoires que souhaité. Cela rend l’algorithme plus
vulnérable à certaines attaques, notamment les attaques par clair connu.

5.2 Attaques par clair connu :


L’une des vulnérabilités les plus connues de RC4 est son exposition aux at-
taques par clair connu. L’utilisation répétée de la même clé pour chiffrer des
messages similaires peut conduire à des fuites d’information exploitables par des
attaquants.

3
5.3 Prédiction de la séquence de clés :
Des études ont montré que dans certaines conditions, il est possible de prédire
une partie significative de la séquence de clés générée par RC4. Cela peut
compromettre la sécurité du chiffrement, en particulier sur de longues séquences
de données.

5.4 Faible résistance aux attaques par force brute :


En raison de sa conception et de ses vulnérabilités, RC4 est moins résistant
aux attaques par force brute par rapport à des algorithmes plus récents et plus
robustes comme AES. Des clés RC4 plus courtes sont particulièrement sujettes
à de telles attaques.

5.5 Déclin de confiance :


En raison de ces inconvénients et de l’évolution des normes de sécurité, la con-
fiance dans l’algorithme RC4 a diminué au fil du temps. De nombreuses organi-
sations et protocoles ont abandonné son utilisation au profit d’algorithmes plus
sécurisés.

6 Conclusion
La clé RC4 permet d’initialiser un tableau de 256 octets en répétant la clé
autant de fois que nécessaire pour remplir le tableau.
Les octets sont déplacés dans le tableau, des additions sont effectuées.
Le but est de mélanger autant que possible le tableau.

En conclusion, le chiffrement RC4 (Rivest Cipher 4) était autrefois largement


utilisé en raison de sa simplicité d’implémentation et de sa vitesse de chiffrement
relativement rapide. Cependant, au fil du temps, des vulnérabilités importantes
ont été découvertes dans cet algorithme, le rendant non sécurisé pour une util-
isation dans des applications modernes nécessitant un haut niveau de sécurité.

Vous aimerez peut-être aussi