Académique Documents
Professionnel Documents
Culture Documents
COURS DE CRYPTOGRAPHIE
UNIVERSITE DE LUBUMBASHI
Département de Mathématiques et Informatique
Objectifs du cours
- Introduire les concepts de base de la cryptographie, les principes de base de la
cryptographie, les principaux algorithmes cryptographiques utilisés ainsi que les
mécanismes cryptographiques de sécurité mis en œuvre dans des environnements
distribués pour offrir des services de confidentialité, d’authentification, …
- Simuler quelques algorithmes cryptographiques
Contenu du cours
Chapitre 1 : Introduction à la cryptographie
Chapitre 2 : La cryptographie classique
Chapitre 3 : Le chiffrement par blocs
Chapitre 4: La cryptographie moderne
3
Nota1 : Les mots Cryptage et décryptage sont des anglicismes ambigus en Français
(décryptage est parfois utilisé pour cryptanalyse) et doivent être évités
Nota2 : Ce qui est caché (du Grec kryptos) en cryptographie n’est pas le message lui-
même mais sa signification
1.3. Notations
1.3.1. Soient eK, dK , Pour toute clef K, on pose e K(M) = e(M, K) et dK(C) = d(C, K). On a
donc
dK(eK(M)) = M pout tout message clair M
1. 3.2 Soient e, d Pour toute clef K, on peut aussi l’écrire sous la forme K = (e, d) e étant la
sous-clef servant à encrypter M → eK(M) = {M}e
et d étant la sous-clef servant à décrypter C → dK(C) = {C}d et on a donc encore sous cette
nouvelle forme {{M}e}d = M
5
le nombre de clés peut devenir conséquent. C’est pourquoi on utilisera souvent des
échanges sécurisés pour transmettre les clés. En effet, pour un système à N
utilisateurs, il y aura N.(N − 1)/2 paires de clés.
Au niveau des performances, le chiffrement par voie asymétrique est environ 1000
fois plus lent que le chiffrement symétrique.
Cependant, à l’inverse du chiffrement symétrique où le nombre de clés est le problème
majeur, ici, seules n paires sont nécessaires. En effet, chaque utilisateur possède une
paire (SK, PK) et tous les transferts de message ont lieu avec ces clés.
La distribution des clés est grandement facilitée car l’échange de clés secrètes n’est
plus nécessaire. Chaque utilisateur2 conserve sa clé secrète sans jamais la divulguer.
Seule la clé publique devra être distribuée.
Comme dit précédemment, à l’aide d’un cryptosystème asymétrique, cet échange préalable
n’est pas nécessaire. Chaque entité possède sa propre paire de clés. On aura donc la paire P KA,
SKA pour l’entité A et la paire PKB, SKB pour l’entité B.
10
1.7.2. Intégrité
Il faut ici vérifier si le message n’a pas subi de modification durant la communication. C’est
ici qu’interviennent les fonctions de hachage.
Dans la figure ci-dessus (a), on ne parle pas de l’envoi du message. On prête uniquement
l’attention à la vérification de l’intégrité.
1.7.3. Authentification
Elle a lieu à plusieurs niveaux.
Au niveau des parties communicantes, dans le cas d’un système symétrique (Fig.
ci-dessous (b)) ou asymétrique (figure ci-dessous(c)).
A la première figure, Ra est une nonce (p. ex. nombre aléatoire), propre à l’utilisateur
A. Les lettres A et B représentent des identificateurs personnels.
Au niveau du message
12
1.7.4. Synthèse
Les trois services peuvent être synthétisés de la manière suivante :
Figure 10 (g) : Confidentialité (en rouge), Intégrité (en violet), Authentification (en vert)
14
2.1. Introduction
Dans le schéma ci-dessous figurent les différentes branches de la cryptographie classique.
Si on connait l’algorithme utilisé (ici César), la cryptanalyse par force brute est très facile. En
effet, dans le cas du chiffre de César, seules 25 ( !) clés sont possibles.
2.2.2 Analyse de fréquences
Lorsque la langue de départ et la technique de chiffrement sont connus, on peut exploiter les
régularités du langage par le principe d’analyse de la fréquence d’une lettre. Cette technique
ne fonctionne bien que si le message chiffré est suffisamment long pour avoir des moyennes
significatives
On peut également utiliser des homophones : Il s’agit de remplacer une lettre non pas
par un symbole unique, mais par un symbole choisi au hasard parmi plusieurs. Dans
sa version la plus sophistiquée, on choisira un nombre des symboles proportionnel à la
fréquence d’apparition de la lettre. Ainsi, on obtient un renversement des fréquences
ce qui permet de faire disparaître complètement les indications fournies par la
fréquence. On parle de Substitution Homophonique ou de Substitution à
représentation multiple.
16
Par le chiffre affine, on obtient 312 clés possibles. En effet, pour respecter la propriété de k 1,
il n’y a que 12 choix possibles. Et puisque k 2 peut prendre n’importe quelle valeur dans [0,
25], il vient 12 ∗ 26 = 312.
Exemple : Soient la clé = (k 1, k2) = (3, 11)
Transformation de chiffrement :
c i = f(mi) = 3 ∗ mi + 11 mod 26
Transformation de déchiffrement : k −1
1 = 3 mod 26 = 9 [car 3 ∗ 9 mod 26 = 1]
−1
17
mi = f −1 (c i) = 9 ∗ (c i − 11) mod 26
2. 3. Chiffrement polygraphique
Il s’agit ici de chiffrer un groupe de n lettres par un autre groupe de n symboles. On citera
notamment le chiffre de Playfair et le chiffre de Hill. Ce type de chiffrement porte également
le nom de substitutions polygrammiques.
2.3.1. Chiffre de Playfair (1854)
On chiffre 2 lettres par 2 autres. On procède donc par digramme. On dispose les 25 lettres de
l’alphabet (W exclu car inutile à l’époque, on utilise V à la place) dans une grille de 5x5, ce
qui donne la clef. La variante anglaise consiste à garder le W et à fusionner I et J.
Il y a 4 règles à appliquer selon les deux lettres à chiffrer lors de l’étape de substitution. Pour
le déchiffrement, on procède dans l’ordre inverse.
1. Si les lettres sont sur des "coins", les lettres chiffrées sont les 2 autres coins. Exemple : OK
devient VA, RE devient XI ...
2. Si les lettres sont sur la même ligne, il faut prendre les deux lettres qui les suivent
immédiatement à leur droite.
3. Si les lettres sont sur la même colonne, il faut prendre les deux lettres qui les suivent
immédiatement en dessous.
4. Si elles sont identiques, il faut insérer une nulle (habituellement le X) entre les deux pour
éliminer ce doublon. Exemple : "balloon" devient "ba" "lx" "lo" "on".
Pour former ces grilles de chiffrement, on utilise un mot-clef secret pour créer un alphabet
désordonné avec lequel on remplit la grille ligne par ligne. Ensuite, on comble la grille avec
les lettres restantes de l’alphabet.
Les lettres sont d’abord remplacées par leur rang dans l’alphabet. Les lettres Pk et Pk+1
deviennent
Ck et Ck+1
19
Les composantes de cette matrice doivent être des entiers positifs. De plus la matrice doit être
inversible dans Z26. Cependant, sa taille n’est pas fixée à 2. Elle grandira selon le nombre de
lettres à chiffrer simultanément.
Chaque digramme clair (P1 et P2) sera chiffré (C1 et C2) selon :
pour chiffrer le message "je vous aime" qu’elle enverra à Bob. Après avoir remplacé les
lettres par leur rang dans l’alphabet (a=1, b=2, etc.), elle obtiendra :
Elle fera de même avec les 3e et 4e lettres, 5e et 6e, etc. Elle obtiendra finalement le résultat
de la figure suivante représentant l’exemple d’un chiffrement de Hill :
Pour déchiffrer, le principe est le même que pour le chiffrement : on prend les lettres deux par
deux,
puis on les multiplie par une matrice
Cette matrice doit être l’inverse de matrice de chiffrement (modulo 26). Ordinairement, cet
inverse
est
20
Comme gcd(43, 26) = 1, (43)−1 existe dans Z26 et (43)−1 = 23. Bob a la matrice de
déchiffrement :
Bob prend donc cette matrice pour déchiffrer le message "FGXGE DSPGV". Après avoir
remplacé
les lettres par leur rang dans l’alphabet (A=1, B=2, etc.), il obtiendra :
Il fera de même avec les 3e et 4e lettres, 5e et 6e, etc. Il obtiendra finalement le résultat de la
figure
Suivante représente l’exemple de déchiffrement de Hill.
C’est une amélioration décisive du chiffre de César. Sa force réside dans l’utilisation non pas
d’un, mais de 26 alphabets décalés pour chiffrer un message. On parle du carré de Vigenère.
Ce chiffre utilise une clef qui définit le décalage pour chaque lettre du message (A : décalage
de 0 cran, B : 1 cran, C : 2 crans, ..., Z : 25 crans).
Exemple : chiffrer le texte "CHIFFRE DE VIGENERE" avec la clef "BACHELIER" (cette
clef est éventuellement répétée plusieurs fois pour être aussi longue que le texte clair)
21
La grande force du chiffre de Vigenère est que la même lettre sera chiffrée de différentes
manières d’où perte de la fréquence des lettres, ce qui rend inutilisable l’analyse de fréquence
classique. La figure ci – dessus illustre cette perte des fréquences dans une fable de
Lafontaine, codée par substitution simple et par Vigenère.
La lettre de la clef est dans la colonne la plus à gauche, la lettre du message clair est dans la
ligne tout en haut. La lettre chiffrée est à l’intersection des deux.
L’emploi du carré de Vigenère est souvent sujet à erreurs : la lecture en est pénible et, à la
longue, fatigante. Beaucoup de cryptologues préfèrent se servir d’une "réglette", facile à
construire, et d’un maniement plus rapide.
Cette technique consiste à chercher des séquences de lettres qui apparaissent plus d’une fois
dans le texte. En effet, dans ce cas, il n’y aura que deux possibilités :
soit la même séquence de lettres du texte clair a été chiffrée avec la même partie de la
clef,
soit deux suites de lettres différentes dans le texte clair auraient par pure coïncidence
engendré la même suite dans le texte chiffré (probabilité faible).
Exemple : Soit une séquence de 3 lettres répétée dans un message codé avec une distance d.
On fait donc l’hypothèse sensée qu’il s’agit d’une même séquence de 3 lettres du texte initial,
codée avec la même séquence de lettres de la clé. Par conséquent, si m est la longueur de la
clé, pour que les 2 séquences soient codées avec les mêmes lettres de la clé, il est nécessaire
que m divise d. m sera donc le pgcd des distances de séquences répétées. m représentera la
longueur de la clé de chiffrement !
Il faut toutefois baser ce raisonnement sur les valeurs significatives du pgcd. Ainsi, dans
l’exemple ci - dessous, les suites FCS et WTV ne seront pas prises en compte.
23
Ce renseignement est capital. Cela signifie que les caractères de rang 1, 4, 7, 10, ..., 3k+1, sont
simplement décalés à la manière du chiffre de César. On peut donc appliquer maintenant
l’analyse de fréquence à ces caractères et trouver la première lettre de la clef. Pour la
deuxième lettre de la clef, on analysera les fréquences des caractères de rang 3k + 2 et pour le
dernière lettre les fréquences des caractères de rang 3k.
Le masque jetable est défini comme un chiffre de Vigenère avec la caractéristique que la clef
de chiffrement a la même longueur que le message clair.
2.4. Transpositions
Elles consistent, par définition, à changer l’ordre des lettres. C’est un système simple, mais
peu sûre pour de très brefs messages car il y a peu de variantes. Ainsi, un mot de trois lettres
ne pourra être transposé que dans 6 (=3!) positions différentes. Par exemple, "col" ne peut se
transformer qu’en "col", "clo", "ocl", "olc", "lco" et "loc".
Lorsque le nombre de lettres croît, il devient de plus en plus difficile de retrouver le texte
original sans connaître le procédé de brouillage. Ainsi, une phrase de 35 lettres peut être
disposée de 35! = 1040 manières différentes. Ce chiffrement nécessite un procédé rigoureux
convenu auparavant entre les parties.
Une transposition rectangulaire consiste à écrire le message dans une grille rectangulaire, puis
à arranger les colonnes de cette grille selon un mot de passe donné (le rang des lettres dans
l’alphabet donne l’agencement des colonnes).
Exemple :
A la figure ci - dessous, on a choisi comme clef GRAIN pour chiffrer le message SALUT
LES PETITS POTS. En remplissant la grille, on constate qu’il reste deux cases vides, que
l’on peut remplir avec des nulles (ou pas, selon les désirs des correspondants).
3.1 Introduction
Substitution et transposition
Succession de rondes
C’est une propriété des chiffrements par blocs composés de couches (layers) ou "rounds"
caractérisés par un petit changement à l’entrée. Le changement d’un simple bit d’entrée
produit généralement de multiples changements de bits après un round, plusieurs autres
changements de bits après un autre round jusqu’au changement éventuel de la moitié du bloc.
27
Cette structure fut décrite en 1973 (par Feistel, employé chez IBM). La plupart des
chiffrements de la fin du XXè siècle sont basés sur cette structure. Elle découle des réseaux S-
P de Shannon. Il adapte la structure de Shannon afin de la rendre inversible ce qui permet de
réutiliser le matériel de chiffrement pour déchiffrer un message. La seule modification s’opère
dans la manière dont la clé est utilisée.
3.2.1 Exemple
A partir d’une table de correspondance, on peut déterminer le résultat du chiffrement d’un
bloc après passage dans une structure de Feistel. C’est ce qui est illustré aux figures
suivantes :
– Algorithme de génération des sous-clés : plus il est complexe, plus la compréhension est
rendue difficile.
3.3 D.E.S. - Data Encryption Standard
3.3.1 Présentation
Le D.E.S. (Data Encryption Standard, c’est-à-dire Standard de Chiffrement de Données) est
un standard mondial depuis la fin des années 1970.
Au début de cette décennie, le développement des communications entre ordinateurs a
nécessité la mise en place d’un standard de chiffrement de données pour limiter la
prolifération d’algorithmes différents ne pouvant pas communiquer entre eux. Pour résoudre
ce problème, L’Agence Nationale de Sécurité américaine (N.S.A.) a lancé des appels d’offres.
La société I.B.M. a développé alors un algorithme nommé Lucifer, relativement complexe et
sophistiqué. Après quelques années de discussions et de modifications (applications de S-
Boxes et réduction à des clés de 56 bits), cet algorithme, devenu alors D.E.S., fut adopté au
niveau fédéral le 23 novembre 1976.
Particularités
Le DES comporte plusieurs avantages qui en ont fait l’algorithme de chiffrement symétrique
standard pendant longtemps, jusqu’il y a quelques années. En voici quelques-uns :
– il possède un haut niveau de sécurité,
– il est complètement spécifié et facile à comprendre,
– la sécurité est indépendante de l’algorithme lui-même,
– il est rendu disponible à tous, par le fait qu’il est public,
– il est adaptable à diverses applications (logicielles et matérielles),
– il est rapide et exportable,
– il repose sur une clé relativement petite, qui sert à la fois au chiffrement et au déchiffrement,
– il est facile à implémenter.
Le D.E.S. est un cryptosystème agissant par blocs. Cela signifie que D.E.S. ne chiffre pas les
données à la volée quand les caractères arrivent, mais il découpe virtuellement le texte clair en
blocs de 64 bits qu’il code séparément, puis qu’il concatène. Un bloc de 64 bits du texte clair
entre par un coté de l’algorithmeet un bloc de 64 bits de texte chiffré sort de l’autre coté.
L’algorithme est assez simple puisqu’il ne combine en fait que des permutations et des
substitutions.
C’est un algorithme de chiffrement à clef secrète. La clef sert donc à la fois à chiffrer et à
déchiffrer le message. Cette clef a ici une longueur de 64 bits, c’est-à-dire 8 caractères, mais
dont seulement 56 bits sont utilisés. On peut donc éventuellement imaginer un programme
testant l’intégrité de la clef en exploitant ces bits inutilisés comme bits de contrôle de parité.
L’entière sécurité de l’algorithme repose sur les clefs puisque l’algorithme est parfaitement
connu de tous. La clef de 64 bits est utilisée pour générer 16 autres clefs de 48 bits chacune
qu’on utilisera lors de chacune des 16 itérations du D.E.S.. Ces clefs sont les mêmes quel que
soit le bloc qu’on code dans un message.
Cet algorithme est relativement facile à réaliser matériellement et certaines puces chiffrent
jusqu’à 1 Go de données par seconde. Pour les industriels, c’est un point important
notamment face à des algorithmes asymétriques, plus lents, tels que l’algorithme R.S.A.
30
1. Permutation initiale
2. Calcul médian (16 fois) : application d’un algorithme complexe appliqué en fonction de la
clé
3. Permutation finale
5.3.2.1 La permutation initiale
Les 64 bits du bloc d’entrée subissent la permutation de la figure ci-après :
Cette "matrice" permet d’effectuer des changements internes au bloc (i.e. il n’y a pas d’apport
de données extérieures). Le premier bit sera le bit 58, le second le bit 50, etc.
31
Ln = Rn−1
Rn = Ln−1 F( Rn−1, K n)
K n = G(K, n)
avec
T n = Ln R n
Ln = t 1...t 32
Rn = t 33...t 64
La clé est constituée de 64 bits dont 56 sont utilisés dans l’algorithme. Les 8 autres peuvent
être utilisés pour la détection d’erreurs où chacun de ces bits sera utilisé comme bit de parité
des 7 groupes de 8 bits. Ainsi, le nombre total de clés est de 256.
1. Réduction à 56 bits : les bits de parité sont enlevés. On procède ensuite à une permutation
semblable à celle de la figure ci - dessous
36
2. Division en sous-clés de 28 bits : le résultat de l’étape précédente (56 bits) est scindé en
deux sous-clés de 28 bits.
3. Rotation de la clé : à chaque itération, chaque sous-clé de 28 bits subit une rotation d’1 ou 2
bits vers la gauche selon la table de la figure ci -dessous,
4. Réduction : après concaténation des deux sous-clés précédentes, la clé résultante (56 bits)
est réduite à une sous-clé de 48 bits sur base de la matrice de la figure ci - dessous,
37
4.3.4 Déchiffrement
Il suffit d’appliquer le même algorithme mais inversé en tenant bien compte du fait que
chaque itération du déchiffrement traite les mêmes paires de blocs utilisés dans le chiffrement.
Il viendra
Si c = DES(p, k), alors !c = DES(!p, !k) mais cela ne représente pas un problème sérieux.
paires de ce genre.
– Clés « pouvant être faibles » : le problème est similaire aux clés semi-faibles. Il en existe
48.
3.4.3 Attaques sur le DES
– La recherche exhaustive par force brute : on teste toutes les clés possibles, l’une après
l’autre, afin de déchiffrer un bloc de données. On a besoin, en moyenne, de 255 essais.
– Une machine dédiée au calcul des clés : Deep Crack (Des Cracker, élaboré par l’Electronic
Frontier Foundation) a coûté moins de 250’000 dollars. Elle disposait de 1850 processeurs en
parallèle pour un temps de recherche de 56 heures (1998).
– Le calcul distribué : un regroupement d’ordinateurs par Internet qui partagent leur puissance
de calcul. En 1998, Distributed.net a pu décrypter un message en 39 jours1. Le 19 janvier
38
1999, EFF et Distributed.net ont cassé en travaillant conjointement une clé en 22 heures et 15
minutes.
– Depuis 2006, un autre ordinateur dédié, nommé COPACABANA2, permet de casser une clé
DES en 9 jours. En 2008, des améliorations logicielles ont même permis de diminuer le temps
de recherche à 6,4 jours. Son avantage est son coût : 10.000$. On peut donc facilement en
acquérir plusieurs et donc diminuer le temps de recherche en conséquence. Par exemple, pour
4 machines acquises (= 40,000$), il faudra compter 1,6 jour de recherche.
– Cryptanalyse différentielle : il s’agit de la possibilité de produire au moyen de textes clairs
choisis les textes chiffrés correspondants avec une clé inconnue. On analyse les différences
résultantes sur les textes chiffrés et on donne des probabilités aux clés testées. En affinant, on
trouve la clé la plus probable. La meilleure attaque différentielle connue demande 247 textes
clairs choisis
– Cryptanalyse linéaire : on dispose d’un dictionnaire de (M,C). On ne possède pas la « boite
noire » comme dans le cas différentiel. L’objectif est de déterminer une équation linéaire
modélisant au mieux les transformations du cryptogramme créé par l’algorithme de
chiffrement.
– Il existe d’autres attaques spécifiques au DES (Davie’s attack, ou des attaques sur des
versions simplifiées du DES) mais qui n’entrent pas dans le cadre de ce cours.
3.4.4.2. DES
Suite aux failles du DES, quelques modifications ont été apportées, mais pas toujours avec
succès. Ce fut notamment le cas avec le 2DES.
Il faut tout d’abord choisir deux clefs k 1 et k 2. Le principe du 2DES est de chiffrer deux fois le
message :
E(k 2,E(k 1,m))
Il a été prouvé que 2DES était équivalent à un DES avec une clé de 57 bits. Il faut donc
seulement deux fois plus de travail pour le briser (257 = 2 256).
3.4.5 3DES
C’est équivalent au fait de doubler la taille effective de la clé (ce qui est une longueur sûre
actuellement).
Il existe deux versions : la première utilise deux clés (cas de figure présenté ici), la seconde
trois (le dernier chiffrement utilise une troisième clé).
Il est très robuste contre toutes les attaques faisables connues. Cependant, il est beaucoup plus
lent que le DES car on triple les opérations.
40
4.1. Introduction
4.1.1. La notion de codage de l'information - Généralisation du codage
L’idée est de rendre tout binaire.
Il faut utiliser la représentation informatique de document faite à base d'octets :
au travers d'un code standardisé comme le code ASCII;
directement comme la couleur d'un pixel d'une image ou bien l'amplitude d'un signal
sonore, ou encore le code d'instructions processeur d'un logiciel, a permis de
généraliser les méthodes de cryptages à tout type de document.
Le message peut se traiter comme une série d'octets, voir une suite de bits, ou bien
conserver son caractère initial (photo, texte, musique…).
La représentation des données
Il existe aussi une table ASCII étendue sur 8 bits, qui ajoute à la précédente des caractères
accentués et des caractères de dessin ou de formules.
Elle dépend du constructeur qui la définit.
Voici un exemple de table ASCII étendue
Exemple : ralentir artificiellement un transfert ftp ou au contraire l'accélérer pour coder un bit
à 1 ou à 0, et pouvoir transmettre à un observateur le message qu'il construit.
La cryptanalyse reste difficile et doit s'appliquer à de gros volumes de données à l’aveugle.
b) Copie ou original
La clé de déchiffrement est égale à la clé de déchiffrement et elle doit rester secrète.
Le chiffrement consiste alors à effectuer une opération entre la clé privée et les données à
chiffrer.
Le déchiffrement se fait à l'aide de cette même clé secrète entre le texte chiffré et le texte en
clair.
b. Remarques
La qualité d'un crypto système symétrique se mesure par rapport :
à des propriétés statistiques des textes chiffrés ;
à la résistance aux classes d'attaques connues.
En pratique : tant qu'un crypto système symétrique n'a pas été cassé, il est bon, après il est
mauvais !
c. Les limites de la cryptographie Symétrique
La multiplication des clés
Pour que deux canaux de communications soient indépendants l'un de l'autre, c-à-d. qu'une
personne accède à l'un mais pas à l'autre, il faut que ces deux canaux utilisent des clés
différentes.
Il est possible qu'un des interlocuteurs connaissent plusieurs clés utilisés dans différents
canaux le reliant à des utilisateurs différents.
Exemple : l'utilisateur D possède une clé pour chaque lien (avec J, I, H, G, F et E).
Problème : comment échanger toutes ces clés ?
Pas d'intégrité et d'identification de l'auteur
Si Alice, Bob et Cédric partage le même lien de communication alors ils partagent la même
clé de chiffrement symétrique.
d. Cryptographie asymétrique
e. Cryptosystème RSA
La méthode de cryptographie RSA a été inventée en 1977 par Ron Rivest, Adi Shamir et
Len Adleman, à la suite de la découverte de la cryptographie à clé publique par Di ffie et
Hellman.
Le RSA est encore le système cryptographique à clé publique le plus utilisé de nos jours.
Il est intéressant de remarquer que leur invention est fortuite : au départ, Rivest, Shamir et
Adleman voulaient prouver que tout système à clé publique possède une faille. Ron Rivest
est né à New York en 1947, et devient cryptologue. Adi Shamir, d'origine Israëlienne, né à
Tel Aviv en 1952, est cryptologue et professeur au département de mathématiques
appliquées du Weizmann Institute of Science. Il est reconnu pour ses qualités de
cryptanalyste. Pour finir, Leonard Adleman, chercheur en informatique théorique et
professeur en informatique et en biologie moléculaire à l'Université de la Californie du
Sud, né en 1945.
e.1. Fonctionnement
Dans un réseau de 5 personnes communicant entre elles il faut n(n-1)/2 clés, soient 10 clés
différentes..
Algorithme DES
clé de 56 bits
chiffrement matériel : 300 Mbits/sec
chiffrement logiciel : 2,1 Mbits/sec
Inconvénient majeur : attaque « brute force » rendue possible par la puissance des
machines.
Usage : chiffrement rapide, adapté aux échanges de données de tous les protocoles de
communication sécurisés.
Comparaison et combinaison
La sécurité offerte par le chiffrement à clé
La sécurité d'un code à clé est proportionnelle à la taille de la clé employée, c-à-d. plus la clé
est longue plus il faut de calcul et donc de temps pour arriver à la casser.
Chiffrement par substitution : 26 lettres possibles associables, soit 26!(factorielle 26) soient
291 461
126 605 635 584 000 000 possibilités ! mais l'analyse fréquentielle pose problème...
Le chiffrement à clé : il protège des analyses fréquentielles ;
Attaque « brute force » : essayer toutes les clés possibles pour déchiffrer le message chiffré,
donc plus la clé est longue (nombre de bits) plus il y a de clé à essayer (2 fois plus de clé à
essayer pour chaque bit ajouté !).
La force de la sécurité est à mettre en rapport avec le type de données à sécuriser :
une transaction bancaire doit être sécurisée pendant quelques minutes
un document secret d'état doit pouvoir être protégé plus de 50 ans par exemple.
La vitesse
56
Avantage :
la clé secrète est chiffrée et échangée ;
après l'échange on bascule le chiffrement en utilisant un algorithme symétrique plus
rapide ;
on démarre l'échange avec l'utilisation d'un algorithme asymétrique qui possède
l'avantage d'offrir un moyen d'identifier les interlocuteurs.
57
Bibliographie