SlideShare une entreprise Scribd logo
1  sur  45
Télécharger pour lire hors ligne
ENSEIGNANT : Dr. BELL
ECOLE NATIONALE SUPERIEURE POLYTECHNIQUE
LES ALGORITHMES DE CHIFFREMENT
RC4 - A5/1 - A5/2
MEMBRES DU GROUPE:
BENANA MAX-JOEL
BINDJEME NLATE Christelle
MENKEN Vitalis TABU
DIBAM Levo
1 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
Sommaire
INTRODUCTION GENERALE..................................................................................................................... 4
I. Introduction........................................................................................................................................ 4
CHAPITRE I. L’algorithme rc4........................................................................................................... 5
II. HISTORIQUE...................................................................................................................................... 5
III. QUELQUES RAPPELS sur le chiffrement .............................................................................. 5
LE CHIFFREMENT SYMETRIQUE............................................................................................ 5
LE CHIFFREMENT PAR FLUX..................................................................................................6
Chiffrement et déchiffrement avec XOR............................................................................... 8
IV. ETAPES DE L’ALGORITHME RC4 ........................................................................................... 8
V. CHIFFREMENT.............................................................................................................................. 9
1. KEY SCHEDULINGALGORITHM (KSA) .................................................................................... 9
2. RANDOM GENERATOR ALGORITHM (PRGA) .....................................................................11
3. CHIFFREMENT PROPREMENT DIT..........................................................................................12
VI. DECHIFFREMENT.......................................................................................................................13
VII. LES APPLICATIONS DU RC4...................................................................................................13
Oracle secure SQL .......................................................................................................................13
SSL : SECURE SOCKET LAYER ................................................................................................13
WEP ................................................................................................................................................13
VIII. ATTAQUES CONTRE RC4.........................................................................................................15
FLUHRER, MANTIN, SHAMIR, 2001 (FMS) .........................................................................15
KOREK, 2004................................................................................................................................15
KLEIN, 2006..................................................................................................................................16
ERIK TEWS, WEINMANN, PYSHKIN, 2007 .........................................................................16
2 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
IX. AVANTAGES ET INCONVÉNIENTS DU RC4....................................................................... 17
LES AVANTAGES........................................................................................................................ 17
LES INCONVENIENTS................................................................................................................18
X. RENFORCEMENT DU RC4 ...........................................................................................................18
CHAPITRE II. SYSTEME DE CHIFFREMENT A5..........................................................................20
I. Introduction......................................................................................................................................20
II. Quelques définitions.......................................................................................................................20
1. Système de chiffrement à flot .............................................................................................20
2. Système de chiffrement symétrique ..................................................................................21
3. GPA.............................................................................................................................................21
4. Chiffrement synchrone...........................................................................................................21
5. Chiffrement asynchrone.......................................................................................................22
6. Registre à décalage à rétroaction linéaire .....................................................................22
III. Généralités sur le GSM ..............................................................................................................24
1. Architecture GSM................................................................................................................................24
2. Sécurité du GSM.............................................................................................................................26
IV. Système de chiffrement A5/1...................................................................................................29
1. Historique..........................................................................................................................................29
2. Principe de fonctionnement du A5/1........................................................................................29
V. SYSTEME DE CHIFFREMENT A5/2............................................................................................... 35
Historique ..................................................................................................................................... 35
Principe de fonctionnement.................................................................................................... 35
VI. Attaques .......................................................................................................................................40
VII. COMPARAISON ENTRE A5/1 ET A5/2 :.................................................................................41
1. Différences fondamentales entre A5/1 et A5/2 :..................................................................41
3 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
2. Différence de performances :...................................................................................................41
Conclusion générale....................................................................................................................................43
Webographie et bibliographie ................................................................................................................44
4 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
INTRODUCTION GENERALE
I. INTRODUCTION
De nos jours, nous n’aimerions pas toujours que lors d’une conversation, une personne non-
autorisée écoute ce de quoi nous parlons. De même, dans les grandes compagnies
(banques, assurances, mutuelles….) et le domaine de la défense, certaines informations ne
peuvent être accessibles qu’aux personnes privilégiées. Bref, lorsqu’on veut restreindre
l’accès à des informations, on se pose le problème de leur sécurité. Ainsi, des moyens très
élaborés ont été mis sur pied pour sécuriser les données à transmettre via des méthodes et
techniques mathématiques et algorithmiques fiables : le cryptage. C’est le processus par
lequel on transforme des données (texte, image, vidéo…..) compréhensible en des données
chiffrées dans le but de dissimuler sa compréhension tout en la rendant accessible et de ce
fait, prévenir et empêcher un destinataire non-autorisé de pouvoir récupérer le message
original.
Ainsi, dans le cadre de cette unité d’enseignement
5 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
CHAPITRE I. L’ALGORITHME RC4
II. HISTORIQUE
RC4 (pour Rivest Cipher 4) a été conçu par Ronald Rivest en 1987, pour RSA
Security. Il fut d’abord vendu avec des accords de confidentialité et resta donc longtemps
secret. Mais en septembre 1994, un abonné anonyme de la mailing List cypherpunk publie
un code source, vraisemblablement issu de la rétro-ingénierie d’un programme compilé,
qu’il affirme être RC4. Plusieurs utilisateurs confirmeront par la suite la compatibilité de
ce code avec le code propriétaire de RSA Security.
Il existe une version allégée du chiffrement RC4, portant le nom d’ARC4 (Alleged RC4),
utilisable légalement. Le RC4 reste la propriété de RSA Labs.
III. QUELQUES RAPPELS SUR LE CHIFFREMENT
Le chiffrement a pour but de garantir la confidentialité des communications.
LE CHIFFREMENT SYMETRIQUE
Il s’agit d’un procédé de chiffrement dans lequel la clé de chiffrement est la même que la
clé de déchiffrement.
Illustration
‘‘ξ est le message à chiffrer et D le message chiffrer’’
6 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
LE CHIFFREMENT PAR FLUX
a) Idée sous-jacente : Le chiffre de Vernam
Le chiffre de Vernam, ou « One-Time-Pad » ou « masque jetable » a été proposé en 1917
par Gilbert Vernam, ingénieur à l'American Telephone and Telegraph Company, chargé de
la sécurité des téléscripteurs. Il a été perfectionné par Joseph O. Mauborgne, chef du service
cryptographique de l'armée américaine, qui y introduisit la notion de clé aléatoire.
Sa sécurité a été prouvée pour autant que la clé de chiffrement soit aussi longue
que le message à chiffrer, qu'elle soit aléatoire et utilisée une seule fois.
Ce système présente des avantages dans la mesure où n'importe quel message
chiffré peut être obtenu pour un message clair donné. La seule attaque possible consiste
donc à déterminer l'ensemble de la clé.
Le système mis au point par Vernam, bien qu'apportant une sécurité optimale, est
très peu d'usage dans le monde civil, et est surtout réservé à des organismes possédant des
moyens importants. En effet, tout le monde n'est pas en mesure d'utiliser des clés de la
manière décrite plus haut:
 Générer des clés gigantesques (puisqu'au moins la taille de l'ensemble des messages
à envoyer comme clé) nécessite une grande puissance de calcul ;
 Transporter de telles clés, dont le secret doit être maintenu à tout prix, n'est pas
chose aisée.
La nécessité de disposer de clés aléatoires de même longueur que le message, et de
ne les utiliser qu'une fois, rend le système impraticable si l'on ne dispose pas de la logistique
nécessaire à l'échange de ces clés.
b) Chiffrement Par Flux
Les chiffrements par flux s'inspirent du chiffre de Vernam mais utilisent une suite
pseudo-aléatoire, générée à partir de quelques bits de clé réellement aléatoires. Les
7 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
données sont traitées en flux. Il peut s’agir d’un traitement bit par bit ou d’un chiffrement
octet par octet (cas du RC4).
Ses principales caractéristiques sont les suivantes :
 Il est indifférent au contenu du message et sa longueur pour débuter la procédure
de chiffrement;
 La génération de pseudo-alea, appelé flux de clé (Key Stream) que l'on combine
(souvent par XOR) avec le flux de données.
Illustration
En pratique un chiffrement par flux est réalisé en utilisant un générateur pseudo-
aléatoire.
c) Générateur de nombres pseudo-aléatoires
Un générateur de nombres pseudo-aléatoires, pseudo random number generator
(PRNG) en anglais, est un algorithme qui génère une séquence de nombres présentant
certaines propriétés du hasard. Par exemple, les nombres sont supposés être
approximativement indépendants les uns des autres, et il est potentiellement difficile de
repérer des groupes de nombres qui suivent une certaine règle (comportements de groupe).
Cependant, les sorties d'un tel générateur ne sont pas entièrement aléatoires ; elles
s'approchent seulement des propriétés idéales des sources complètement aléatoires. John
Von Neumann insista sur ce fait avec la remarque suivante : « Quiconque considère des
méthodes arithmétiques pour produire des nombres aléatoires est, bien sûr, en train de
commettre un péché ». De vrais nombres aléatoires peuvent être produits avec du matériel
8 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
qui tire parti de certaines propriétés physiques stochastiques (bruit d'une résistance par
exemple).
La raison pour laquelle on se contente d’un rendu pseudo-aléatoire est d’une part
qu’il est difficile d’obtenir de « vrais » nombres aléatoires et que, dans certaines situations, il
est possible d’utiliser des nombres pseudo-aléatoires, en lieu et place de vrais nombres
aléatoires ; d’autre part, que ce sont des générateurs particulièrement adaptés à une
implantation informatique, donc plus facilement et plus efficacement utilisables.
Chiffrement et déchiffrement avec XOR
Soit l'opération booléenne XOR :
 Chiffrement du message M avec la clé K :
 Déchiffrement du message C avec la clé K :
IV. ETAPES DE L’ALGORITHME RC4
Etant donné un message clair à chiffrer
 Choisir une clé de chiffrement;
 Créer deux tableaux S et T de 256 cases chacun devant contenir des octets;
 Initialiser S avec les nombres de 0 à 255 dans cet ordre;
 Remplir T avec la clé;
9 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
 Effectuer des permutations aléatoires d’éléments de S en fonction d’éléments de T;
 Ré-effectuer des permutations aléatoires d’éléments de S suivant un schéma basé
sur la configuration actuelle de S pour obtenir le flux de clés final;
 Effectuer un ou-exclusif entre le flot de clés final et le message clair à chiffrer.
V. CHIFFREMENT
1. KEY SCHEDULINGALGORITHM (KSA)
Cet algorithme fonctionne sur les octets. Ainsi, la clé, de longueur variable, peut avoir une
taille comprise entre 1 et 256 octets (de 8 à 2048 bits). Elle est utilisée pour initialiser un
vecteur S de 256 octets. A tout moment, S contient une permutation de toutes les cellules le
composant. La clé est utilisée pour mélanger le tableau le mieux possible (On échange
chaque élément avec un autre élément choisi en fonction de la clé); ainsi le tableau (par
permutations) évolue à chaque tour. Cet algorithme est appelé Key Scheduling Algorithm,
ou KSA.
# Initialisation de la permutation identité
Initialement, les cellules de S reçoivent une valeur égale à leur position (i.e., S
[0]=0, S[i]=i, ...)
Ainsi la première instruction de notre algorithme sera:
For i = 0 to 255 do
S[i ] := i ; // permutation identité
Un vecteur temporaire T (de longueur égale à celle de S) est également créé et destiné à
recevoir la clé.
10 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
 Si la longueur ‘len’ de la clé K est égale à 256 octets, K est simplement transféré dans
T.
 Si K est inférieur à 256 octets, il est recopié dans T jusqu’à atteindre la taille de T.
