45
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

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

Embed Size (px)

Citation preview

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

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

Page 2: Algorithme de chiffrement RC4, A5/1 & A5/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

Page 3: Algorithme de chiffrement RC4, A5/1 & A5/2

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

Page 4: Algorithme de chiffrement RC4, A5/1 & A5/2

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

Page 5: Algorithme de chiffrement RC4, A5/1 & A5/2

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

Page 6: Algorithme de chiffrement RC4, A5/1 & A5/2

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’’

Page 7: Algorithme de chiffrement RC4, A5/1 & A5/2

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

Page 8: Algorithme de chiffrement RC4, A5/1 & A5/2

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

Page 9: Algorithme de chiffrement RC4, A5/1 & A5/2

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é;

Page 10: Algorithme de chiffrement RC4, A5/1 & A5/2

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é.

Page 11: Algorithme de chiffrement RC4, A5/1 & A5/2

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

Page 12: Algorithme de chiffrement RC4, A5/1 & A5/2

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) :

Page 13: Algorithme de chiffrement RC4, A5/1 & A5/2

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

Page 14: Algorithme de chiffrement RC4, A5/1 & A5/2

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

Page 15: Algorithme de chiffrement RC4, A5/1 & A5/2

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 :

Page 16: Algorithme de chiffrement RC4, A5/1 & A5/2

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.

Page 17: Algorithme de chiffrement RC4, A5/1 & A5/2

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

Page 18: Algorithme de chiffrement RC4, A5/1 & A5/2

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

Page 19: Algorithme de chiffrement RC4, A5/1 & A5/2

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.

Page 20: Algorithme de chiffrement RC4, A5/1 & A5/2

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.

Page 21: Algorithme de chiffrement RC4, A5/1 & A5/2

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)

Page 22: Algorithme de chiffrement RC4, A5/1 & A5/2

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 :

Page 23: Algorithme de chiffrement RC4, A5/1 & A5/2

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.

Page 24: Algorithme de chiffrement RC4, A5/1 & A5/2

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

Page 25: Algorithme de chiffrement RC4, A5/1 & A5/2

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)

Page 26: Algorithme de chiffrement RC4, A5/1 & A5/2

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

Page 27: Algorithme de chiffrement RC4, A5/1 & A5/2

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.

Page 28: Algorithme de chiffrement RC4, A5/1 & A5/2

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.

Page 29: Algorithme de chiffrement RC4, A5/1 & A5/2

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

Page 30: Algorithme de chiffrement RC4, A5/1 & A5/2

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

Page 31: Algorithme de chiffrement RC4, A5/1 & A5/2

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

Page 32: Algorithme de chiffrement RC4, A5/1 & A5/2

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 :

Page 33: Algorithme de chiffrement RC4, A5/1 & A5/2

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 :

Page 34: Algorithme de chiffrement RC4, A5/1 & A5/2

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]

Page 35: Algorithme de chiffrement RC4, A5/1 & A5/2

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

Page 36: Algorithme de chiffrement RC4, A5/1 & A5/2

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.

Page 37: Algorithme de chiffrement RC4, A5/1 & A5/2

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

Page 38: Algorithme de chiffrement RC4, A5/1 & A5/2

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 :

Page 39: Algorithme de chiffrement RC4, A5/1 & A5/2

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 :

Page 40: Algorithme de chiffrement RC4, A5/1 & A5/2

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

Page 41: Algorithme de chiffrement RC4, A5/1 & A5/2

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 :

Page 42: Algorithme de chiffrement RC4, A5/1 & A5/2

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é

Page 43: Algorithme de chiffrement RC4, A5/1 & A5/2

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

Page 44: Algorithme de chiffrement RC4, A5/1 & A5/2

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.

Page 45: Algorithme de chiffrement RC4, A5/1 & A5/2

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