– Cours 5 –
Chapitre 4 : Cryptographie appliquées (1/2)
Méthodes de chiffrement
Staff pédagogique
Nom Grade Faculté/Institut Adresse e-mail
Radja Boukharrou MCB Nouvelles technologies radja.boukharrou@univ-constantine2.dz
Etudiants concernés
Faculté/Institut Département Année Spécialité
Nouvelles Technologies IFA Master 1 Réseaux et Systèmes Distribués (RSD)
Objectifs du cours 5
Comprendre le principe du chiffrement
Connaître les types de chiffrement
La cryptographie est une discipline qui regroupe l’ensemble de procédés permettant de transformer un
message, dit en clair, en un autre message dit chiffré, afin de rendre celui-ci illisible. Avec la cryptanalyse qui
consiste à reconstruire un message chiffré en clair à l’aide de méthodes mathématiques, la cryptographie
constitue la science de « cryptologie ».
Par ailleurs, le chiffrement d’un message est un procédé basé sur une clé cryptographique dite de
chiffrement, qui rend sa compréhension impossible sans une clé de déchiffrement. Ce mécanisme permet
principalement de protéger les données transportées. D’après le principe de Kerckhoffs [1] [2], la sécurité du
système de chiffrement doit reposer uniquement sur le secret de la clé de chiffrement et non sur celui de
l'algorithme utilisé. Le principal but du chiffrement est de garantir les différents services de sécurité, telles que
la confidentialité, l’authenticité et l’intégrité des données.
Historiquement, jusqu'au début du 20ème siècle, la cryptographie n'a pas toujours joué un rôle majeur, car
la rapidité de transmission d'une information primait souvent sur son secret. Durant la première guerre
mondiale, les communications entre l'état-major et les troupes se faisaient essentiellement par radio, ce qui
permettait de communiquer rapidement sur une grande distance, mais ces communications sont facilement
interceptables par l'ennemi. Donc, des moyens de chiffrement basiques ont été mis en œuvre, tels que les
systèmes Ubchi et ABC, cependant ces derniers n’étaient pas très efficaces car les messages pouvaient être
décryptés à la main avec des méthodes mathématiques astucieuses.
Durant la seconde guerre mondiale, une révolution technologique des méthodes cryptographiques a
émergé. Pour la première fois, les armées disposaient de moyens mécaniques qui permettent de concevoir des
systèmes cryptographiques. En effet, pour leur coordination tactique, les troupes de l’armée allemande
s’échangaient de nombreux messages radios chiffrés à l'aide de la machine Enigma [3]. Mais, une cryptanalyse
d'Enigma a été réalisée et automatisée par le britanique Alan Turing, permettant de décrypter les messages
chiffrés par cette machine, ce qui a fait basculer la guerre en faveur des alliés. C’était la naissance du premier
ordinateur [4].
Chiffrement ≠ Cryptage
Le mot "cryptage" n'existe pas dans la langue française : on dit chiffrer un message (c-à-d. remplacer un
caractère par un autre) ou coder le message (c-à-d. remplacer un mot par un autre), mais on ne dit jamais
crypter un message.
Depuis l'avènement du numérique, les paradigmes de chiffrement ont bien évolué. Le processus de chiffrement
s'est formalisé, même si la conception de système de chiffrement reste la même. Par ailleurs, la forme du
message chiffré s’est diversifiée, ce qui a engendré la proposition d’algorithmes modernes qui chiffrent des
suites de bits. La figure suivante décrit le principe d’une transmission sécurisée en utlisant le chiffrement des
messages.
Clé de Clé de
chiffrement déchiffrement
Il existe principalement trois types d’algorithmes cryptographiques : (1) Les algorithmes simples de
substitution, (2) les algorithmes de chiffrement symétriques, et (3) les algorithmes de chiffrement
asymétriques. Le choix du système cryptographique dépend des tâches à accomplir pour sécuriser les données.
2. Algorithmes de substitution
Le chiffrement par substitution, ou chiffrement simple, consiste à remplacer dans un message une ou plusieurs
entités par une ou plusieurs autres entités. Une entité peut être une lettre, un octet, ou une suite binaire [6].
Plusieurs types de chiffrement par substitution existent, on peut citer :
Chiffrement monoalphabétique, consistant à remplacer chaque caractère du message par un autre
caractère,
Chiffrement polyalphabétique, utilisant une suite de chiffres monoalphabétique réutilisée
périodiquement,
Chiffrement homophonique, permettant de faire correspondre à chaque caractère du message un
ensemble possible d'autres caractères,
Chiffrement polygrammes, consistant à substituer un groupe de caractères dans le message par un
autre groupe de caractères.
Depuis l’antiquité, les êtres humains ont essayé de proposer des mécanismes de chiffrement, notamment dans
le domaine militaire. Les algorithmes de chiffrement simples sont catégorisés selon : (1) le décalage de lettres
dans l’alphabet, par exemple, le chiffre de César, ou le chiffre de Vigenère ; et selon (2) le remplacement des
lettres par des symboles, tels que le code Morse, le code musical, ou l’alphabet des templiers.
Parmi les limites du chiffrement par substitution, ce dernier se casse facilement, car les lettres sont toujours
codées de la même manière. En effet, l’assaillant qui ne possède que le message chiffré, peut réaliser une
cryptanalyse de la fréquence de chaque symbole ou chaque groupe de symboles pour en extraire le message en clair.
Algorithmes de chiffrement par bloc (Block cipher) : Ce type d’algorithme opère sur le message
en clair par blocs de 𝑛 bits, c’est-à-dire, il prend 𝑛 bits en entrée, pour les chiffrer en 𝑛 bits en sortie.
Généralement, le découpage des données en blocs est de taille fixe. Cette dernière est comprise entre
32 et 512 bits, mais depuis 2000, le standard est de 128 bits.
Depuis 2012, le plus ancien algorithme symétrique DES qui est basé sur des clés codées sur 56 bits,
peut être cassé en moins de 26 heures. De ce fait, DES a été remplacé par des algorithmes plus
résistants, tels que AES, Triple DES et Blowfish.
Algorithmes de chiffrement par flot (Stream cipher) : Le chiffrement par flot consiste à chiffrer les
messages de longueur variable et n'a pas besoin de les découper en blocs. En effet, les messages sont
traités bit par bit en se basant sur le modèle du chiffre de Vernam [7]. Les algorithmes les plus courants
sont : RC4, A5/1 et RC5.
Remarque
Le chiffrement par bloc peut être converti en un chiffrement par flot grâce à un mode opératoire qui
permet de chaîner plusieurs blocs et traiter des données de taille variable.
Le tableau suivant décrit les principaux algorithmes de chiffrement symétrique utilisés à ce jour :
Triple DES IBM 1999 112 ou 168 bits Second meilleur choix
Twofish Shneier et al. 2000 128 à 256 bits Très fort, largement utilisé
AES Rijndael et al. 2000 128 à 256 bits Meilleur choix, très utilisé
Le principal avantage des algorithmes de chiffrement symétrique est leur temps de calcul qui est nettement
plus courts par rapport à leurs concurrents (algorithmes de chiffrement asymétrique). Cependant, ils possèdent
les limites suivantes :
Longueur de la clé secrète : Selon Shannon (1940) [8], les systèmes de chiffrement symétrique
doivent utiliser des clés d'une longueur au moins égale à celle du message à chiffrer, pour résister à
toutes les attaques par force brute ;
Echange de la clé secrète : Le chiffrement symétrique impose d'avoir un canal sécurisé pour l'échange
de la clé, ce qui diminue sérieusement l'intérêt d'un tel système de chiffrement ;
Nombres de clés : Sachant qu’une clé est nécessaire pour chaque échange, pour un groupe de 𝑁
utilisateurs s’échangeant entre eux, il est nécessaire de distribuer de manière sécurisée 𝑁 ∗ (𝑁 − 1)/2
clés secrètes.
Téléphone rouge
Pendant la guerre froide (1963-1990), les diplômates russes et américains prennaient l’avion
avec des valises contenant des cassettes de clés symétriques dans le but de les échanger dans
les ambassades. Ces clés servaient à chiffrer les communications téléphoniques entre les
deux nations, c’est ce qu’on appellais autrefois le « téléphone rouge ». La clé était changée
à chaque communication et détruite lorsque celle-ci était terminée.
1
En mathématiques, la factorisation consiste à écrire une expression algébrique, un nombre ou une matrice sous la forme
d'un produit.
logarithme discret [12]. Ce dernier est résoluble en se basant sur une recherche exhaustive mais
nécessite un temps relativement long. À l'heure actuelle, il n'existe pas d'algorithme à complexité
polynomiale effectuant cette opération.
Les limites auxquelles souffrent les algorithmes de chiffrement asymétrique, sont :
Longueur des clés : Pour des raisons de robustesse, les algorithmes asymétriques nécessitent de plus
en plus de clés publiques plus longues (actuellement, on utilise des clés RSA de 1024 bits),
Vulnérabilité du chiffrement : par sa nature mathématique, la cryptographie asymétrique est plus
vulnérable par rapport à la cryptographie symétrique,
Performance de l’algorithme : les algorithmes à clés publiques sont plus complexes donc plus lents
que ceux à clés secrètes, qui tournent eux jusqu’à près de 1000 fois plus vite.
Par conséquent, comme les clés éphémères ne sont jamais échangées et sont renégociées pour chaque nouvelle
session, le pire des cas est qu'un assaillant pourrait obtenir la clé éphémère d’une session en cours, ce qui lui
permet de déchiffrer uniquement les échanges de celle-ci. À cet effet, avec la clé éphémère actuelle obtenue,
l’assaillant ne pourrait déchiffrer ni les échanges précendents, ni ceux qui sont futurs.
Actuellement, la combinaison de l’échange de clés Diffie-Hellman et des clés de sessions éphémères, est
le mécanisme le plus utilisé pour sécuriser les échanges sur Internet. Ce mécanisme permet d’assurer la
propriété du secret de transfert parfait, dite PFS (Perfect Forward Secrecy).
2
Hachage : Ce mot est utilisé par analogie avec la cuisine, qui signifie la segmentation désordonnée des aliments.
En pratique, la combinaison des mécanismes de l’empreinte et de signature numériques fournit un moyen très
efficace pour garantir l’intégrité et l’authenticité des messages échangés. Concrètement, pour envoyer un
message signé, l’expéditeur doit suivre les étapes suivantes :
1) Une empreinte numérique, est générée à partir du message en utilisant un algorithme de hachage, par
exemple SHA-256 ;
2) Cette empreinte est signée à l'aide de la clé privée de l'expéditeur ;
3) Le message est joint par son empreinte signée, pour être chiffré en utilisant la clé publique du
destinataire.
Exp Dest
Hachage
Dest
Message
Déchiffrement ?
Comparaison
Déchiffrement
Signature Empreinte
Destinataire Message Message numérique numérique
chiffré Exp
signé
destinataire par la sienne. Après le déchiffrement du message, l’assaillant pourrait chiffrer le message de
nouveau avec la clé publique du destinataire réel, et lui envoyer le message pour éviter la détection de
l'intrusion. Ceci est connu sous le nom de l’attaque de l'homme du milieu (Man-in-the-middle).
Les protocoles de chiffrement de bout en bout incluent un sous-protocole d'authentification des entités
communicantes, pour prévenir les attaques de l'homme du milieu. La meilleure solution actuelle consiste à se
fier à un tiers de confiance, qui atteste l’identité des interlocuteurs d’une communication, par le biais de
certificats numériques. En effet, la cryptographie asymétrique se base sur les certificats pour éviter les
problèmes d'usurpation d'identité à travers l'utilisation de fausses clés publiques. Aujourd’hui, c’est la
technique utilisée pour sécuriser les échanges sur Internet.
Liens utiles
Les étudiants peuvent consulter les liens suivants pour approfondir leurs connaissances dans ce cours :
La machine Enigma et les clés secrètes : https://www.youtube.com/watch?v=oGDPtm8pYPM
Explication du chiffrement AES : https://www.youtube.com/watch?v=gP4PqVGudtg
En route pour la cryptographie RSA : https://www.youtube.com/watch?v=oRM-gNrbcgE
Références