Dans notre algorithme, ce qui précède s’écrit (pour une clé K de longueur l):
T[i] = K [i mod len];
Le vecteur temporaire T est ensuite utilisé pour produire la permutation initiale de S. Pour
chaque cellule S[i] de S, celle-ci sera échangée avec une autre cellule de S selon un calcul
basé sur la valeur comprise dans la cellule T[i] correspondante.
Tout comme l’initialisation des vecteurs, on peut représenter la permutation initiale de S
comme suit :
j = 0;
FOR i = 0 TO 255 DO
11 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
j = (j + S[i] + T[i]) mod 256;
SWAP(S[i], S[j]);
2. RANDOM GENERATOR ALGORITHM (PRGA)
Il s’agit de la Génération du flux pseudo aléatoire. A partir de cet instant, la clé
d’entrée n’est plus utilisée. Pour chaque S[i], on procèdera à un échange avec un autre
octet de S, selon un schéma basé sur la configuration courante de S. Une fois arrivé à S
[255], le processus redémarre à la cellule S [0]. La figure suivante présente la procédure.
A nouveau, on peut illustrer algorithmiquement la méthode (on parle de PRGA pour
Pseudo-Random Generation Algorithm) :
12 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
i, j = 0;
WHILE génération DO // tant qu’il y’a un octet à chiffrer
i = (i +1) mod 256;
j = (j + S[i]) mod 256;
SWAP (S[i], S[j]);
t = (S[i] + S[j]) mod 256;
k = S[t];
3. CHIFFREMENT PROPREMENT DIT
La valeur de k est alors utilisée pour le chiffrement (⊕ avec le prochain octet de
texte clair).
Les étapes : Deux et trois peuvent être résumé de la façon suivante :
GPA
13 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
VI. DECHIFFREMENT
La même valeur de k est utilisée pour le déchiffrement (⊕ avec le prochain
octet de texte chiffré).Ceci se justifie par le fait que ⊕ est une loi de groupe qui est son
propre inverse.
VII. LES APPLICATIONS DU RC4
Oracle secure SQL
Oracle est un SGBD (système de gestion de bases de données) édité par la société du
même nom (Oracle corporation), leader mondial des bases de données qui permet
d’assurer la définition, la manipulation, la confidentialité, l'intégrité, la sauvegarde et la
restauration des données .Il utilise le chiffrement par RC4 pour crypter les données.
SQL (Structured Query Language.) : Langage d'interrogation de bases de données.
SSL : SECURE SOCKET LAYER
SSL (Secure Socket Layer) est un protocole de sécurisation des échanges,
développé par Netscape. Il a été conçu pour assurer la sécurité des transactions sur Internet
(notamment entre un client et un serveur), et il est intégré depuis 1994 dans les navigateurs.
SSL utilise le RC4 pour garantir la confidentialité.
WEP
Le WEP (Wired Equivalent Privacy) est un protocole de sécurité pour les
réseaux sans fils définis dans le standard 802.11. Le WEP utilise l’algorithme RC4 pour chiffrer
14 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
les paquets envoyés depuis le point d’accès ou un client du réseau. Dès qu’un paquet est
reçu, il est déchiffré. Le WEP utilise une clé partagée pouvant aller de 40 à 232 bits, le point
d’accès et les clients utilisent cette clé pour chiffrer et déchiffrer les données.
Pour être plus précis, chaque paquet est chiffré à l’aide d’une seule clé qui est, en fait, un
vecteur d’initialisation (initialization vector IV en anglais) qui, change à chaque fois qu’il
est concaténé avec la clé partagée. On obtient ainsi des clés allant de 64 à 256 bits. Cette
clé va être donnée à l’algorithme RC4 qui va retourner un Key Stream; on fait ensuite un
XOR avec les données à chiffrer pour obtenir le cryptogramme que l’on concatène avec le
vecteur d’initialisation avant de transmettre le tout.
A la réception, on récupère le vecteur d’initialisation transmis, on le concatène avec la clé
secrète ; RC4 nous retourne alors le même Key Stream. Après un XOR entre le Key Stream
et le cryptogramme, on obtient les données déchiffrées.
Le schéma suivant illustre le chiffrement et le déchiffrement sur le WEB :
15 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
VIII. ATTAQUES CONTRE RC4
FLUHRER, MANTIN, SHAMIR, 2001 (FMS)
Les premières attaques contre RC4 consistaient à différencier un flux généré par
RC4, d’un flux parfaitement aléatoire. En 2001, S. Fluhrer, I. Mantin et A. Shamir publient
un article ou ils décrivent une faille dans RC4, et comment elle peut être exploitée, en
particulier, pour casser la clé utilisée par le WEP.
L’idée principale est la suivante : la clé de session utilisée par chaque paquet est construite
en concaténant un vecteur d’initialisation de 24 bits à la clé partagée. Ils parviennent à
montrer que, pour certaines valeurs spécialement choisies du vecteur d’initialisation, le
premier octet généré par le PRGA a une probabilité importante (≈ 1/e) d’être un octet
précis de la clé. Cette attaque est une attaque à clair connu (elle suppose de connaitre le
premier octet du Key Stream). Elle nécessite en outre un grand nombre de vecteurs
d’initialisation répondant à des conditions spécifiques, ainsi que le premier octet associé.
Il faut généralement entre 1 et 4 millions de paquets pour avoir suffisamment d’ IV ”faibles”
pour réussir l’attaque.
KOREK, 2004
En 2004, un individu publie, sous le pseudonyme Korek, une série d’attaques
statistiques contre RC4. Ces attaques, au nombre de 15, sont pour la plupart des
généralisations de l’attaque FMS. Ces attaques peuvent être décomposées en trois classes :
 celles utilisant le premier octet du Key Stream pour retrouver la clé ;
 celles utilisant les deux premiers octets du Key Stream pour retrouver la clé ;
 celles permettant simplement de réduire l’espace de recherche des clés, en
particulier en permettant de retrouver un octet précis de K.
Chacune des attaques est lancée l’une après l’autre, jusqu’ à ce que l’une d’elles trouve la
clé. En pratique, 500000 paquets capturés suffisent à casser la majorité des clés WEP.
16 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
Chaque attaque est accompagnée d’une liste de conditions sur le KSA et le PRGA après
initialisation partielle. Si ces conditions sont vérifiées, le paquet peut être utilisé.
KLEIN, 2006
En 2006, Andreas Klein propose une nouvelle attaque qui ne nécessite pas de
resolved condition. Cela réduit considérablement le nombre de paquets à capturer
puisqu’ils peuvent tous être utilisés.
Il est donc possible, en examinant suffisamment d’IV et le Key Stream associé, de retrouver
un à un chaque octet de la clé. Le nombre de paquets à examiner serait plus important
que pour les attaques précédentes, mais comme tous les paquets sont utilisables, le nombre
de paquets à capturer est considérablement plus faible.
ERIK TEWS, WEINMANN, PYSHKIN, 2007
En 2007, Erik Tews, Ralf-Philipp Weinmann, et AndreiPyshkin reprennent
l’attaque de Klein, et l’optimisent pour attaquer le protocole WEP. Leur attaque propose
deux avancées majeures par rapport à celle de Klein.
Tout d’abord, alors que les attaques précédentes n’utilisaient que les premiers
octets des paquets, la leur utilise 128 bits, soit 16 octets. Pour ce faire, ils collectent
exclusivement des paquets correspondant à des requêtes ARP. Ceci est possible car ces
trames font toutes 68 octets. La structure de ces paquets étant toujours la même (à un bit
près), ils sont capable de retrouver 64 octets de Key Stream par paquet.
Par ailleurs, l’attaque de Klein retrouve les octets de la clé partagée un par un,
et retraite à chaque fois la totalité des paquets. L’attaque PTW, elle, construit en une seule
fois une table de votes intermédiaires qui est ensuite utilisée pour calculer tous les octets de
la clé.
Enfin, l’attaque utilise aussi un certain nombre d’heuristiques pour détecter
d’éventuels octets «forts »de la clé, et les attaquer par brute force. Cette attaque est à ce
17 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
jour la plus rapide. Il est possible, simplement en capturant une requête ARP, de l’injecter
en boucle pour générer des réponses ARP. Dans des conditions idéales, il suffit d’une minute
pour collecter assez de paquets. L’attaque elle-même dure quelques secondes.
IX. AVANTAGES ET INCONVÉNIENTS DU RC4
LES AVANTAGES
 Le premier avantage qu’a le RC4 sur la majeure partie des algorithmes de
chiffrement, est sa vitesse de chiffrement élevée :
Algorithme Longueur de la clé Vitesse (en Mbps)
DES 56 9
3DES 168 3
RC4 Variable (5-16 octets)
Max 2048 bits
45
18 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
A5/1 64 bits >50
 Il est très simple.
 En plus le message clair à la même taille que le chiffré.
 RC4 permet d’atteindre des performances logicielles.
LES INCONVENIENTS
RC4 est vulnérable à plusieurs attaques (citer ci-dessus).
X. RENFORCEMENT DU RC4
Il semblerait que le RC4 soit toujours sûre pour autant que certaines conditions
soient remplies au niveau de la clé d’initialisation comme l’utilisation d’une fonction de
hachage ou d’un nonce. Parce que le RC4 est un algorithme de chiffrement par flot, la
même clé ne doit pas être utilisée deux fois pour chiffrer les données échangées. C'est la
raison de la présence d'un vecteur d'initialisation (IV). Ce vecteur, transmis sans protection,
permet d'éviter la répétition. Cependant, une IV de 24 bits n'est pas assez long pour éviter
ce phénomène sur un réseau très actif.
19 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
Nous retenons, du RC4 qu’il nous propose un système de chiffrement sur trois étapes:
 l’initialisation
 la génération de flux de clés
 le chiffrement proprement dit.
Cependant rappelons-nous qu’il n’est qu’un cas isolé dans la famille RC qui traite des
données par flux. Pour les autres chiffrements de la famille RC il s’agit d’un chiffrement par
bloc. C’est le cas du standard RC2 présenté dans la suite.
20 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
CHAPITRE II. SYSTEME DE CHIFFREMENT A5
I. INTRODUCTION
Le téléphone fixe a révolutionné le concept de la télécommunication vocale, mais avec
l’évolution du temps, le manque de mobilité s’est avéré être un sérieux problème. De plus,
le délai lors de l’établissement des communications et la sécurité précaire constituaient un
véritable problème. La première génération de communication mobile (AMPS) a alors été
introduite. Ici encore, on retrouve certains problèmes comme le clonage des téléphones,
l’appel aux frais d’une autre personne, et même la possibilité d’intercepter des appels
téléphoniques dans le canal Hertzien et espionner ainsi les discussions. En 1982, la deuxième
génération est adoptée, plus connue sous le nom de GSM (Global System For Mobile
Communication). Il a pour but de résoudre le problème d’usurpation d’identité et même
celui d’espionnage. Ceci se fait à l’aide de l’implémention de forts moyens
d’authentification et de confidentialité entre la MS (Mobile Station) et la BTS (Base
Transceiver Station). C’est donc, à ce niveau que A5 intervient. En effet, A5 est une famille
d’algorithmes de chiffrement symétrique à flot synchrone constituée d’A5/0, A5/1, A5/2
…etc, qui sont des systèmes de chiffrement qui viennent résoudre le problème d’espionnage
lors des communications GSM. A cet effet nous nous proposons dans le cadre de cette partie
de l’exposé d’étudier consécutivement le système de chiffrement A5/1 et ensuite son dérivé
A5/2.
II. QUELQUES DEFINITIONS
1. Système de chiffrement à flot
Encore appelée chiffrement en continu (Stream-Cipher), c’est un système de chiffrement
(symétrique) dans lequel chaque symbole du texte clair subit une transformation variable
dans le temps.
La transformation que subit chaque symbole mi du texte clair est le plus souvent une
combinaison additive avec un symbole si produit par un générateur pseudo-aléatoire.
On a donc :
mi + si = ci (chiffrement)
21 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
ci + si = mi (déchiffrement)
Où ci est le cryptogramme et si la séquence de chiffrement.
2. Système de chiffrement symétrique
Encore appelée système de chiffrement à clé secrète, c’est un système qui utilise une seule et
même clé lors du chiffrement et du déchiffrement par opposition au système de chiffrement
asymétrique.
Figure 1: Illustration d’un système de chiffrement symétrique
3. GPA
Un générateur pseudo-aléatoire de symbole (GPA), est un automate à nombre fini d’état,
qui à partir de la donnée d’un nombre fini de symbole produit une suite potentiellement
illimitée de symbole qui a l’apparence d’une suite aléatoire.
4. Chiffrement synchrone
Le chiffrement est dit synchrone si les données produites par le GPA ne dépendent que de
son état interne et non du message à chiffrer.
On a le schéma suivant :
22 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
Figure 2 : schéma de système de chiffrement à flot synchrone
5. Chiffrement asynchrone
Le chiffrement est dit asynchrone ou auto-synchronisant si les symboles produits par le GPA
ne dépendent que de son état interne et d’un nombre fixé t de symboles du message clair.
Figure 3 : schéma des systèmes de chiffrement à flot synchrone.
6. Registre à décalage à rétroaction linéaire
Un registre à décalage à rétroaction linéaire encore LFSR (Linear Feedback Shift Register),
est la donnée :
1. d’un registre de L cases contenant chacune un bit s t, s t+1,…, s t+L-1 ;
2. et une fonction linéaire de rétroaction « f » calculant un bit St+L par combinaison
de certains bits du registre.
23 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
Au top d’horloge t, le bit st sort du registre, tous les bits sont décalés d’un rang vers la
gauche, et st+L entre dans le registre comme l’illustre le schéma suivant :
Avant le top d’horloge t, St+L se présente à l’entrée du registre :
Après le top d’horloge t, St+L est introduit dans le registre tandis que St en est expulsé :
Figure 4 : Principe du décalage
24 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
III. GENERALITES SUR LE GSM
1. ARCHITECTURE GSM
Les différents éléments de l’architecture GSM sont :
 Les MS (Mobile Station) et la SIM
Le terminal mobile contient la carte SIM. Dans cette dernière sont gravées des
informations secrètes propres aux données de l’utilisateur
 L’IMSI (International Mobile Subcriber Identity), qui est un numéro unique
identifiant l’abonnement à la carte SIM.
 Ki, la clé privée de 128 bits de la carte SIM, dont l’utilisation sera expliquée
ultérieurement dans le rapport.
 L’ICCID (Integrated Circuit Card ID), un numéro unique identifiant la SIM.
Ce numéro est également gravé à côté de la puce dans la plupart des cas.
 Les BTS (Base Transceiver Station)
Les BTS sont les liens entre les terminaux mobiles et les BSC.
Ces équipements possèdent une interface vers un BSC et une antenne permettant la
communication avec les terminaux mobiles de sa zone, via l’interface Um (air). Ce sont les
communications entre cet équipement et les terminaux mobiles qui seront étudiées dans la
suite du rapport. Les communications entre ces équipements et les terminaux mobiles sont
donc chiffrées. Ces différents équipements définissent des cellules, c’est à leur zone de portée.
 Les BSC (Base Station Controller)
25 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
Les BSC communiquent avec les BTS via l’interface Abis et avec les MSC via l’interface A.
Cet équipement est relié généralement à plusieurs BTS et permet de grouper ces dernières.
 Les MSC (Mobile Switching Center)
Les MSC sont les éléments principaux de l’architecture GSM. Ils contrôlent le trafic entre
plusieurs BSC auxquels ils sont connectés, et contrôle également le trafic eux et les autres
MSC. Ce sont ces équipements qui sont connectés aux passerelles des autres opérateurs et
permettent les appels vers ces derniers, ainsi que vers des lignes fixes, via le routage des
paquets la localisation des différents qu’ils assurent. Ce sont ces équipements qui assurent la
localisation des différents utilisateurs, ainsi que la gestion des connexions vers les MS qui sont
connectées aux BTS que la MSC contrôle. Ce contrôle est possible grâce au VLR associé à
chaque MSC.
 Les VLR (Visitor Location Register)
Les VLR contiennent les informations sur les utilisateurs actuellement présents dans la zone
de couverture du MSC. Les VLR sont donc temporaires. A chaque fois qu’un utilisateur
rentre dans une nouvelle zone, les VLR obtiennent les informations sur ces derniers en
envoyant une requête HLR correspondant. Ils informent donc les HLR de la zone couverte
dans laquelle l’utilisateur se situe.
Pour chaque utilisateur, le VLR contient :
 Son numéro unique d’identifiant (IMSI)
 Son numéro temporaire d’identification (TMSI)
 Le numéro de téléphone international de l’utilisateur (MSISDN)
 Le numéro d’identification du téléphone de l’utilisateur
 Les services auxquels l’utilisateur a accès
 Les données d’authentification de l’utilisateur
