Alogrithme RC4-1

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 7

Chapitre : Alogrithme RC4

et tests de sécurité

Introduction

 Dans les algorithmes de chiffrement par flot, une suite


d’octets ou de bits ri est produite à partir de la clé.
 Cette suite est combinée aux octets ou aux bits du clair mi
pour donner les octets ou les bits du chiffré ci, suivant la
formule ci = mi ⊕ ri

Ex. chiffrement symétrique

Voici un exemple numérique :

M = 0110101011010100 (message en clair)

K = 0101011011100110 (clé secrète)

Convenons que le symbole ⊕ représente ici l'application de


l'opérateur XOR à chacun des bits :

Chiffrement : C = M ⊕ K = 0011110000110010 (message chiffré)

Déchiffrement : M = C ⊕ K = 0110101011010100 (message


déchiffré)

S. LAZAAR, ENSA Page 1


Algorithme RC4
 RC4 (Rivest Cipher 4) est un algorithme de chiffrement par
flot

 Propriété de la société RSA Data Security Inc.

 RC4 est un générateur de bits pseudo-aléatoires dont le


résultat est combiné avec le texte en clair via une
opération XOR

Chiffrement

 2 étapes sont nécessaires pour le chiffrement :


l'initialisation à l'aide de la clé et le chiffrement du texte
clair.

 La 1ère étape génère deux tableaux de 256 octets en


fonction de la clé

 Un tableau K initialisé avec les octets de la clé et un


tableau S (table d'états = flux appliqué sur le texte clair)
initialisé avec les nombres de 0 à 255 permutés pseudo-
aléatoirement

Exemples des tableaux (clé de 40 bits)

K = {clé(0),clé(1),clé(2),...,clé(39),clé(0),clé(1),...,clé(39)}
S = {34,55,228,0,...,4}
 La 2ème étape consiste en des permutations pour
effectuer le chiffrement.

S. LAZAAR, ENSA Page 2


Les additions sont toutes exécutées modulo 256. Le
chiffrement est relativement simple

On remarque que le tableau S change à chaque itération en


ayant deux éléments permutés.

*source de l’image: wikipédia.org

S. LAZAAR, ENSA Page 3


Description de l’Algorithme

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

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

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 :
Pour i=0 à m faire
M=Mc xor KS

S. LAZAAR, ENSA Page 4


FinPour

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

nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn

Applications :

RC4 est utilisé dans :

 les protocoles SSL, TLS, WEP (réseaux sans fils)

 BLUETOOTH

(voir: APPLICABILITY OF RC4 ALGORITHM IN BLUETOOTH


DATA ENCRYPTION METHOD FOR ACHIEVING
BETTER ENERGY EFFICIENCY OF MOBILE DEVICES*
Sivalingham Latchmanan1 Dr.Sharmin Parveen2
Faculty of Computer Science and Information Technology,
University of Malaya,, Malaysia)

S. LAZAAR, ENSA Page 5


nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn

Test de sécurité : Confusion et diffusion

Deux propriétés nécessaires pour qu’un système de chiffrement


ait une bonne sécurité, Shannon en 1949.

 La confusion sert à cacher la relation entre le clair et le


chiffré.

 Elle s’obtient par des opérations (non linéaires) de


substitution de sous-blocs.

 La diffusion sert à cacher la redondance dans le message


et à diffuser sur tout le chiffré l’influence du changement
d’un bit de clé ou d’un bit du clair.

 Elle s’obtient par une opération linéaire sur tout le bloc.

 La sous-clé intervient par ou exclusif.


nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn

S. LAZAAR, ENSA Page 6


Soient A et B les deux opérandes. Convenons de représenter
leur valeur ainsi :

1 = VRAI
0 = FAUX

L'opérateur XOR est défini par sa table de vérité, qui indique


pour toutes les valeurs possibles de A et B la valeur du résultat
R:

Table de vérité de XOR


A B R = A ⊕ B
0 0 0
0 1 1
1 0 1
1 1 0

L'opérateur logique XOR, ou OU exclusif peut se définir par :

Le résultat est VRAI si un et un seul des opérandes A et B


est VRAI

ou

Le résultat est VRAI si les deux opérandes A et B ont des


valeurs distinctes

S. LAZAAR, ENSA Page 7

Vous aimerez peut-être aussi