Un utilisateur ne peut donc être que dans un VLR à la fois. Les VLR sont remis à jour
fréquemment.
 Les HLR (Home Location Register) et EIR (Equipment Identity Register)
Les EIR sont toujours intégrés aux HLR. Les EIR contiennent une liste des IMEI des différents
terminaux, dont ceux bannis du réseau (par exemple pour vol ou perte). Ces derniers
permettent donc le traçage des terminaux volés, ainsi que le refus d’accès au réseau pour
ces derniers.
Les HLR sont les “registres centraux” contenant les informations sur les abonnés. Un
abonné a ses informations stockées dans un HLR de l’operateur. C’est ce HLR qui transmet
ces informations aux VLR lors de notre connexion dans une zone. Les HLR mémorisent la
position de l’abonné telle qu’elle leur est transmise par les VLR. Ce sont les HLR qui effacent
les informations sur les utilisateurs des VLR quand ces derniers ont changé de zone. Les
26 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
HLR contiennent donc les informations sur l’abonnement des utilisateurs. Il peut y avoir
un ou plusieurs HLR par opérateur.
Pour chaque Utilisateur étant inscrit dans un HLR, ce dernier contient
• Son numéro unique d’identification (IMSI)
• Le numéro de téléphone international de l’utilisateur(MSISDN)
• Les services auxquels l’utilisateur a accès
• L’identité du VLR de la zone dans lequel l’utilisateur se trouve
Les HLR sont mis à jour fréquemment.
 Les AuC (Authentication centre)
Les AuC sont utilisés à chaque mise en route de téléphone (et donc connexion au réseau),
afin d’authentifier les cartes SIM des utilisateurs. C’est cette entité qui génère les
différentes variables cryptographiques qui seront ensuite utilisées pour le chiffrement de la
communication. Les différents mécanismes d’authentification seront détaillés dans la section
suivante. C’est cette entité qui permet d’éviter le clonage de carte SIM.
2. Sécurité du GSM
Parmi les nombreuses procédures misent en place pour assurer la sécurité du GSM, on a
l’authentification et la confidentialité.
a) L’authentification
La procédure d’authentification se divise en 5 étapes :
1. En utilisant le code PIN de l’utilisateur, le téléphone obtient de la carte SIM les
informations suivantes :
• L’IMSI (International Mobile Subscriber Identity) qui est un code d’identification
unique et universel pour GSM.
• Ki qui est une clé privée propre à chaque carte SIM. Celui-ci est sensible et n’est
jamais transmis tel quel par voie aérienne ; on préférera utiliser l’IMSI pour l’identification.
2. Le terminal envoie ensuite son IMSI à la BTS. Cette dernière transmet cet IMSI au
HLR/AuC, qui lui connait la clé privée Ki de la SIM.
3. L’AuC génère un nombre aléatoire de 128 bits, ici appelé RD, et le transmet au terminal
via la BTS.
27 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
4. Le terminal détermine une réponse signée (SRES) a partir de l’algorithme A3 (SRES = A3
(RD, Ki)), ainsi qu’une clé de session Kc à l’aide de l’algorithme de chiffrement A8 (Kc = A8
(RD, Ki)).
5. Le terminal renvoie ensuite la SRES calculée à la HLR/AuC, et cette dernière vérifie que
cette réponse SRES est similaire à celle qu’il a calculée.
Le cas échéant, le terminal est authentifié, et ce dernier commence à communiquer en
utilisant sa clé Kc, qui sera également utilisée pour le chiffrement via l’algorithme A5, dont
le fonctionnement sera détaillé ci-après.
Figure 5 : procédure d’authentification de l’abonné.
b) La confidentialité des communications
La confidentialité quant à elle empêche l’écoute par un usager non autorisé de la
communication. Comme solution à ce problème de confidentialité, les mêmes éléments
RAND et K i suscités sont passés en paramètres de l’Algorithme A8, implémenté dans la
carte SIM et dans l’AUC, qui produit un résultat (clé) Kc. Cette clé Kc sert de clé de
chiffrement pour le trafic de la communication entre le mobile et la BTS.
28 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
Un algorithme de chiffrement A5 présent sur la MS et la BTS est alors utilisé pour
chiffrer et déchiffrer les données de la communication.
Ce processus se résume par le schéma suivant :
Figure 7 : principe de la confidentialité des communications
Il a donc été montré que les seules communications chiffrées sont entre les terminaux
mobiles et non pas de bout en bout des communications dans l’architecture GSM. C’est ce
lien terminal mobile/BTS qui va être la cible d’attaques potentielles, qui vont être
expliquées par la suite.
Utilisation d’A5 dans le protocole GSM
Apres une authentification correcte auprès de la base GSM, le téléphone est en
possession d’une clé privée de session Kc. Dans le standard GSM, les parties communicantes
échangent leurs données en trames de 228 bits toutes les 4.6 millisecondes. La
communication se fait en full-duplex, ces 228 bits représentent les 114 bits de données
montantes et les 114 bis de données descendantes. Le chiffrement de ces données va
se faire selon deux critères :
• La clé privée de session Kc
29 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
• Le numéro de trame (Frame Number) qui lui est publiquement connu.
IV. SYSTEME DE CHIFFREMENT A5/1
1. Historique
L'algorithme A5/1 a longtemps été conservé secret. Une première description est publiée par
Ross Anderson dans un groupe de discussion. Cette description, obtenue par analyse d'une
implantation, était incorrecte sur plusieurs points, mais montrait déjà la structure interne du
système. Une seconde description a été publiée en 1999 par Marc Briceno, Ian Goldberg et
David Wagner. Elle diffère de celle de Ross Anderson par le détail des registres à
décalage utilisés. Elle est distribuée sous la forme de code source en « C », sous l'égide de la
Smartcard Developer Association, qui annonce avoir vérifié l'exactitude de la
description. Alex Biryukov, Adi Shamir et David Wagner en ont tiré une cryptanalyse, et
annoncent, dans leur article, avoir reçu confirmation du groupement GSM qu'il s'agit bien
de l'algorithme tel qu'utilisé dans la norme.
2. Principe de fonctionnement du A5/1
La structure de A5/1 est basée sur 3 registres à décalage avec une rétroaction linéaire;
on les notes R1, R2 et R3. Ils ont une longueur de 19, 22 et 23 bits respectivement.
Son principe de fonctionnement suit deux grandes étapes à savoir : l’initialisation du
système et la génération de la séquence de chiffrement.
a) Initialisation du système
L’initialisation du système ici n’est rien d’autre que l’initialisation des registres.
Elle se fait à l’aide de la clé de chiffrement de 64bits(Kc) (mais son implémentation dans le
GSM se fait avec une clé de 54 bits où les 10 autres bits sont mis à zéro) et du compteur de
bloc de 22 bits. On procède comme suit :
1- Tous les registres sont mis à zéro
2- On effectue 64 cycles pendant lesquels la clé de 64bits est introduite dans le
système
2.1- Pour le bit Kc[i] de la clé Kc on effectue un OU EXCLUSIF (Xor) avec le bit de
poids le plus faible de chaque registre
30 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
2.2- Tous les registres sont décales d’un cran
3- On effectue 22 cycles pendant lesquels le compteur de bloc Fn est introduit dans le
système
3.1- Pour le bit Fn[i] du compteur, on effectue un OU EXCLUSIF (Xor) avec le bit de
poids le plus faible de chaque registre
3.2- On décale ensuite tous les registres d’un cran.
4- On effectue 100 cycles dans les registres, où dans chaque cycle on effectue juste un
décalage conformément à la loi de décalage du système lui-même, et on se débarrasse des
bits obtenus au bout de ces 100 cycles. Cette étape permet de rendre plus complexe l’état
interne du GPA.
Une autre façon de rédiger cet algorithme est la suivante :
1. R1 = R2 = R3 = 0
2. For i = 0 to 63 do
R1[0] = R1[0] ⊕ Kc[i]
R2[0] = R2[0] ⊕ Kc[i]
R3[0] = R3[0] ⊕ Kc[i]
Décaler simultanément tous les registres sans tenir compte de la règle de décalage
3. For i = 0 to 21 do
R1[0] = R1[0] ⊕ COUNT[i]
R2[0] = R2[0] ⊕ COUNT[i]
R3[0] = R3[0] ⊕ COUNT[i]
Décaler simultanément tous les registres sans tenir compte de la règle de décalage
31 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
4. For i = 0 to 99 do
Décaler tous les registres en tenant compte cette fois de la règle de décalage
Après le processus d’initialisation, nous allons donc produire la séquence de
chiffrement.
b) Production de la séquence de chiffrement
La séquence de chiffrement est constituée du résultat sous forme de bits de notre système et
qui sera utilisée pour le chiffrement proprement dit de la communication. Comme
mentionné plus haut, le fonctionnement est basé sur une séquence de décalage des
registres suivant une certaine loi. Les registres ont donc déjà un état initial chacun. Il est
évident qu’après le décalage d’un registre, une case mémoire est libérée (donc
présence d’une case mémoire vide). Il s’agira de la case mémoire du bit de poids. le plus
faible car on effectue un décalage à gauche. Après un décalage il faut donc
remplacer le bit manquant dans le registre par l’insertion d’un nouveau bit
convenablement calculé.
Pour insérer un nouveau bit dans le registre on effectue un OU EXCLUSIF (Xor) entre
quelques bits déjà présents dans les registres. Ces derniers (bits sur lesquels on effectue
le Xor) sont à des positions constantes à savoir :
- R1[13], R1[16], R1[17] et R1[18] pour le registreR1 ;
- R2[20] et R2[21] pour registre R2 ;
- R3[20], R3[21] et R3[22] pour le registre R3 ;
Comme l’indique le schéma suivant :
32 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
Figure 7 : principe d’insertion d’un nouveau bit dans les registres.
On récupère ensuite les bits C1, C2 et C3 des registres R1, R2 et R3
respectivement, avec C1= R1[8], C2= R2[10] et C3= R3[10] (cases colorées en gris sur la figure
8). Avec ces bits récupérés, on calcule une fonction « Majorité » définie par :
M i =Majorité (C i , C2i , C3i ) = C1i. C2i + C1i.C3i + C2i.C3i (où i représente le i ème cycle et
le bit qui gagne est celui qui apparait le plus). Les registres ayant produits le bit qui a
emporté la majorité sont alors décalés. La véritable sortie de ce générateur de clé est un
OU EXCLUSIF (Xor) entre les bits qui sont en tête de chaque registre. Comme l’illustre le
schéma suivant :
33 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
Figure 8 : Structure interne de l’algorithme A5/1
On obtient donc ainsi la séquence de chiffrement qui sera utilisée pour le
chiffrement de nos données à transmettre sur le réseau.
A noter que la séquence de chiffrement a une taille de 228 bits.
c) Déchiffrement des données.
Le déchiffrement de la communication est réalisé en effectuant un OU EXCLUSIF
(Xor) bit par bit entre la séquence de chiffrement et le cryptogramme de la
communication. Comme présenté par le schéma suivant :
 Algorithme de déchiffrement :
Cet algorithme est constitué des étapes suivantes :
1- Initialiser chaque registre R k (k=1 :3) grâce à Kc
2- Calculer la fonction majorité M i =Majorité (C1 i , C2 i , C3 i ) (i représentant
le i ème cycle)
3- Après décalage, calculer L i =R1[18] ⊕ R2[21] ⊕ R3[22]
34 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
4- Trouver X i =Y i ⊕L i
35 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
V. SYSTEME DE CHIFFREMENT A5/2
Historique
Le système de chiffrement A5/2 est un algorithme de chiffrement par flot utilisé dans le
cadre des communications GSM en dehors de l'Europe. Ce système a été
intentionnellement rendu plus faible que le A5/1. En 1999, Ian Goldberg et David
Wagner ont pu casser l’algorithme A5/2 seulement un mois après sa publication
officielle. Les experts estiment qu'il serait possible de déchiffrer les données en temps réel
avec du matériel adapté et peu onéreux.
Principe de fonctionnement
La structure de A5/2 est basée sur quatre registres LFSR ; noté R1, R2, R3 et R4 qui ont
respectivement pour longueurs : 19, 22, 23, et 17 bits. Son principe de fonctionnement est
constitué de deux étapes :
 Initialisation du système
 Génération de la séquence de chiffrement
a) Initialisation du système
Elle se fait à l’aide de la clé de chiffrement de 64 bits (Kc) et du compteur de block de 22
bit (Fn). On procède comme suit :
- Mettre tous les registres à zéro.
- On effectue 64 cycles pendant lesquels la clé Kc de 64 bits est introduite dans le
système.
Pour le bit Kc[i] de la clé Kc , on effectue un OU EXCLUSIF (Xor) avec le bit de
poids le plus faible de chaque registre .
Tous les registres sont décalés d’un cran.
- On effectue 22 cycles pendant lesquels le compteur de block Fn est introduit le
système
Pour le bit Fn[i] du compteur ; on effectue le OU EXCLUSIF avec le bit de poids
faible de chaque registre
On décale ensuite tous les registres d’un cran.
36 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
- On effectue 99 cycles dans les registres, où dans chaque cycle on effectue un
décalage du système. Cette opération permet rendre complexe l’état interne du
GPA .
Une autre façon de rédiger l’algorithme est la suivante :
1. R1 = R2 = R3 = R4 = 0
2. For i = 0 to 63 do
R1[0] = R1[0]  Kc[i]
R2[0] = R2[0]  Kc[i]
R3[0] = R3[0]  Kc[i]
R4[0] = R4[0]  Kc[i]
Décalé simultanément tous les registres
3. For i = 0 to 22 do
R1[0] = R1[0]  Kc[i]
R2[0] = R2[0]  Kc[i]
R3[0] = R3[0]  Kc[i]
R4[0] = R4[0]  Kc[i]
Décale simultanément tous les registres
4. For i = 0 to 99 do
Décaler tous les registres en tenant compte de la règle de décalage.
Après le processus d’initialisation, nous allons produire la séquence de chiffrement.
b) Production de la séquence de chiffrement
La séquence de chiffrement est constituée du résultat sous forme de bits de notre système
qui sera utilisé pour le chiffrement proprement dit de la communication. Le fonctionnement
est basé sur une séquence du décalage des registres en suivant une certaine loi.
Après le décalage d’un registre, une case mémoire est libérée. Il s’agit de la case mémoire
du bit de poids le plus fort car on effectue un décalage à droite. Après un décalage, il faut
remplacer le bit manquant dans le registre par l’insertion d’un nouveau bit
convenablement calculé. Pour insérer un nouveau bit dans le registre, on effectue un OU
37 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
EXCLUSIF entre quelques bits présents dans le registre et occupant des positions constantes
et prédéfinies à l’avance dans le cas de A5/2. Ces positions sont exactement les mêmes que
celles définies dans le cas des registres R1, R2 et R3. Par contre, pour le registre R4, nous
avons :
Bit inséré = R4[11]  R4[16] ce qui correspond à la configuration
suivante :
Structure du registre R4
Ensuite, on prend R4[3], R4[7], R4[10] ; avec ces derniers on calcule une fonction majorité
M = majorité (R4[3], R4[7], R4[10]), définie comme dans le cas de A5/1. La loi de décalage
des registres est la suivante :
 R1 est décalé si et seulement si R4[10]= M (où M= majorité (R4[3], R4[7], R4[10]))
 R2 est décalé si et seulement si R4[3]= M
 R3 est décalé si et seulement si R4[7]= M
Comme l’illustre le schéma suivant :
Organe de décalage des registres
Après ce décalage, R4 est également décalé à son tour.
Seuls les registres R1, R2 et R3 interviennent dans la constitution de la séquence de
de chiffrement. En effet dans chacun de ces registres, deux bits et le complément
d’un troisième bit sont pris en paramètre pour calculer une fonction majorité dans
l’ordre suivant :
38 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
 M1 = majorité ( R1[12],R1[15],Not(R1[14]) ) pour le registre R1
 M2 = majorité ( R2[9],R2[13],Not(R2[16]) ) pour le registre R2
 M3 = majorité ( R3[16],R3[18],Not(R3[13]) ) pour le registre R3
Les bits de poids les plus faibles de chaque registre sont combinés avec le résultat de
chaque fonction majorité le OU EXCLUSIF (Xor) pour former la sortie de notre
GPA, comme le décrit le schéma suivant :
Structure du GPA
On obtient ainsi la séquence de chiffrement qui sera utilisée pour le chiffrement de
nos données à transmettre sur le réseau.
c) Système Chiffrement/ déchiffrement de la communication.
Le chiffrement de la communication est réalisé en effectuant un OU EXCLUSIF bit par bit
entre la séquence de chiffrement et les données claires de communication. Comme l’illustre
le schéma suivant :
39 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
Principe de chiffrement/déchiffrement
 Algorithme de chiffrement
L’algorithme est constitué des étapes suivantes :
1 – initialiser les registres R1, R2, R3 et R4 grâce à la clé Kc et le compteur de bloc Fn
2 – calculer la fonction majorité M = majorité (R4[7], R4[3], R4[10]) et décaler les registres
3 – calculer les fonctions majorités M1, M2 et M3
4 – calculer L = R1[18]  M1 R2[21] M2 R3[22]  M3
5 – calculer X = Y  L où X est le message chiffré, Y le message clair et L la sortie du
GPA et X, Y, L  1,0 .
 Algorithme de déchiffrement
L’algorithme de déchiffrement est le même que celui déchiffrement sauf qu’ici le message
chiffré qui était en sotie dans le cas du chiffrement est pris ici en entrée et en sortie on
obtient un message clair.
L’algorithme est constitué des étapes suivantes :
1 – initialiser les registres R1, R2, R3 et R4 grâce à la clé Kc et le compteur de bloc Fn
2 – calculer la fonction majorité M = majorité (R4[7], R4[3], R4[10]) et décaler les registres
3 – calculer les fonctions majorités M1, M2 et M3
4 – calculer L = R1[18]  M1 R2[21] M2 R3[22]  M3
5 – calculer X = Y  L où X est le message clair, Y le message chiffré et L la sortie du
GPA et X, Y, L  1,0
40 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
VI. ATTAQUES
La force d'A5 est entièrement dans la séquence d'avancement de ses registres.
L’adversaire a donc pour buts :
- Retrouver la clé secrète ;
- Retrouver l’état interne de chaque registre ;
- Prédire le bit suivant de la séquence de chiffrement ;
C’est ainsi qu’on distingue :
L’attaque par recherche exhaustive :
Qui consiste à calculer les antécédents par f -1 de tous les éléments y de F d’une
fonction f définie de E vers F, jusqu'à en trouver un qui donne x ; cette technique est très
coûteuse en temps de calcul et doit être répétée pour chaque nouvelle valeur de y.
Mais nous allons illustrer cette attaque sur A5 vu que l’état interne est de petite
taille. Nous allons donc nous placer dans le cas où l’attaquant a accès à la séquence de
chiffrement car il s’agit ici d’une attaque à texte chiffré seul. Étant donné une séquence de
chiffrement (St‘ ) donnée, nous voulons retrouver la clé K’ de taille |K | qui a permis de
générer cette séquence. Pour faire une recherche exhaustive nous avons besoin d’un test
d’arrêt discriminant la bonne clé des mauvaises clés. Dans notre cas, le test est simplement
la clé qui génère une séquence de chiffrement (S t ) identique à la suite (S t ‘ ). On peut
avoir le semblant d’algorithme suivant :
41 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
VII. COMPARAISON ENTRE A5/1 ET A5/2 :
1. Différences fondamentales entre A5/1 et A5/2 :
Il s’agit ici de faire une brève comparaison sur les structures de ces deux algorithmes.
Les différences notées sont regroupées dans le tableau suivant :
Tableau1 : différence fondamentale entre A5/1 et A5/2
A5/1 A5/2
Utilisation des trois registres pour son
fonctionnement
Utilisation des quatre registres pour son
fonctionnement
Les bits de décision pour le décalage sont
pris dans les registres R1, R2 et R3
Les bits de décision pour le décalage sont
tous pris dans le registre R4
2. Différence de performances :
A5/1 A5/2
Vitesse d’exécution Plus rapide, car moins de
calculs de fonction
Moins rapide, car utilise
plus de fonctions majorité
42 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
majorité et de OU
EXCLUSIF
et plus de OU EXCLUSIF
Implémentation Utilise trois registres, ce
que son implémentation
est moins couteux.
Utilise quatre registres,
ce qui rend
l’implémentation plus
difficile
Résistance aux
attaques
Plus résistant Moins résistant
43 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
CONCLUSION GENERALE
Nous somme rendu au terme de l'étude des algorithmes de chiffrement RC4, A5/1, A5/2.
Chacun de ces algorithmes possède des caractéristiques qui lui sont propre ce qui renvoie à
un domaine d'application précis. Certain de ces algorithmes (A5/2et RC4) sont assez
vulnérables vu que des attaques ont été développés pour ces systèmes de chiffrement
même s'il présente des avantages assez intéressants. On peut donc dire que le degré de
sécurité que confère un algorithme de chiffrement peut dépendre du pays dans lequel on le
développe car chaque gouvernement doit pouvoir maitriser la circulation des informations
dans son territoire, ne dit-on pas souvent que « celui qui a l’information a le pouvoir ». En
somme, le choix d'un algorithme de chiffrement dépend de l'application.
44 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2
WEBOGRAPHIE ET BIBLIOGRAPHIE
 Univd2000-crytographie.pdf
 Wikipédia
 google
 Cours du docteur BELL
 http://www.uqtr.ca
 Documents PDF disponibles dans le site Web

Contenu connexe

Tendances

Le cryptage et le décryptage
Le cryptage et le décryptageLe cryptage et le décryptage
Le cryptage et le décryptageSKYWARE COMPAGNY
 
Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...
Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...
Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...Yasmine Lachheb
 
réaliser une plateforme d’automatisation et de génération des rapports de test
réaliser une plateforme d’automatisation et de génération des rapports de testréaliser une plateforme d’automatisation et de génération des rapports de test
réaliser une plateforme d’automatisation et de génération des rapports de testahmed oumezzine
 
Mise en place d'une Plateforme de Supervision et de Détection d'Intrusion Sys...
Mise en place d'une Plateforme de Supervision et de Détection d'Intrusion Sys...Mise en place d'une Plateforme de Supervision et de Détection d'Intrusion Sys...
Mise en place d'une Plateforme de Supervision et de Détection d'Intrusion Sys...Alaaeddine Tlich
 
Cours CyberSécurité - Concepts Clés
Cours CyberSécurité - Concepts ClésCours CyberSécurité - Concepts Clés
Cours CyberSécurité - Concepts ClésFranck Franchin
 
Introduction cyber securite 2016
Introduction cyber securite 2016Introduction cyber securite 2016
Introduction cyber securite 2016PRONETIS
 
Rapport final pfe_systeme_de_gestion _de_cabinet_de_formation_mobile_web
Rapport final pfe_systeme_de_gestion _de_cabinet_de_formation_mobile_webRapport final pfe_systeme_de_gestion _de_cabinet_de_formation_mobile_web
Rapport final pfe_systeme_de_gestion _de_cabinet_de_formation_mobile_webSalma Gouia
 
Audit de sécurité informatique
Audit de sécurité informatiqueAudit de sécurité informatique
Audit de sécurité informatiqueMohamed Ali Hadhri
 
Rapport de projet de conception et de développement
Rapport de projet de conception et de développementRapport de projet de conception et de développement
Rapport de projet de conception et de développementDonia Hammami
 
Etude et mise en place d’une solution open source de gestion de la sécurité d...
Etude et mise en place d’une solution open source de gestion de la sécurité d...Etude et mise en place d’une solution open source de gestion de la sécurité d...
Etude et mise en place d’une solution open source de gestion de la sécurité d...Mohammed LAAZIZLI
 
Alphorm.com Formation Hacking et Sécurité, l'essentiel
Alphorm.com Formation Hacking et Sécurité, l'essentielAlphorm.com Formation Hacking et Sécurité, l'essentiel
Alphorm.com Formation Hacking et Sécurité, l'essentielAlphorm
 
IDS,SNORT ET SÉCURITÉ RESEAU
IDS,SNORT ET SÉCURITÉ RESEAUIDS,SNORT ET SÉCURITÉ RESEAU
IDS,SNORT ET SÉCURITÉ RESEAUCHAOUACHI marwen
 

Tendances (20)

Le cryptage et le décryptage
Le cryptage et le décryptageLe cryptage et le décryptage
Le cryptage et le décryptage
 
Présentation Cryptographie
Présentation CryptographiePrésentation Cryptographie
Présentation Cryptographie
 
Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...
Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...
Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...
 
réaliser une plateforme d’automatisation et de génération des rapports de test
réaliser une plateforme d’automatisation et de génération des rapports de testréaliser une plateforme d’automatisation et de génération des rapports de test
réaliser une plateforme d’automatisation et de génération des rapports de test
 
Cryptologie
Cryptologie Cryptologie
Cryptologie
 
Mise en place d'une Plateforme de Supervision et de Détection d'Intrusion Sys...
Mise en place d'une Plateforme de Supervision et de Détection d'Intrusion Sys...Mise en place d'une Plateforme de Supervision et de Détection d'Intrusion Sys...
Mise en place d'une Plateforme de Supervision et de Détection d'Intrusion Sys...
 
wifi securite
wifi securite wifi securite
wifi securite
 
Cours CyberSécurité - Concepts Clés
Cours CyberSécurité - Concepts ClésCours CyberSécurité - Concepts Clés
Cours CyberSécurité - Concepts Clés
 
Cours SNMP
Cours SNMPCours SNMP
Cours SNMP
 
Introduction cyber securite 2016
Introduction cyber securite 2016Introduction cyber securite 2016
Introduction cyber securite 2016
 
Cours cryptographie
Cours cryptographie  Cours cryptographie
Cours cryptographie
 
Rapport final pfe_systeme_de_gestion _de_cabinet_de_formation_mobile_web
Rapport final pfe_systeme_de_gestion _de_cabinet_de_formation_mobile_webRapport final pfe_systeme_de_gestion _de_cabinet_de_formation_mobile_web
Rapport final pfe_systeme_de_gestion _de_cabinet_de_formation_mobile_web
 
Audit de sécurité informatique
Audit de sécurité informatiqueAudit de sécurité informatique
Audit de sécurité informatique
 
La Sécurité informatiques
La Sécurité informatiquesLa Sécurité informatiques
La Sécurité informatiques
 
iRecruite
iRecruiteiRecruite
iRecruite
 
Rapport de projet de conception et de développement
Rapport de projet de conception et de développementRapport de projet de conception et de développement
Rapport de projet de conception et de développement
 
Etude et mise en place d’une solution open source de gestion de la sécurité d...
Etude et mise en place d’une solution open source de gestion de la sécurité d...Etude et mise en place d’une solution open source de gestion de la sécurité d...
Etude et mise en place d’une solution open source de gestion de la sécurité d...
 
Alphorm.com Formation Hacking et Sécurité, l'essentiel
Alphorm.com Formation Hacking et Sécurité, l'essentielAlphorm.com Formation Hacking et Sécurité, l'essentiel
Alphorm.com Formation Hacking et Sécurité, l'essentiel
 
Rapport tp openssl
Rapport  tp  opensslRapport  tp  openssl
Rapport tp openssl
 
IDS,SNORT ET SÉCURITÉ RESEAU
IDS,SNORT ET SÉCURITÉ RESEAUIDS,SNORT ET SÉCURITÉ RESEAU
IDS,SNORT ET SÉCURITÉ RESEAU
 

En vedette (20)

RC 4
RC 4 RC 4
RC 4
 
RC4&RC5
RC4&RC5RC4&RC5
RC4&RC5
 
An effective RC4 Stream Cipher
An effective RC4 Stream CipherAn effective RC4 Stream Cipher
An effective RC4 Stream Cipher
 
Enkripsi RC4
Enkripsi RC4Enkripsi RC4
Enkripsi RC4
 
Rc4 Research 2013
Rc4 Research 2013Rc4 Research 2013
Rc4 Research 2013
 
Cipher techniques
Cipher techniquesCipher techniques
Cipher techniques
 
Wepwhacker !
Wepwhacker !Wepwhacker !
Wepwhacker !
 
RC-5
RC-5RC-5
RC-5
 
Présentation Cdma, Multiplexage CDMA, principes de Code et cas d'exemple
Présentation Cdma, Multiplexage CDMA, principes de Code et cas d'exemplePrésentation Cdma, Multiplexage CDMA, principes de Code et cas d'exemple
Présentation Cdma, Multiplexage CDMA, principes de Code et cas d'exemple
 
Stream ciphers presentation
Stream ciphers presentationStream ciphers presentation
Stream ciphers presentation
 
Technique de Cryptographie AES, DES et RSA
Technique de Cryptographie AES, DES et RSATechnique de Cryptographie AES, DES et RSA
Technique de Cryptographie AES, DES et RSA
 
haking wep
haking wep haking wep
haking wep
 
Presentation one-gsm
Presentation one-gsmPresentation one-gsm
Presentation one-gsm
 
Criptography
CriptographyCriptography
Criptography
 
Asterisk World Theater Talk Tlc 080319
Asterisk World Theater Talk Tlc 080319Asterisk World Theater Talk Tlc 080319
Asterisk World Theater Talk Tlc 080319
 
Asterisk World2008
Asterisk World2008Asterisk World2008
Asterisk World2008
 
RC4 Technique in Visual Cryptography
RC4 Technique in Visual CryptographyRC4 Technique in Visual Cryptography
RC4 Technique in Visual Cryptography
 
F m-modulation-and-demodulation
F m-modulation-and-demodulationF m-modulation-and-demodulation
F m-modulation-and-demodulation
 
Cryptography in GSM
Cryptography in GSMCryptography in GSM
Cryptography in GSM
 
Dancing L8
Dancing L8Dancing L8
Dancing L8
 

Similaire à Algorithme de chiffrement RC4, A5/1 & A5/2

Manuel ns1.3
Manuel ns1.3Manuel ns1.3
Manuel ns1.3thiedia
 
Cours terrarmée
Cours terrarméeCours terrarmée
Cours terrarméebelkou
 
Présentation exhaustive des protocoles SMTP, IMAP, POP3 et MIME
Présentation exhaustive des protocoles SMTP, IMAP, POP3 et MIMEPrésentation exhaustive des protocoles SMTP, IMAP, POP3 et MIME
Présentation exhaustive des protocoles SMTP, IMAP, POP3 et MIMEMax Benana
 
Administration reseau ok
Administration reseau ok Administration reseau ok
Administration reseau ok moisejean
 
courspython3.pdf
courspython3.pdfcourspython3.pdf
courspython3.pdfDendouga1
 
Le Référentiel Nouvelles Plateformes Technologiques
Le Référentiel Nouvelles Plateformes TechnologiquesLe Référentiel Nouvelles Plateformes Technologiques
Le Référentiel Nouvelles Plateformes TechnologiquesGenève Lab
 
Android VoIP/SIP Softphone
Android VoIP/SIP SoftphoneAndroid VoIP/SIP Softphone
Android VoIP/SIP SoftphoneHamza Lazaar
 
Mémoire fin de cycle1
Mémoire fin de cycle1Mémoire fin de cycle1
Mémoire fin de cycle1Mustafa Bachir
 
Eclairage public
Eclairage publicEclairage public
Eclairage publicRasax Tovo
 
The Ring programming language version 1.2 book - Part 1 of 84
The Ring programming language version 1.2 book - Part 1 of 84The Ring programming language version 1.2 book - Part 1 of 84
The Ring programming language version 1.2 book - Part 1 of 84Mahmoud Samir Fayed
 
Evaluation de la quantité de travail (in)utile dans l’exécution des programmes
Evaluation de la quantité de travail (in)utile dans l’exécution des programmesEvaluation de la quantité de travail (in)utile dans l’exécution des programmes
Evaluation de la quantité de travail (in)utile dans l’exécution des programmesBenjamin Vidal
 

Similaire à Algorithme de chiffrement RC4, A5/1 & A5/2 (20)

Manuel ns1.3
Manuel ns1.3Manuel ns1.3
Manuel ns1.3
 
Cours terrarmée
Cours terrarméeCours terrarmée
Cours terrarmée
 
Présentation exhaustive des protocoles SMTP, IMAP, POP3 et MIME
Présentation exhaustive des protocoles SMTP, IMAP, POP3 et MIMEPrésentation exhaustive des protocoles SMTP, IMAP, POP3 et MIME
Présentation exhaustive des protocoles SMTP, IMAP, POP3 et MIME
 
Cours10
Cours10Cours10
Cours10
 
vanderpypendaniel_msc
vanderpypendaniel_mscvanderpypendaniel_msc
vanderpypendaniel_msc
 
Iptables tutorial
Iptables tutorialIptables tutorial
Iptables tutorial
 
Microcontroleurs
MicrocontroleursMicrocontroleurs
Microcontroleurs
 
Tdm pujolle
Tdm pujolleTdm pujolle
Tdm pujolle
 
cours_python.pdf
cours_python.pdfcours_python.pdf
cours_python.pdf
 
Asterisk
AsteriskAsterisk
Asterisk
 
Administration reseau ok
Administration reseau ok Administration reseau ok
Administration reseau ok
 
Rapport
RapportRapport
Rapport
 
courspython3.pdf
courspython3.pdfcourspython3.pdf
courspython3.pdf
 
Le Référentiel Nouvelles Plateformes Technologiques
Le Référentiel Nouvelles Plateformes TechnologiquesLe Référentiel Nouvelles Plateformes Technologiques
Le Référentiel Nouvelles Plateformes Technologiques
 
Android VoIP/SIP Softphone
Android VoIP/SIP SoftphoneAndroid VoIP/SIP Softphone
Android VoIP/SIP Softphone
 
Mémoire fin de cycle1
Mémoire fin de cycle1Mémoire fin de cycle1
Mémoire fin de cycle1
 
Eclairage public
Eclairage publicEclairage public
Eclairage public
 
The Ring programming language version 1.2 book - Part 1 of 84
The Ring programming language version 1.2 book - Part 1 of 84The Ring programming language version 1.2 book - Part 1 of 84
The Ring programming language version 1.2 book - Part 1 of 84
 
U10400c
U10400cU10400c
U10400c
 
Evaluation de la quantité de travail (in)utile dans l’exécution des programmes
Evaluation de la quantité de travail (in)utile dans l’exécution des programmesEvaluation de la quantité de travail (in)utile dans l’exécution des programmes
Evaluation de la quantité de travail (in)utile dans l’exécution des programmes
 

Dernier

SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdfSKennel
 
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdf
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdfActions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdf
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdfalainfahed961
 
CHAPITRE 2 VARIABLE ALEATOIRE probabilité.ppt
CHAPITRE 2 VARIABLE ALEATOIRE probabilité.pptCHAPITRE 2 VARIABLE ALEATOIRE probabilité.ppt
CHAPITRE 2 VARIABLE ALEATOIRE probabilité.pptbentaha1011
 
présentation sur la logistique (4).
présentation     sur la  logistique (4).présentation     sur la  logistique (4).
présentation sur la logistique (4).FatimaEzzahra753100
 
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...maach1
 
Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfCâblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfmia884611
 

Dernier (8)

SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
 
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdf
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdfActions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdf
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdf
 
CAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptxCAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptx
 
Note agro-climatique n°2 - 17 Avril 2024
Note agro-climatique n°2 - 17 Avril 2024Note agro-climatique n°2 - 17 Avril 2024
Note agro-climatique n°2 - 17 Avril 2024
 
CHAPITRE 2 VARIABLE ALEATOIRE probabilité.ppt
CHAPITRE 2 VARIABLE ALEATOIRE probabilité.pptCHAPITRE 2 VARIABLE ALEATOIRE probabilité.ppt
CHAPITRE 2 VARIABLE ALEATOIRE probabilité.ppt
 
présentation sur la logistique (4).
présentation     sur la  logistique (4).présentation     sur la  logistique (4).
présentation sur la logistique (4).
 
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
 
Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfCâblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdf
 

Algorithme de chiffrement RC4, A5/1 & A5/2

  • 1. ENSEIGNANT : Dr. BELL ECOLE NATIONALE SUPERIEURE POLYTECHNIQUE LES ALGORITHMES DE CHIFFREMENT RC4 - A5/1 - A5/2 MEMBRES DU GROUPE: BENANA MAX-JOEL BINDJEME NLATE Christelle MENKEN Vitalis TABU DIBAM Levo
  • 2. 1 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 Sommaire INTRODUCTION GENERALE..................................................................................................................... 4 I. Introduction........................................................................................................................................ 4 CHAPITRE I. L’algorithme rc4........................................................................................................... 5 II. HISTORIQUE...................................................................................................................................... 5 III. QUELQUES RAPPELS sur le chiffrement .............................................................................. 5 LE CHIFFREMENT SYMETRIQUE............................................................................................ 5 LE CHIFFREMENT PAR FLUX..................................................................................................6 Chiffrement et déchiffrement avec XOR............................................................................... 8 IV. ETAPES DE L’ALGORITHME RC4 ........................................................................................... 8 V. CHIFFREMENT.............................................................................................................................. 9 1. KEY SCHEDULINGALGORITHM (KSA) .................................................................................... 9 2. RANDOM GENERATOR ALGORITHM (PRGA) .....................................................................11 3. CHIFFREMENT PROPREMENT DIT..........................................................................................12 VI. DECHIFFREMENT.......................................................................................................................13 VII. LES APPLICATIONS DU RC4...................................................................................................13 Oracle secure SQL .......................................................................................................................13 SSL : SECURE SOCKET LAYER ................................................................................................13 WEP ................................................................................................................................................13 VIII. ATTAQUES CONTRE RC4.........................................................................................................15 FLUHRER, MANTIN, SHAMIR, 2001 (FMS) .........................................................................15 KOREK, 2004................................................................................................................................15 KLEIN, 2006..................................................................................................................................16 ERIK TEWS, WEINMANN, PYSHKIN, 2007 .........................................................................16
  • 3. 2 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 IX. AVANTAGES ET INCONVÉNIENTS DU RC4....................................................................... 17 LES AVANTAGES........................................................................................................................ 17 LES INCONVENIENTS................................................................................................................18 X. RENFORCEMENT DU RC4 ...........................................................................................................18 CHAPITRE II. SYSTEME DE CHIFFREMENT A5..........................................................................20 I. Introduction......................................................................................................................................20 II. Quelques définitions.......................................................................................................................20 1. Système de chiffrement à flot .............................................................................................20 2. Système de chiffrement symétrique ..................................................................................21 3. GPA.............................................................................................................................................21 4. Chiffrement synchrone...........................................................................................................21 5. Chiffrement asynchrone.......................................................................................................22 6. Registre à décalage à rétroaction linéaire .....................................................................22 III. Généralités sur le GSM ..............................................................................................................24 1. Architecture GSM................................................................................................................................24 2. Sécurité du GSM.............................................................................................................................26 IV. Système de chiffrement A5/1...................................................................................................29 1. Historique..........................................................................................................................................29 2. Principe de fonctionnement du A5/1........................................................................................29 V. SYSTEME DE CHIFFREMENT A5/2............................................................................................... 35 Historique ..................................................................................................................................... 35 Principe de fonctionnement.................................................................................................... 35 VI. Attaques .......................................................................................................................................40 VII. COMPARAISON ENTRE A5/1 ET A5/2 :.................................................................................41 1. Différences fondamentales entre A5/1 et A5/2 :..................................................................41
  • 4. 3 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 2. Différence de performances :...................................................................................................41 Conclusion générale....................................................................................................................................43 Webographie et bibliographie ................................................................................................................44
  • 5. 4 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 INTRODUCTION GENERALE I. INTRODUCTION De nos jours, nous n’aimerions pas toujours que lors d’une conversation, une personne non- autorisée écoute ce de quoi nous parlons. De même, dans les grandes compagnies (banques, assurances, mutuelles….) et le domaine de la défense, certaines informations ne peuvent être accessibles qu’aux personnes privilégiées. Bref, lorsqu’on veut restreindre l’accès à des informations, on se pose le problème de leur sécurité. Ainsi, des moyens très élaborés ont été mis sur pied pour sécuriser les données à transmettre via des méthodes et techniques mathématiques et algorithmiques fiables : le cryptage. C’est le processus par lequel on transforme des données (texte, image, vidéo…..) compréhensible en des données chiffrées dans le but de dissimuler sa compréhension tout en la rendant accessible et de ce fait, prévenir et empêcher un destinataire non-autorisé de pouvoir récupérer le message original. Ainsi, dans le cadre de cette unité d’enseignement
  • 6. 5 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 CHAPITRE I. L’ALGORITHME RC4 II. HISTORIQUE RC4 (pour Rivest Cipher 4) a été conçu par Ronald Rivest en 1987, pour RSA Security. Il fut d’abord vendu avec des accords de confidentialité et resta donc longtemps secret. Mais en septembre 1994, un abonné anonyme de la mailing List cypherpunk publie un code source, vraisemblablement issu de la rétro-ingénierie d’un programme compilé, qu’il affirme être RC4. Plusieurs utilisateurs confirmeront par la suite la compatibilité de ce code avec le code propriétaire de RSA Security. Il existe une version allégée du chiffrement RC4, portant le nom d’ARC4 (Alleged RC4), utilisable légalement. Le RC4 reste la propriété de RSA Labs. III. QUELQUES RAPPELS SUR LE CHIFFREMENT Le chiffrement a pour but de garantir la confidentialité des communications. LE CHIFFREMENT SYMETRIQUE Il s’agit d’un procédé de chiffrement dans lequel la clé de chiffrement est la même que la clé de déchiffrement. Illustration ‘‘ξ est le message à chiffrer et D le message chiffrer’’
  • 7. 6 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 LE CHIFFREMENT PAR FLUX a) Idée sous-jacente : Le chiffre de Vernam Le chiffre de Vernam, ou « One-Time-Pad » ou « masque jetable » a été proposé en 1917 par Gilbert Vernam, ingénieur à l'American Telephone and Telegraph Company, chargé de la sécurité des téléscripteurs. Il a été perfectionné par Joseph O. Mauborgne, chef du service cryptographique de l'armée américaine, qui y introduisit la notion de clé aléatoire. Sa sécurité a été prouvée pour autant que la clé de chiffrement soit aussi longue que le message à chiffrer, qu'elle soit aléatoire et utilisée une seule fois. Ce système présente des avantages dans la mesure où n'importe quel message chiffré peut être obtenu pour un message clair donné. La seule attaque possible consiste donc à déterminer l'ensemble de la clé. Le système mis au point par Vernam, bien qu'apportant une sécurité optimale, est très peu d'usage dans le monde civil, et est surtout réservé à des organismes possédant des moyens importants. En effet, tout le monde n'est pas en mesure d'utiliser des clés de la manière décrite plus haut:  Générer des clés gigantesques (puisqu'au moins la taille de l'ensemble des messages à envoyer comme clé) nécessite une grande puissance de calcul ;  Transporter de telles clés, dont le secret doit être maintenu à tout prix, n'est pas chose aisée. La nécessité de disposer de clés aléatoires de même longueur que le message, et de ne les utiliser qu'une fois, rend le système impraticable si l'on ne dispose pas de la logistique nécessaire à l'échange de ces clés. b) Chiffrement Par Flux Les chiffrements par flux s'inspirent du chiffre de Vernam mais utilisent une suite pseudo-aléatoire, générée à partir de quelques bits de clé réellement aléatoires. Les
  • 8. 7 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 données sont traitées en flux. Il peut s’agir d’un traitement bit par bit ou d’un chiffrement octet par octet (cas du RC4). Ses principales caractéristiques sont les suivantes :  Il est indifférent au contenu du message et sa longueur pour débuter la procédure de chiffrement;  La génération de pseudo-alea, appelé flux de clé (Key Stream) que l'on combine (souvent par XOR) avec le flux de données. Illustration En pratique un chiffrement par flux est réalisé en utilisant un générateur pseudo- aléatoire. c) Générateur de nombres pseudo-aléatoires Un générateur de nombres pseudo-aléatoires, pseudo random number generator (PRNG) en anglais, est un algorithme qui génère une séquence de nombres présentant certaines propriétés du hasard. Par exemple, les nombres sont supposés être approximativement indépendants les uns des autres, et il est potentiellement difficile de repérer des groupes de nombres qui suivent une certaine règle (comportements de groupe). Cependant, les sorties d'un tel générateur ne sont pas entièrement aléatoires ; elles s'approchent seulement des propriétés idéales des sources complètement aléatoires. John Von Neumann insista sur ce fait avec la remarque suivante : « Quiconque considère des méthodes arithmétiques pour produire des nombres aléatoires est, bien sûr, en train de commettre un péché ». De vrais nombres aléatoires peuvent être produits avec du matériel
  • 9. 8 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 qui tire parti de certaines propriétés physiques stochastiques (bruit d'une résistance par exemple). La raison pour laquelle on se contente d’un rendu pseudo-aléatoire est d’une part qu’il est difficile d’obtenir de « vrais » nombres aléatoires et que, dans certaines situations, il est possible d’utiliser des nombres pseudo-aléatoires, en lieu et place de vrais nombres aléatoires ; d’autre part, que ce sont des générateurs particulièrement adaptés à une implantation informatique, donc plus facilement et plus efficacement utilisables. Chiffrement et déchiffrement avec XOR Soit l'opération booléenne XOR :  Chiffrement du message M avec la clé K :  Déchiffrement du message C avec la clé K : IV. ETAPES DE L’ALGORITHME RC4 Etant donné un message clair à chiffrer  Choisir une clé de chiffrement;  Créer deux tableaux S et T de 256 cases chacun devant contenir des octets;  Initialiser S avec les nombres de 0 à 255 dans cet ordre;  Remplir T avec la clé;
  • 10. 9 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2  Effectuer des permutations aléatoires d’éléments de S en fonction d’éléments de T;  Ré-effectuer des permutations aléatoires d’éléments de S suivant un schéma basé sur la configuration actuelle de S pour obtenir le flux de clés final;  Effectuer un ou-exclusif entre le flot de clés final et le message clair à chiffrer. V. CHIFFREMENT 1. KEY SCHEDULINGALGORITHM (KSA) Cet algorithme fonctionne sur les octets. Ainsi, la clé, de longueur variable, peut avoir une taille comprise entre 1 et 256 octets (de 8 à 2048 bits). Elle est utilisée pour initialiser un vecteur S de 256 octets. A tout moment, S contient une permutation de toutes les cellules le composant. La clé est utilisée pour mélanger le tableau le mieux possible (On échange chaque élément avec un autre élément choisi en fonction de la clé); ainsi le tableau (par permutations) évolue à chaque tour. Cet algorithme est appelé Key Scheduling Algorithm, ou KSA. # Initialisation de la permutation identité Initialement, les cellules de S reçoivent une valeur égale à leur position (i.e., S [0]=0, S[i]=i, ...) Ainsi la première instruction de notre algorithme sera: For i = 0 to 255 do S[i ] := i ; // permutation identité Un vecteur temporaire T (de longueur égale à celle de S) est également créé et destiné à recevoir la clé.
  • 11. 10 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2  Si la longueur ‘len’ de la clé K est égale à 256 octets, K est simplement transféré dans T.  Si K est inférieur à 256 octets, il est recopié dans T jusqu’à atteindre la taille de T. Dans notre algorithme, ce qui précède s’écrit (pour une clé K de longueur l): T[i] = K [i mod len]; Le vecteur temporaire T est ensuite utilisé pour produire la permutation initiale de S. Pour chaque cellule S[i] de S, celle-ci sera échangée avec une autre cellule de S selon un calcul basé sur la valeur comprise dans la cellule T[i] correspondante. Tout comme l’initialisation des vecteurs, on peut représenter la permutation initiale de S comme suit : j = 0; FOR i = 0 TO 255 DO
  • 12. 11 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 j = (j + S[i] + T[i]) mod 256; SWAP(S[i], S[j]); 2. RANDOM GENERATOR ALGORITHM (PRGA) Il s’agit de la Génération du flux pseudo aléatoire. A partir de cet instant, la clé d’entrée n’est plus utilisée. Pour chaque S[i], on procèdera à un échange avec un autre octet de S, selon un schéma basé sur la configuration courante de S. Une fois arrivé à S [255], le processus redémarre à la cellule S [0]. La figure suivante présente la procédure. A nouveau, on peut illustrer algorithmiquement la méthode (on parle de PRGA pour Pseudo-Random Generation Algorithm) :
  • 13. 12 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 i, j = 0; WHILE génération DO // tant qu’il y’a un octet à chiffrer i = (i +1) mod 256; j = (j + S[i]) mod 256; SWAP (S[i], S[j]); t = (S[i] + S[j]) mod 256; k = S[t]; 3. CHIFFREMENT PROPREMENT DIT La valeur de k est alors utilisée pour le chiffrement (⊕ avec le prochain octet de texte clair). Les étapes : Deux et trois peuvent être résumé de la façon suivante : GPA
  • 14. 13 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 VI. DECHIFFREMENT La même valeur de k est utilisée pour le déchiffrement (⊕ avec le prochain octet de texte chiffré).Ceci se justifie par le fait que ⊕ est une loi de groupe qui est son propre inverse. VII. LES APPLICATIONS DU RC4 Oracle secure SQL Oracle est un SGBD (système de gestion de bases de données) édité par la société du même nom (Oracle corporation), leader mondial des bases de données qui permet d’assurer la définition, la manipulation, la confidentialité, l'intégrité, la sauvegarde et la restauration des données .Il utilise le chiffrement par RC4 pour crypter les données. SQL (Structured Query Language.) : Langage d'interrogation de bases de données. SSL : SECURE SOCKET LAYER SSL (Secure Socket Layer) est un protocole de sécurisation des échanges, développé par Netscape. Il a été conçu pour assurer la sécurité des transactions sur Internet (notamment entre un client et un serveur), et il est intégré depuis 1994 dans les navigateurs. SSL utilise le RC4 pour garantir la confidentialité. WEP Le WEP (Wired Equivalent Privacy) est un protocole de sécurité pour les réseaux sans fils définis dans le standard 802.11. Le WEP utilise l’algorithme RC4 pour chiffrer
  • 15. 14 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 les paquets envoyés depuis le point d’accès ou un client du réseau. Dès qu’un paquet est reçu, il est déchiffré. Le WEP utilise une clé partagée pouvant aller de 40 à 232 bits, le point d’accès et les clients utilisent cette clé pour chiffrer et déchiffrer les données. Pour être plus précis, chaque paquet est chiffré à l’aide d’une seule clé qui est, en fait, un vecteur d’initialisation (initialization vector IV en anglais) qui, change à chaque fois qu’il est concaténé avec la clé partagée. On obtient ainsi des clés allant de 64 à 256 bits. Cette clé va être donnée à l’algorithme RC4 qui va retourner un Key Stream; on fait ensuite un XOR avec les données à chiffrer pour obtenir le cryptogramme que l’on concatène avec le vecteur d’initialisation avant de transmettre le tout. A la réception, on récupère le vecteur d’initialisation transmis, on le concatène avec la clé secrète ; RC4 nous retourne alors le même Key Stream. Après un XOR entre le Key Stream et le cryptogramme, on obtient les données déchiffrées. Le schéma suivant illustre le chiffrement et le déchiffrement sur le WEB :
  • 16. 15 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 VIII. ATTAQUES CONTRE RC4 FLUHRER, MANTIN, SHAMIR, 2001 (FMS) Les premières attaques contre RC4 consistaient à différencier un flux généré par RC4, d’un flux parfaitement aléatoire. En 2001, S. Fluhrer, I. Mantin et A. Shamir publient un article ou ils décrivent une faille dans RC4, et comment elle peut être exploitée, en particulier, pour casser la clé utilisée par le WEP. L’idée principale est la suivante : la clé de session utilisée par chaque paquet est construite en concaténant un vecteur d’initialisation de 24 bits à la clé partagée. Ils parviennent à montrer que, pour certaines valeurs spécialement choisies du vecteur d’initialisation, le premier octet généré par le PRGA a une probabilité importante (≈ 1/e) d’être un octet précis de la clé. Cette attaque est une attaque à clair connu (elle suppose de connaitre le premier octet du Key Stream). Elle nécessite en outre un grand nombre de vecteurs d’initialisation répondant à des conditions spécifiques, ainsi que le premier octet associé. Il faut généralement entre 1 et 4 millions de paquets pour avoir suffisamment d’ IV ”faibles” pour réussir l’attaque. KOREK, 2004 En 2004, un individu publie, sous le pseudonyme Korek, une série d’attaques statistiques contre RC4. Ces attaques, au nombre de 15, sont pour la plupart des généralisations de l’attaque FMS. Ces attaques peuvent être décomposées en trois classes :  celles utilisant le premier octet du Key Stream pour retrouver la clé ;  celles utilisant les deux premiers octets du Key Stream pour retrouver la clé ;  celles permettant simplement de réduire l’espace de recherche des clés, en particulier en permettant de retrouver un octet précis de K. Chacune des attaques est lancée l’une après l’autre, jusqu’ à ce que l’une d’elles trouve la clé. En pratique, 500000 paquets capturés suffisent à casser la majorité des clés WEP.
  • 17. 16 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 Chaque attaque est accompagnée d’une liste de conditions sur le KSA et le PRGA après initialisation partielle. Si ces conditions sont vérifiées, le paquet peut être utilisé. KLEIN, 2006 En 2006, Andreas Klein propose une nouvelle attaque qui ne nécessite pas de resolved condition. Cela réduit considérablement le nombre de paquets à capturer puisqu’ils peuvent tous être utilisés. Il est donc possible, en examinant suffisamment d’IV et le Key Stream associé, de retrouver un à un chaque octet de la clé. Le nombre de paquets à examiner serait plus important que pour les attaques précédentes, mais comme tous les paquets sont utilisables, le nombre de paquets à capturer est considérablement plus faible. ERIK TEWS, WEINMANN, PYSHKIN, 2007 En 2007, Erik Tews, Ralf-Philipp Weinmann, et AndreiPyshkin reprennent l’attaque de Klein, et l’optimisent pour attaquer le protocole WEP. Leur attaque propose deux avancées majeures par rapport à celle de Klein. Tout d’abord, alors que les attaques précédentes n’utilisaient que les premiers octets des paquets, la leur utilise 128 bits, soit 16 octets. Pour ce faire, ils collectent exclusivement des paquets correspondant à des requêtes ARP. Ceci est possible car ces trames font toutes 68 octets. La structure de ces paquets étant toujours la même (à un bit près), ils sont capable de retrouver 64 octets de Key Stream par paquet. Par ailleurs, l’attaque de Klein retrouve les octets de la clé partagée un par un, et retraite à chaque fois la totalité des paquets. L’attaque PTW, elle, construit en une seule fois une table de votes intermédiaires qui est ensuite utilisée pour calculer tous les octets de la clé. Enfin, l’attaque utilise aussi un certain nombre d’heuristiques pour détecter d’éventuels octets «forts »de la clé, et les attaquer par brute force. Cette attaque est à ce
  • 18. 17 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 jour la plus rapide. Il est possible, simplement en capturant une requête ARP, de l’injecter en boucle pour générer des réponses ARP. Dans des conditions idéales, il suffit d’une minute pour collecter assez de paquets. L’attaque elle-même dure quelques secondes. IX. AVANTAGES ET INCONVÉNIENTS DU RC4 LES AVANTAGES  Le premier avantage qu’a le RC4 sur la majeure partie des algorithmes de chiffrement, est sa vitesse de chiffrement élevée : Algorithme Longueur de la clé Vitesse (en Mbps) DES 56 9 3DES 168 3 RC4 Variable (5-16 octets) Max 2048 bits 45
  • 19. 18 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 A5/1 64 bits >50  Il est très simple.  En plus le message clair à la même taille que le chiffré.  RC4 permet d’atteindre des performances logicielles. LES INCONVENIENTS RC4 est vulnérable à plusieurs attaques (citer ci-dessus). X. RENFORCEMENT DU RC4 Il semblerait que le RC4 soit toujours sûre pour autant que certaines conditions soient remplies au niveau de la clé d’initialisation comme l’utilisation d’une fonction de hachage ou d’un nonce. Parce que le RC4 est un algorithme de chiffrement par flot, la même clé ne doit pas être utilisée deux fois pour chiffrer les données échangées. C'est la raison de la présence d'un vecteur d'initialisation (IV). Ce vecteur, transmis sans protection, permet d'éviter la répétition. Cependant, une IV de 24 bits n'est pas assez long pour éviter ce phénomène sur un réseau très actif.
  • 20. 19 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 Nous retenons, du RC4 qu’il nous propose un système de chiffrement sur trois étapes:  l’initialisation  la génération de flux de clés  le chiffrement proprement dit. Cependant rappelons-nous qu’il n’est qu’un cas isolé dans la famille RC qui traite des données par flux. Pour les autres chiffrements de la famille RC il s’agit d’un chiffrement par bloc. C’est le cas du standard RC2 présenté dans la suite.
  • 21. 20 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 CHAPITRE II. SYSTEME DE CHIFFREMENT A5 I. INTRODUCTION Le téléphone fixe a révolutionné le concept de la télécommunication vocale, mais avec l’évolution du temps, le manque de mobilité s’est avéré être un sérieux problème. De plus, le délai lors de l’établissement des communications et la sécurité précaire constituaient un véritable problème. La première génération de communication mobile (AMPS) a alors été introduite. Ici encore, on retrouve certains problèmes comme le clonage des téléphones, l’appel aux frais d’une autre personne, et même la possibilité d’intercepter des appels téléphoniques dans le canal Hertzien et espionner ainsi les discussions. En 1982, la deuxième génération est adoptée, plus connue sous le nom de GSM (Global System For Mobile Communication). Il a pour but de résoudre le problème d’usurpation d’identité et même celui d’espionnage. Ceci se fait à l’aide de l’implémention de forts moyens d’authentification et de confidentialité entre la MS (Mobile Station) et la BTS (Base Transceiver Station). C’est donc, à ce niveau que A5 intervient. En effet, A5 est une famille d’algorithmes de chiffrement symétrique à flot synchrone constituée d’A5/0, A5/1, A5/2 …etc, qui sont des systèmes de chiffrement qui viennent résoudre le problème d’espionnage lors des communications GSM. A cet effet nous nous proposons dans le cadre de cette partie de l’exposé d’étudier consécutivement le système de chiffrement A5/1 et ensuite son dérivé A5/2. II. QUELQUES DEFINITIONS 1. Système de chiffrement à flot Encore appelée chiffrement en continu (Stream-Cipher), c’est un système de chiffrement (symétrique) dans lequel chaque symbole du texte clair subit une transformation variable dans le temps. La transformation que subit chaque symbole mi du texte clair est le plus souvent une combinaison additive avec un symbole si produit par un générateur pseudo-aléatoire. On a donc : mi + si = ci (chiffrement)
  • 22. 21 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 ci + si = mi (déchiffrement) Où ci est le cryptogramme et si la séquence de chiffrement. 2. Système de chiffrement symétrique Encore appelée système de chiffrement à clé secrète, c’est un système qui utilise une seule et même clé lors du chiffrement et du déchiffrement par opposition au système de chiffrement asymétrique. Figure 1: Illustration d’un système de chiffrement symétrique 3. GPA Un générateur pseudo-aléatoire de symbole (GPA), est un automate à nombre fini d’état, qui à partir de la donnée d’un nombre fini de symbole produit une suite potentiellement illimitée de symbole qui a l’apparence d’une suite aléatoire. 4. Chiffrement synchrone Le chiffrement est dit synchrone si les données produites par le GPA ne dépendent que de son état interne et non du message à chiffrer. On a le schéma suivant :
  • 23. 22 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 Figure 2 : schéma de système de chiffrement à flot synchrone 5. Chiffrement asynchrone Le chiffrement est dit asynchrone ou auto-synchronisant si les symboles produits par le GPA ne dépendent que de son état interne et d’un nombre fixé t de symboles du message clair. Figure 3 : schéma des systèmes de chiffrement à flot synchrone. 6. Registre à décalage à rétroaction linéaire Un registre à décalage à rétroaction linéaire encore LFSR (Linear Feedback Shift Register), est la donnée : 1. d’un registre de L cases contenant chacune un bit s t, s t+1,…, s t+L-1 ; 2. et une fonction linéaire de rétroaction « f » calculant un bit St+L par combinaison de certains bits du registre.
  • 24. 23 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 Au top d’horloge t, le bit st sort du registre, tous les bits sont décalés d’un rang vers la gauche, et st+L entre dans le registre comme l’illustre le schéma suivant : Avant le top d’horloge t, St+L se présente à l’entrée du registre : Après le top d’horloge t, St+L est introduit dans le registre tandis que St en est expulsé : Figure 4 : Principe du décalage
  • 25. 24 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 III. GENERALITES SUR LE GSM 1. ARCHITECTURE GSM Les différents éléments de l’architecture GSM sont :  Les MS (Mobile Station) et la SIM Le terminal mobile contient la carte SIM. Dans cette dernière sont gravées des informations secrètes propres aux données de l’utilisateur  L’IMSI (International Mobile Subcriber Identity), qui est un numéro unique identifiant l’abonnement à la carte SIM.  Ki, la clé privée de 128 bits de la carte SIM, dont l’utilisation sera expliquée ultérieurement dans le rapport.  L’ICCID (Integrated Circuit Card ID), un numéro unique identifiant la SIM. Ce numéro est également gravé à côté de la puce dans la plupart des cas.  Les BTS (Base Transceiver Station) Les BTS sont les liens entre les terminaux mobiles et les BSC. Ces équipements possèdent une interface vers un BSC et une antenne permettant la communication avec les terminaux mobiles de sa zone, via l’interface Um (air). Ce sont les communications entre cet équipement et les terminaux mobiles qui seront étudiées dans la suite du rapport. Les communications entre ces équipements et les terminaux mobiles sont donc chiffrées. Ces différents équipements définissent des cellules, c’est à leur zone de portée.  Les BSC (Base Station Controller)
  • 26. 25 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 Les BSC communiquent avec les BTS via l’interface Abis et avec les MSC via l’interface A. Cet équipement est relié généralement à plusieurs BTS et permet de grouper ces dernières.  Les MSC (Mobile Switching Center) Les MSC sont les éléments principaux de l’architecture GSM. Ils contrôlent le trafic entre plusieurs BSC auxquels ils sont connectés, et contrôle également le trafic eux et les autres MSC. Ce sont ces équipements qui sont connectés aux passerelles des autres opérateurs et permettent les appels vers ces derniers, ainsi que vers des lignes fixes, via le routage des paquets la localisation des différents qu’ils assurent. Ce sont ces équipements qui assurent la localisation des différents utilisateurs, ainsi que la gestion des connexions vers les MS qui sont connectées aux BTS que la MSC contrôle. Ce contrôle est possible grâce au VLR associé à chaque MSC.  Les VLR (Visitor Location Register) Les VLR contiennent les informations sur les utilisateurs actuellement présents dans la zone de couverture du MSC. Les VLR sont donc temporaires. A chaque fois qu’un utilisateur rentre dans une nouvelle zone, les VLR obtiennent les informations sur ces derniers en envoyant une requête HLR correspondant. Ils informent donc les HLR de la zone couverte dans laquelle l’utilisateur se situe. Pour chaque utilisateur, le VLR contient :  Son numéro unique d’identifiant (IMSI)  Son numéro temporaire d’identification (TMSI)  Le numéro de téléphone international de l’utilisateur (MSISDN)  Le numéro d’identification du téléphone de l’utilisateur  Les services auxquels l’utilisateur a accès  Les données d’authentification de l’utilisateur Un utilisateur ne peut donc être que dans un VLR à la fois. Les VLR sont remis à jour fréquemment.  Les HLR (Home Location Register) et EIR (Equipment Identity Register) Les EIR sont toujours intégrés aux HLR. Les EIR contiennent une liste des IMEI des différents terminaux, dont ceux bannis du réseau (par exemple pour vol ou perte). Ces derniers permettent donc le traçage des terminaux volés, ainsi que le refus d’accès au réseau pour ces derniers. Les HLR sont les “registres centraux” contenant les informations sur les abonnés. Un abonné a ses informations stockées dans un HLR de l’operateur. C’est ce HLR qui transmet ces informations aux VLR lors de notre connexion dans une zone. Les HLR mémorisent la position de l’abonné telle qu’elle leur est transmise par les VLR. Ce sont les HLR qui effacent les informations sur les utilisateurs des VLR quand ces derniers ont changé de zone. Les
  • 27. 26 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 HLR contiennent donc les informations sur l’abonnement des utilisateurs. Il peut y avoir un ou plusieurs HLR par opérateur. Pour chaque Utilisateur étant inscrit dans un HLR, ce dernier contient • Son numéro unique d’identification (IMSI) • Le numéro de téléphone international de l’utilisateur(MSISDN) • Les services auxquels l’utilisateur a accès • L’identité du VLR de la zone dans lequel l’utilisateur se trouve Les HLR sont mis à jour fréquemment.  Les AuC (Authentication centre) Les AuC sont utilisés à chaque mise en route de téléphone (et donc connexion au réseau), afin d’authentifier les cartes SIM des utilisateurs. C’est cette entité qui génère les différentes variables cryptographiques qui seront ensuite utilisées pour le chiffrement de la communication. Les différents mécanismes d’authentification seront détaillés dans la section suivante. C’est cette entité qui permet d’éviter le clonage de carte SIM. 2. Sécurité du GSM Parmi les nombreuses procédures misent en place pour assurer la sécurité du GSM, on a l’authentification et la confidentialité. a) L’authentification La procédure d’authentification se divise en 5 étapes : 1. En utilisant le code PIN de l’utilisateur, le téléphone obtient de la carte SIM les informations suivantes : • L’IMSI (International Mobile Subscriber Identity) qui est un code d’identification unique et universel pour GSM. • Ki qui est une clé privée propre à chaque carte SIM. Celui-ci est sensible et n’est jamais transmis tel quel par voie aérienne ; on préférera utiliser l’IMSI pour l’identification. 2. Le terminal envoie ensuite son IMSI à la BTS. Cette dernière transmet cet IMSI au HLR/AuC, qui lui connait la clé privée Ki de la SIM. 3. L’AuC génère un nombre aléatoire de 128 bits, ici appelé RD, et le transmet au terminal via la BTS.
  • 28. 27 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 4. Le terminal détermine une réponse signée (SRES) a partir de l’algorithme A3 (SRES = A3 (RD, Ki)), ainsi qu’une clé de session Kc à l’aide de l’algorithme de chiffrement A8 (Kc = A8 (RD, Ki)). 5. Le terminal renvoie ensuite la SRES calculée à la HLR/AuC, et cette dernière vérifie que cette réponse SRES est similaire à celle qu’il a calculée. Le cas échéant, le terminal est authentifié, et ce dernier commence à communiquer en utilisant sa clé Kc, qui sera également utilisée pour le chiffrement via l’algorithme A5, dont le fonctionnement sera détaillé ci-après. Figure 5 : procédure d’authentification de l’abonné. b) La confidentialité des communications La confidentialité quant à elle empêche l’écoute par un usager non autorisé de la communication. Comme solution à ce problème de confidentialité, les mêmes éléments RAND et K i suscités sont passés en paramètres de l’Algorithme A8, implémenté dans la carte SIM et dans l’AUC, qui produit un résultat (clé) Kc. Cette clé Kc sert de clé de chiffrement pour le trafic de la communication entre le mobile et la BTS.
  • 29. 28 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 Un algorithme de chiffrement A5 présent sur la MS et la BTS est alors utilisé pour chiffrer et déchiffrer les données de la communication. Ce processus se résume par le schéma suivant : Figure 7 : principe de la confidentialité des communications Il a donc été montré que les seules communications chiffrées sont entre les terminaux mobiles et non pas de bout en bout des communications dans l’architecture GSM. C’est ce lien terminal mobile/BTS qui va être la cible d’attaques potentielles, qui vont être expliquées par la suite. Utilisation d’A5 dans le protocole GSM Apres une authentification correcte auprès de la base GSM, le téléphone est en possession d’une clé privée de session Kc. Dans le standard GSM, les parties communicantes échangent leurs données en trames de 228 bits toutes les 4.6 millisecondes. La communication se fait en full-duplex, ces 228 bits représentent les 114 bits de données montantes et les 114 bis de données descendantes. Le chiffrement de ces données va se faire selon deux critères : • La clé privée de session Kc
  • 30. 29 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 • Le numéro de trame (Frame Number) qui lui est publiquement connu. IV. SYSTEME DE CHIFFREMENT A5/1 1. Historique L'algorithme A5/1 a longtemps été conservé secret. Une première description est publiée par Ross Anderson dans un groupe de discussion. Cette description, obtenue par analyse d'une implantation, était incorrecte sur plusieurs points, mais montrait déjà la structure interne du système. Une seconde description a été publiée en 1999 par Marc Briceno, Ian Goldberg et David Wagner. Elle diffère de celle de Ross Anderson par le détail des registres à décalage utilisés. Elle est distribuée sous la forme de code source en « C », sous l'égide de la Smartcard Developer Association, qui annonce avoir vérifié l'exactitude de la description. Alex Biryukov, Adi Shamir et David Wagner en ont tiré une cryptanalyse, et annoncent, dans leur article, avoir reçu confirmation du groupement GSM qu'il s'agit bien de l'algorithme tel qu'utilisé dans la norme. 2. Principe de fonctionnement du A5/1 La structure de A5/1 est basée sur 3 registres à décalage avec une rétroaction linéaire; on les notes R1, R2 et R3. Ils ont une longueur de 19, 22 et 23 bits respectivement. Son principe de fonctionnement suit deux grandes étapes à savoir : l’initialisation du système et la génération de la séquence de chiffrement. a) Initialisation du système L’initialisation du système ici n’est rien d’autre que l’initialisation des registres. Elle se fait à l’aide de la clé de chiffrement de 64bits(Kc) (mais son implémentation dans le GSM se fait avec une clé de 54 bits où les 10 autres bits sont mis à zéro) et du compteur de bloc de 22 bits. On procède comme suit : 1- Tous les registres sont mis à zéro 2- On effectue 64 cycles pendant lesquels la clé de 64bits est introduite dans le système 2.1- Pour le bit Kc[i] de la clé Kc on effectue un OU EXCLUSIF (Xor) avec le bit de poids le plus faible de chaque registre
  • 31. 30 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 2.2- Tous les registres sont décales d’un cran 3- On effectue 22 cycles pendant lesquels le compteur de bloc Fn est introduit dans le système 3.1- Pour le bit Fn[i] du compteur, on effectue un OU EXCLUSIF (Xor) avec le bit de poids le plus faible de chaque registre 3.2- On décale ensuite tous les registres d’un cran. 4- On effectue 100 cycles dans les registres, où dans chaque cycle on effectue juste un décalage conformément à la loi de décalage du système lui-même, et on se débarrasse des bits obtenus au bout de ces 100 cycles. Cette étape permet de rendre plus complexe l’état interne du GPA. Une autre façon de rédiger cet algorithme est la suivante : 1. R1 = R2 = R3 = 0 2. For i = 0 to 63 do R1[0] = R1[0] ⊕ Kc[i] R2[0] = R2[0] ⊕ Kc[i] R3[0] = R3[0] ⊕ Kc[i] Décaler simultanément tous les registres sans tenir compte de la règle de décalage 3. For i = 0 to 21 do R1[0] = R1[0] ⊕ COUNT[i] R2[0] = R2[0] ⊕ COUNT[i] R3[0] = R3[0] ⊕ COUNT[i] Décaler simultanément tous les registres sans tenir compte de la règle de décalage
  • 32. 31 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 4. For i = 0 to 99 do Décaler tous les registres en tenant compte cette fois de la règle de décalage Après le processus d’initialisation, nous allons donc produire la séquence de chiffrement. b) Production de la séquence de chiffrement La séquence de chiffrement est constituée du résultat sous forme de bits de notre système et qui sera utilisée pour le chiffrement proprement dit de la communication. Comme mentionné plus haut, le fonctionnement est basé sur une séquence de décalage des registres suivant une certaine loi. Les registres ont donc déjà un état initial chacun. Il est évident qu’après le décalage d’un registre, une case mémoire est libérée (donc présence d’une case mémoire vide). Il s’agira de la case mémoire du bit de poids. le plus faible car on effectue un décalage à gauche. Après un décalage il faut donc remplacer le bit manquant dans le registre par l’insertion d’un nouveau bit convenablement calculé. Pour insérer un nouveau bit dans le registre on effectue un OU EXCLUSIF (Xor) entre quelques bits déjà présents dans les registres. Ces derniers (bits sur lesquels on effectue le Xor) sont à des positions constantes à savoir : - R1[13], R1[16], R1[17] et R1[18] pour le registreR1 ; - R2[20] et R2[21] pour registre R2 ; - R3[20], R3[21] et R3[22] pour le registre R3 ; Comme l’indique le schéma suivant :
  • 33. 32 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 Figure 7 : principe d’insertion d’un nouveau bit dans les registres. On récupère ensuite les bits C1, C2 et C3 des registres R1, R2 et R3 respectivement, avec C1= R1[8], C2= R2[10] et C3= R3[10] (cases colorées en gris sur la figure 8). Avec ces bits récupérés, on calcule une fonction « Majorité » définie par : M i =Majorité (C i , C2i , C3i ) = C1i. C2i + C1i.C3i + C2i.C3i (où i représente le i ème cycle et le bit qui gagne est celui qui apparait le plus). Les registres ayant produits le bit qui a emporté la majorité sont alors décalés. La véritable sortie de ce générateur de clé est un OU EXCLUSIF (Xor) entre les bits qui sont en tête de chaque registre. Comme l’illustre le schéma suivant :
  • 34. 33 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 Figure 8 : Structure interne de l’algorithme A5/1 On obtient donc ainsi la séquence de chiffrement qui sera utilisée pour le chiffrement de nos données à transmettre sur le réseau. A noter que la séquence de chiffrement a une taille de 228 bits. c) Déchiffrement des données. Le déchiffrement de la communication est réalisé en effectuant un OU EXCLUSIF (Xor) bit par bit entre la séquence de chiffrement et le cryptogramme de la communication. Comme présenté par le schéma suivant :  Algorithme de déchiffrement : Cet algorithme est constitué des étapes suivantes : 1- Initialiser chaque registre R k (k=1 :3) grâce à Kc 2- Calculer la fonction majorité M i =Majorité (C1 i , C2 i , C3 i ) (i représentant le i ème cycle) 3- Après décalage, calculer L i =R1[18] ⊕ R2[21] ⊕ R3[22]
  • 35. 34 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 4- Trouver X i =Y i ⊕L i
  • 36. 35 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 V. SYSTEME DE CHIFFREMENT A5/2 Historique Le système de chiffrement A5/2 est un algorithme de chiffrement par flot utilisé dans le cadre des communications GSM en dehors de l'Europe. Ce système a été intentionnellement rendu plus faible que le A5/1. En 1999, Ian Goldberg et David Wagner ont pu casser l’algorithme A5/2 seulement un mois après sa publication officielle. Les experts estiment qu'il serait possible de déchiffrer les données en temps réel avec du matériel adapté et peu onéreux. Principe de fonctionnement La structure de A5/2 est basée sur quatre registres LFSR ; noté R1, R2, R3 et R4 qui ont respectivement pour longueurs : 19, 22, 23, et 17 bits. Son principe de fonctionnement est constitué de deux étapes :  Initialisation du système  Génération de la séquence de chiffrement a) Initialisation du système Elle se fait à l’aide de la clé de chiffrement de 64 bits (Kc) et du compteur de block de 22 bit (Fn). On procède comme suit : - Mettre tous les registres à zéro. - On effectue 64 cycles pendant lesquels la clé Kc de 64 bits est introduite dans le système. Pour le bit Kc[i] de la clé Kc , on effectue un OU EXCLUSIF (Xor) avec le bit de poids le plus faible de chaque registre . Tous les registres sont décalés d’un cran. - On effectue 22 cycles pendant lesquels le compteur de block Fn est introduit le système Pour le bit Fn[i] du compteur ; on effectue le OU EXCLUSIF avec le bit de poids faible de chaque registre On décale ensuite tous les registres d’un cran.
  • 37. 36 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 - On effectue 99 cycles dans les registres, où dans chaque cycle on effectue un décalage du système. Cette opération permet rendre complexe l’état interne du GPA . Une autre façon de rédiger l’algorithme est la suivante : 1. R1 = R2 = R3 = R4 = 0 2. For i = 0 to 63 do R1[0] = R1[0]  Kc[i] R2[0] = R2[0]  Kc[i] R3[0] = R3[0]  Kc[i] R4[0] = R4[0]  Kc[i] Décalé simultanément tous les registres 3. For i = 0 to 22 do R1[0] = R1[0]  Kc[i] R2[0] = R2[0]  Kc[i] R3[0] = R3[0]  Kc[i] R4[0] = R4[0]  Kc[i] Décale simultanément tous les registres 4. For i = 0 to 99 do Décaler tous les registres en tenant compte de la règle de décalage. Après le processus d’initialisation, nous allons produire la séquence de chiffrement. b) Production de la séquence de chiffrement La séquence de chiffrement est constituée du résultat sous forme de bits de notre système qui sera utilisé pour le chiffrement proprement dit de la communication. Le fonctionnement est basé sur une séquence du décalage des registres en suivant une certaine loi. Après le décalage d’un registre, une case mémoire est libérée. Il s’agit de la case mémoire du bit de poids le plus fort car on effectue un décalage à droite. Après un décalage, il faut remplacer le bit manquant dans le registre par l’insertion d’un nouveau bit convenablement calculé. Pour insérer un nouveau bit dans le registre, on effectue un OU
  • 38. 37 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 EXCLUSIF entre quelques bits présents dans le registre et occupant des positions constantes et prédéfinies à l’avance dans le cas de A5/2. Ces positions sont exactement les mêmes que celles définies dans le cas des registres R1, R2 et R3. Par contre, pour le registre R4, nous avons : Bit inséré = R4[11]  R4[16] ce qui correspond à la configuration suivante : Structure du registre R4 Ensuite, on prend R4[3], R4[7], R4[10] ; avec ces derniers on calcule une fonction majorité M = majorité (R4[3], R4[7], R4[10]), définie comme dans le cas de A5/1. La loi de décalage des registres est la suivante :  R1 est décalé si et seulement si R4[10]= M (où M= majorité (R4[3], R4[7], R4[10]))  R2 est décalé si et seulement si R4[3]= M  R3 est décalé si et seulement si R4[7]= M Comme l’illustre le schéma suivant : Organe de décalage des registres Après ce décalage, R4 est également décalé à son tour. Seuls les registres R1, R2 et R3 interviennent dans la constitution de la séquence de de chiffrement. En effet dans chacun de ces registres, deux bits et le complément d’un troisième bit sont pris en paramètre pour calculer une fonction majorité dans l’ordre suivant :
  • 39. 38 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2  M1 = majorité ( R1[12],R1[15],Not(R1[14]) ) pour le registre R1  M2 = majorité ( R2[9],R2[13],Not(R2[16]) ) pour le registre R2  M3 = majorité ( R3[16],R3[18],Not(R3[13]) ) pour le registre R3 Les bits de poids les plus faibles de chaque registre sont combinés avec le résultat de chaque fonction majorité le OU EXCLUSIF (Xor) pour former la sortie de notre GPA, comme le décrit le schéma suivant : Structure du GPA On obtient ainsi la séquence de chiffrement qui sera utilisée pour le chiffrement de nos données à transmettre sur le réseau. c) Système Chiffrement/ déchiffrement de la communication. Le chiffrement de la communication est réalisé en effectuant un OU EXCLUSIF bit par bit entre la séquence de chiffrement et les données claires de communication. Comme l’illustre le schéma suivant :
  • 40. 39 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 Principe de chiffrement/déchiffrement  Algorithme de chiffrement L’algorithme est constitué des étapes suivantes : 1 – initialiser les registres R1, R2, R3 et R4 grâce à la clé Kc et le compteur de bloc Fn 2 – calculer la fonction majorité M = majorité (R4[7], R4[3], R4[10]) et décaler les registres 3 – calculer les fonctions majorités M1, M2 et M3 4 – calculer L = R1[18]  M1 R2[21] M2 R3[22]  M3 5 – calculer X = Y  L où X est le message chiffré, Y le message clair et L la sortie du GPA et X, Y, L  1,0 .  Algorithme de déchiffrement L’algorithme de déchiffrement est le même que celui déchiffrement sauf qu’ici le message chiffré qui était en sotie dans le cas du chiffrement est pris ici en entrée et en sortie on obtient un message clair. L’algorithme est constitué des étapes suivantes : 1 – initialiser les registres R1, R2, R3 et R4 grâce à la clé Kc et le compteur de bloc Fn 2 – calculer la fonction majorité M = majorité (R4[7], R4[3], R4[10]) et décaler les registres 3 – calculer les fonctions majorités M1, M2 et M3 4 – calculer L = R1[18]  M1 R2[21] M2 R3[22]  M3 5 – calculer X = Y  L où X est le message clair, Y le message chiffré et L la sortie du GPA et X, Y, L  1,0
  • 41. 40 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 VI. ATTAQUES La force d'A5 est entièrement dans la séquence d'avancement de ses registres. L’adversaire a donc pour buts : - Retrouver la clé secrète ; - Retrouver l’état interne de chaque registre ; - Prédire le bit suivant de la séquence de chiffrement ; C’est ainsi qu’on distingue : L’attaque par recherche exhaustive : Qui consiste à calculer les antécédents par f -1 de tous les éléments y de F d’une fonction f définie de E vers F, jusqu'à en trouver un qui donne x ; cette technique est très coûteuse en temps de calcul et doit être répétée pour chaque nouvelle valeur de y. Mais nous allons illustrer cette attaque sur A5 vu que l’état interne est de petite taille. Nous allons donc nous placer dans le cas où l’attaquant a accès à la séquence de chiffrement car il s’agit ici d’une attaque à texte chiffré seul. Étant donné une séquence de chiffrement (St‘ ) donnée, nous voulons retrouver la clé K’ de taille |K | qui a permis de générer cette séquence. Pour faire une recherche exhaustive nous avons besoin d’un test d’arrêt discriminant la bonne clé des mauvaises clés. Dans notre cas, le test est simplement la clé qui génère une séquence de chiffrement (S t ) identique à la suite (S t ‘ ). On peut avoir le semblant d’algorithme suivant :
  • 42. 41 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 VII. COMPARAISON ENTRE A5/1 ET A5/2 : 1. Différences fondamentales entre A5/1 et A5/2 : Il s’agit ici de faire une brève comparaison sur les structures de ces deux algorithmes. Les différences notées sont regroupées dans le tableau suivant : Tableau1 : différence fondamentale entre A5/1 et A5/2 A5/1 A5/2 Utilisation des trois registres pour son fonctionnement Utilisation des quatre registres pour son fonctionnement Les bits de décision pour le décalage sont pris dans les registres R1, R2 et R3 Les bits de décision pour le décalage sont tous pris dans le registre R4 2. Différence de performances : A5/1 A5/2 Vitesse d’exécution Plus rapide, car moins de calculs de fonction Moins rapide, car utilise plus de fonctions majorité
  • 43. 42 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 majorité et de OU EXCLUSIF et plus de OU EXCLUSIF Implémentation Utilise trois registres, ce que son implémentation est moins couteux. Utilise quatre registres, ce qui rend l’implémentation plus difficile Résistance aux attaques Plus résistant Moins résistant
  • 44. 43 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 CONCLUSION GENERALE Nous somme rendu au terme de l'étude des algorithmes de chiffrement RC4, A5/1, A5/2. Chacun de ces algorithmes possède des caractéristiques qui lui sont propre ce qui renvoie à un domaine d'application précis. Certain de ces algorithmes (A5/2et RC4) sont assez vulnérables vu que des attaques ont été développés pour ces systèmes de chiffrement même s'il présente des avantages assez intéressants. On peut donc dire que le degré de sécurité que confère un algorithme de chiffrement peut dépendre du pays dans lequel on le développe car chaque gouvernement doit pouvoir maitriser la circulation des informations dans son territoire, ne dit-on pas souvent que « celui qui a l’information a le pouvoir ». En somme, le choix d'un algorithme de chiffrement dépend de l'application.
  • 45. 44 | P a g e L E S A L G O R I T H M E S R C 4 - A 5 / 1 - A 5 / 2 WEBOGRAPHIE ET BIBLIOGRAPHIE  Univd2000-crytographie.pdf  Wikipédia  google  Cours du docteur BELL  http://www.uqtr.ca  Documents PDF disponibles dans le site Web