La cryptologie est un art ancien et une science nouvelle : un art ancien car les
Spartiates l'utilisaient déjà (la scytale) ; une science nouvelle parce que ce n'est
un thème de recherche scientifique académique, c'est-à-dire universitaire, que
depuis les années 1970. Cette discipline est liée à beaucoup d'autres, par
exemple l'arithmétique modulaire, l'algèbre, la théorie de la complexité, la
théorie de l'information, ou encore les codes correcteurs d'erreurs.
1. Université Mohammed Premier
Ecole supérieur de technologie
OUJDA
Cryptologie
Terminologie -Historique – Méthodes de Chiffrement
Réalisé par: Imran YAZIDI & Mohamed EL BRIKI
Encadré par : M. A.BENAZZI
Année universitaire : 2017/2018
2. 1
Sommaire
1. Introduction..................................................................................................................................... 2
2. Chapitre 1 : Terminologie et historique de la cryptologie.............................................................. 3
2.1. Terminologie............................................................................................................................ 3
2.1.1. Cryptographie.................................................................................................................. 3
2.1.2. Cryptanalyse.................................................................................................................... 3
2.1.3. Cryptage .......................................................................................................................... 4
2.1.4. Décryptage ...................................................................................................................... 4
2.1.5. Crypto-Système ............................................................................................................... 5
2.1.6. Hachage........................................................................................................................... 5
2.1.7. Chiffrement ..................................................................................................................... 6
2.1.8. Déchiffrement ................................................................................................................. 6
2.2. Historique................................................................................................................................ 6
2.2.1. Méthodes de chiffrement de l’antiquité......................................................................... 6
1.1.1. La première guerre mondiale.......................................................................................... 7
1.1.2. La deuxième guerre mondiale......................................................................................... 8
1.1.3. Cryptologie moderne....................................................................................................... 8
2. Chapitre2 : Méthodes de chiffrement........................................................................................... 10
2.1. Cryptographie classique ........................................................................................................ 10
2.1.1. Chiffrement par substitution mono-alphabétique........................................................ 10
2.1.2. Méthode MATHWEB ..................................................................................................... 10
2.1.3. Méthode AtBash........................................................................................................... 11
2.1.4. Méthode de César......................................................................................................... 11
2.1.5. Chiffre de Vigenère........................................................................................................ 12
2.2. Cryptographie symétrique..................................................................................................... 15
2.2.1. Principe des algorithmes symétrique............................................................................ 15
2.2.2. Algorithmes de chiffrement de flux .............................................................................. 15
2.2.3. Algorithmes de chiffrement par bloc ............................................................................ 16
2.3. Cryptographie asymétrique................................................................................................... 17
2.3.1. Principe des algorithmes asymétrique.......................................................................... 17
2.3.2. Algorithme RSA.............................................................................................................. 18
3. Webographie................................................................................................................................. 22
3. 2
1. Introduction
La cryptologie, étymologiquement la science du secret, ne peut être vraiment
considérée comme une science que depuis peu de temps. Cette science
englobe la cryptographie — l'écriture secrète – et la cryptanalyse – l'analyse de
cette dernière.
La cryptologie est un art ancien et une science nouvelle : un art ancien car les
Spartiates l'utilisaient déjà (la scytale) ; une science nouvelle parce que ce n'est
un thème de recherche scientifique académique, c'est-à-dire universitaire, que
depuis les années 1970. Cette discipline est liée à beaucoup d'autres, par
exemple l'arithmétique modulaire, l'algèbre, la théorie de la complexité, la
théorie de l'information, ou encore les codes correcteurs d'erreurs.
Dans ce rapport, on a créé deux chapitres. Le premier chapitre « Terminologie
et historique de la cryptologie» explique quelques termes liés au science de la
cryptologie, à l’exemple de cryptographie, cryptage, décryptage, codage et
décodage.. Et dans la deuxième partie qui concerne l’histoire de la cryptologie
de l’antiquité jusqu'à la cryptologie moderne, en passant par stations très
importantes : la première guerre et la deuxième guerre.
Le deuxième chapitre « Cryptographie et méthodes de chiffrement » exposera
quelques algorithmes de chiffrement avec l’explication. Ce chapitre est composé
par trois types de méthodes : la cryptographie classique, la cryptographie
symétrique et enfin la cryptographie asymétrique.
4. 3
2. Chapitre 1 : Terminologie et historique de la
cryptologie
2.1. Terminologie
2.1.1.Cryptographie
La cryptographie qui est l’étude des algorithmes permettant la protection
d’informations (numériques). Ces algorithmes sont appelés Crypto-Systèmes.
La cryptographie protège l’information de différentes manières :
- Confidentialité : pour s’assurer que l’information ne soit seulement accessible
qu’à ceux dont l’accès est autorisé.
- Authenticité : vérifier l’identité d’une personne ou d’un matériel informatique
- Intégrité : pouvoir affirmer que les données ont ou n’ont pas été modifiées
Ces moyens doivent reposer sur des secrets :
- Clé secrète: cryptographie symétrique.
- Clé publique/sécrète : cryptographie asymétrique.
-
2.1.2.Cryptanalyse
La cryptanalyse qui est l’étude du niveau de sécurité des crypto systèmes
fournis par les cryptographes.
Peut essentiellement se diviser en deux grandes familles d’attaques qui
viseront deux cibles différentes :
- Algorithmes : ici l’attaquant essaie de trouver des algorithmes
efficaces pour résoudre les problèmes mathématiques sur lesquels reposent les
crypto systèmes
5. 4
- Implémentations matérielles : ici l’attaquant utilisera les fuites
d’information lors de l’exécution d’un Crypto-Système pour retrouver les
secrets.
2.1.3.Cryptage
On parle de cryptage ou de chiffrement lorsqu'on met en place un système qui
sert à prendre des données afin de les passer dans une sorte de moulinette qui
va les rendre incompréhensibles.
Cette sorte de moulinette est ce qu'ont appelé algorithme de chiffrement ou
algorithme de cryptage. Cet algorithme permettra d'envoyer des données et
permettre exclusivement à ceux qui sont en possession de la clé de chiffrement
de pouvoir lire les données chiffrées.
Voici un petit schéma qui permettra d'illustrer un peu le principe.
2.1.4.Décryptage
6. 5
Consiste à retrouver le message clair correspondant à un message chiffré sans
posséder la clé de déchiffrement ! (terme que ne possèdent pas les
anglophones, qui eux « cassent » des codes secrets).
En bref, on a, comme tout à l’heure, un message chiffré, seulement on ne
possède pas la clé de déchiffrement cette fois. On va donc essayer de décrypter
le message chiffré, c’est-à-dire de casser le code pour le rendre intelligible.
2.1.5.Crypto-Système
Un crypto-système a pour but de chiffrer un message clair en un message
chiffré (Cryptogramme) suivant des techniques complexes, incompréhensible
par toute personne curieuse (Cryptanaliste ou décrypteur) différente du
destinataire légitime.
2.1.6.Hachage
Ce qui est intéressant dans le hachage, ce n’est pas les données elles-mêmes
mais leurs signatures. Puisque chaque donnée à sa propre signature, on peut se
dire que si les signatures sont identiques alors les données sont identiques. Et à
l’inverse, si les signatures sont différentes alors les données sont forcément
différentes. Donc le hachage est utilisé pour comparer les données (en
comparant les signatures).
Quelques fonctions de hachage célèbres :
7. 6
1. MD5 (Message Digest 5) : fonction de hachage cryptographique qui permet
d'obtenir l'empreinte numérique d'un fichier.
2. SHA1 (Secure Hash Algorithm) : fonction de hachage cryptographique
conçue par la National Security Agency des États-Unis (NSA), et publiée par
le gouvernement des États-Unis comme un standard fédéral de traitement
de l'information (Federal Information Processing Standard du National
Institute of Standards and Technology (NIST)).
3. SHA2 (Secure Hash Algorithm) : famille de fonctions de hachage qui ont été
conçues par la National Security Agency des États-Unis (NSA), sur le modèle
des fonctions SHA-1 et SHA-0, elles-mêmes fortement inspirées de la
fonction MD4 de Ron Rivest (qui a donné parallèlement MD5).
2.1.7.Chiffrement
Chiffrement est le procédé avec lequel on rend la compréhension d’un
document impossible à toute personne qui n’a pas la clé de déchiffrement.
Concrètement, lorsqu’on chiffre un document, on transforme à l’aide de la clé
de chiffrement un message en clair en un message incompréhensible (dit texte
chiffré) pour celui qui ne dispose pas de la clé de déchiffrement.
2.1.8.Déchiffrement
Déchiffrement est logiquement l’opération inverse du chiffrement. C’est donc
le processus transformant le texte chiffré en texte clair. Concrètement, cela
consiste à retrouver le message original d’un texte chiffré dont on possède la
clé de déchiffrement.
2.2. Historique
2.2.1. Méthodes de chiffrement de l’antiquité
8. 7
La technique grecque :
La première grande compilation des procédés cryptographique et
sténographique pratiqués durant l'Antiquité.
Entre le Xe et le VIIe siècle av. J.-C. semble attestée une technique de
chiffrement par transposition, c'est-à-dire reposant sur le changement de
position des lettres dans le message, en utilisant un bâton de diamètre
déterminé appelé scytale. On enroulait en hélice une bande de cuir autour de
la scytale avant d'y inscrire un message. Une fois déroulé, le message était
envoyé au destinataire qui possédait un bâton identique, nécessaire au
déchiffrement. Cependant, l'utilisation de la scytale lacédémonienne comme
procédé cryptographique n'est explicitement affirmée que par Plutarque et
Aulu-Gelle, auteurs de la fin de l'Antiquité, et n'est pas mentionnée par Énée le
Tacticien : dès lors, la scytale a-t-elle véritablement été un procédé
cryptographique ?
Méthode de chiffrement :
Son système est simple, il consiste à décaler les lettres de l'alphabet d'un
nombre n. Par exemple, si on remplace A par D (n=3), on remplace B par E, C
par F…
Le texte que nous souhaitons chiffrer étant le suivant : « décaler les lettres de
l'alphabet »
Le texte chiffré est alors : « ghfdohu ohv ohwwuhv gh o'doskdehw »
1.1.1.La première guerre mondiale
La Première Guerre mondiale marque la victoire tant attendue de la
cryptanalyse face à la cryptographie empêtrée dans des impératifs d'efficacité :
ne pas confondre les deux sciences qui doivent être soigneusement
distinguées.
Pendant la guerre de 14-18, la maîtrise cryptographique des Français les aident
considérablement à décrypter les messages ennemis, leur procurant un
avantage très important sur l'ennemi. En 1914, le premier décryptage est fait
9. 8
par le commandant Louis Thévenin qui donne aux alliés un avantage important
dès le début du conflit (association du chiffre et de la sécurité de l'information
n°28/2000). Le décryptage d'un radio télégramme allemand par le lieutenant
Georges Painvin s'est ainsi révélé déterminant pour contrer une des dernières
offensives allemandes. Évoquant ce lieutenant, Georges Clemenceau aurait
prétendu qu'à lui tout seul il valait un corps d'armée.
1.1.2.La deuxième guerre mondiale
La cryptologie a joué un rôle décisif pendant la Seconde Guerre mondiale. Les
exploits des alliés en matière de cryptanalyse auraient permis d'écourter la
guerre (de un à deux ans, selon certains spécialistes). Churchill citait la
cryptologie comme l'un des facteurs clés de la victoire.
La machine Enigma :
L'histoire de la machine Enigma commence en 1919, quand un ingénieur
hollandais, Hugo Alexander Koch (en), dépose un brevet de machine à chiffrer
électromécanique.
Le fonctionnement d'Enigma :
Le chiffrement effectué par la machine Enigma est à la fois simple et astucieux.
Chaque lettre est remplacée par une autre, l'astuce est que la substitution
change d'une lettre à l'autre. La machine est alimentée par une pile électrique.
Quand on appuie sur une touche du clavier, un circuit électrique est fermé, et
une lettre d'un tableau d'affichage s'allume qui indique par quelle substitution
le chiffrement a été effectué.
1.1.3.Cryptologie moderne
10. 9
L’ingénieur Claude Shannon (ingénieur en génie électrique et mathématicien
américain) est considéré par plusieurs comme le père de la cryptographie
mathématique. Il a travaillé pendant plusieurs années dans les Laboratoires
Bell où il a produit un article intitulé A Mathematical Theory of Cryptography
(Une théorie mathématique de la cryptographie). Cet article a été écrit en 1945
et a été publié dans le Bell System Technical Journal en 1949. Shannon a
continué son travail en produisant un autre article intitulé A Mathematical
Theory of Communication. La guerre avait poussé Shannon à s'intéresser à la
cryptographie parce que les messages secrets sont une application intéressante
de la théorie de la communication. Il est communément admis que son premier
article, publié en 1949, a été le point de départ du développement de la
cryptologie moderne.
Shannon est proposée deux principaux objectifs de cryptographie :
- Le secret.
- L’authentification.
11. 10
2. Chapitre2 : Méthodes de chiffrement
2.1. Cryptographie classique
2.1.1.Chiffrement par substitution mono-alphabétique
Le chiffrement par substitution mono-alphabétique (on dit aussi les alphabets
désordonnés) est le plus simple à imaginer. Dans le message clair (que nous
convenons toujours écrit en majuscule), on remplace chaque lettre par une
lettre différente. Donnons un exemple; nous opérons la substitution suivante :
Text
e
clair
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Text
e
codé
WX E H Y Z T K C P J I U A D G L Q M N R S F V B O
Le texte que nous souhaitons crypter est le suivant :
UN PETIT ROSEAU M'A SUFFI POUR FAIRE FREMIR L'HERBE HAUTE ET TOUT LE
PRE ET LES DOUX SAULES ET LE RUISSEAU QUI CHANTE AUSSI.
Le texte codé est alors :
RA GYNCN QDMYWR U'W MRZZCN GDRQ ZWCQY ZQYUCQ I'KYQXY KWRNY YN
NDRN IY GQY YN IYM HDRV MWRIYM LRC EKWANYAN WRMMC.
2.1.2.Méthode MATHWEB
Une autre des façons les plus courantes de définir une substitution est de se
mettre d'accord sur un mot-clé facile à retenir, mettons MATHWEB, et de
compléter ensuite le tableau par ordre alphabétique. Ceci donne ici :
Texte
clair
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Texte
codé
M A T H W E B C D F G I J K L N O P Q R S U V X Y Z
12. 11
2.1.3.Méthode AtBash
Il consiste simplement à écrire l'alphabet en sens contraire :
Text
e
clair
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Text
e
codé
Z Y X W V U T S R Q P O N M L K J I H G F E D C B A
Bien sûr, la sûreté d'un tel codage est quasi-nulle, puisqu'il suffit de connaitre
l'algorithme de codage pour pouvoir décoder immédiatement (il n'y a pas de
clé à choisir). Remarquons toutefois une propriété du code Atbash : il est
réversible, c'est-à-dire que c'est le même algorithme qui code et décode le
texte.
2.1.4.Méthode de César
Le chiffre de César est la méthode de cryptographie la plus ancienne
communément admise par l'histoire. Il consiste en une substitution mono-
alphabétique : chaque lettre est remplacée ("substitution") par une seule autre
("mono-alphabétique"), selon un certain décalage dans l'alphabet ou de façon
arbitraire. D'après Suétone, César avait coutume d'utiliser un décalage de 3
lettres : A devient D, B devient E, C devient F, etc. Il écrivait donc son message
normalement, puis remplaçait chaque lettre par celle qui lui correspondait :
CLAIR A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
-> décalage = 3
CODE D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
13. 12
Exemple : d'après cette méthode, "VIVE LES MATHS" devient donc "YLYH OHV
PDWKV" !
2.1.5.Chiffre de Vigenère
Blaise de Vigenère (1523-1596), diplomate français, se familiarisa avec les écrits
d'Alberti, Trithème et Porta à Rome, où, âgé de vingt-six ans, il passa deux
années en mission diplomatique. Au début, son intérêt pour la cryptographie
était purement pratique et lié à son activité diplomatique. Une dizaine
d'années plus tard, vers 1560, Vigenère considéra qu'il avait mis de côté assez
d'argent pour abandonner sa carrière et se consacrer à l'étude. C'est seulement
à ce moment-là qu'il examina en détail les idées de ses prédécesseurs, tramant
grâce à elles un nouveau chiffre, cohérent et puissant. Bien
qu'Alberti, Trithème, Bellaso et Porta en aient fourni les bases, c'est du nom de
Vigenère que ce nouveau chiffre fut baptisé, en l'honneur de l'homme qui lui
donna sa forme finale.
Le chiffre de Vigenère 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 peut résumer ces décalages avec un 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: chiffrons 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).
Clair C H I F F R E D E V I G E N E R E
Clef B A C H E L I E R B A C H E L I E
Décalage 1 0 2 7 4 11 8 4 17 1 0 2 7 4 11 8 4
Chiffré D H K M J C M H V W I I L R P Z I
La grande force du chiffre de Vigenère est que la même lettre sera chiffrée de
différentes manières. Par exemple le E du texte clair ci-dessus a été chiffré
successivement M V L P I, ce qui rend inutilisable l'analyse des fréquences
classique. Comparons les fréquences des lettres d'une fable de la Fontaine (Le
14. 13
chat, la belette et le petit lapin) chiffrée avec une substitution simple et celles
de la même fable chiffrée avec le chiffre de Vigenère:
Substitution simple Chiffre de Vigenère
On voit bien que l'histogramme n'a plus rien à voir avec celui d'une substitution
simple: il est beaucoup plus "plat".
Ce chiffre, qui a résisté trois siècles aux cryptanalyses, est pourtant
relativement facile à casser, grâce à une méthode mise au point
indépendamment par Babagge et Kasiski. Une autre méthode complètement
différente a été encore mise au point plus tard par le commandant Bazeries.
Si la clef est aussi longue que le texte clair, et moyennant quelques précautions
d'utilisation, le système est appelé masque jetable.
16. 15
2.2. Cryptographie symétrique
La cryptographie symétrique, également dite à clé secrète (par opposition à la
cryptographie asymétrique), est la plus ancienne forme de chiffrement. Elle
permet à la fois de chiffrer et de déchiffrer des messages à l'aide d'un même
mot clé.
2.2.1.Principe des algorithmes symétrique
Figure 2: Principe algorithme symétrique
2.2.2.Algorithmes de chiffrement de flux
Le chiffrement de flux, chiffrement par flot ou chiffrement en continu (en
anglais stream cipher) est une des deux grandes catégories de chiffrements
modernes en cryptographie symétrique, l'autre étant le chiffrement par bloc.
Un chiffrement par flot arrive à traiter les données de longueur quelconque et
n'a pas besoin de les découper.
Une liste non-exhaustive de chiffrements par flot :
A5/1, algorithme publié en 1994, utilisé dans les téléphones mobiles de
type GSM pour chiffrer la communication par radio entre le mobile et
l'antenne-relais la plus proche ;
RC4, le plus répandu, conçu en 1987 par Ronald Rivest, utilisé notamment
par le protocole WEP du Wi-Fi ;
Py, un algorithme récent de Eli Biham ;
E0 utilisé par le protocole Bluetooth.
Un chiffrement par flot se présente souvent sous la forme d'un générateur de
nombres pseudo-aléatoires avec lequel on opère un XOR entre un bit à la sortie
17. 16
du générateur et un bit provenant des données. Toutefois, le XOR n'est pas la
seule opération possible ; la seule contrainte sur cette opération est qu’elle
doit être inversible (la disjonction exclusive est même involutive), comme
l’opération d'addition dans un groupe est également envisageable (par
exemple, addition entre deux octets, modulo 256). Un 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 quelconque.
2.2.3.Algorithmes de chiffrement par bloc
Le chiffrement par bloc (en anglais block cipher) est une des deux grandes
catégories de chiffrements modernes en cryptographie symétrique, l'autre
étant le chiffrement par flot. La principale différence vient du découpage des
données en blocs de taille généralement fixe. La taille de bloc est comprise
entre 32 et 512 bits, dans le milieu des années 1990 le standard était de 64 bits
mais depuis 2000 et le concours AES le standard est de 128 bits. Les blocs sont
ensuite chiffrés les uns après les autres. Il est possible de transformer un
chiffrement de bloc en un chiffrement par flot en utilisant un mode
d'opération comme ECB (chaque bloc chiffré indépendamment des autres) ou
CFB (on chaîne le chiffrement en effectuant un XOR entre les résultats
successifs).
Une liste non-exhaustive de chiffrements par bloc :
DES, l'ancêtre conçu dans les années 1970, a été passablement étudié
AES, le remplaçant de DES
Blowfish, Serpent et Twofish, des alternatives à AES
Il y en a encore bien d'autres qui sont adaptés à des besoins particuliers.
Certains consomment plus de mémoire ou sont plus gourmands en puissance
de calcul. Un chiffrement par bloc peut également être utilisé comme
une fonction de hachage, c'est-à-dire une fonction à sens unique. Une variante
de DES est employée pour le système de mots de passe dans Unix. Une chaîne
contenant uniquement des zéros est chiffrée avec une clé correspondant au
mot de passe (une composante aléatoire appelée "sel" est encore intégrée à
l'algorithme). Ce chiffrement est itératif et se fait 25 fois avant d'obtenir le
résultat final.
18. 17
2.3. Cryptographie asymétrique
2.3.1.Principe des algorithmes asymétrique
La cryptographie asymétrique est un domaine de la cryptographie où il existe
une distinction entre des données publiques et privées, en opposition à la
cryptographie symétrique où la fonctionnalité est atteinte par la possession
d'une donnée secrète commune entre les différents participants.
La cryptographie asymétrique peut être illustrée avec l'exemple du chiffrement
à clef publique et privée, qui est une technique de chiffrement, c'est-à-dire que
le but est de garantir la confidentialité d'une donnée. Le terme asymétrique
s'applique dans le fait qu'il y a deux clefs (que l'utilisateur qui souhaite recevoir
des messages fabrique lui-même), telles que si l'utilisateur utilise une première
clef dans un algorithme dit « de chiffrement », la donnée devient inintelligible à
tous ceux qui ne possèdent pas la deuxième clef, qui peut retrouver le message
initial lorsque cette deuxième clef est donnée en entrée d'un algorithme dit
« de déchiffrement ».
Par convention, on appelle la clef de déchiffrement la clef privée et la clef de
chiffrement la clef publique.
La clef qui est choisie privée n'est jamais transmise à personne alors que la clef
qui est choisie publique est transmissible sans restrictions.
Ce système permet deux choses majeures :
Chiffrer le message à envoyer : l'expéditeur utilise la clef publique du
destinataire pour coder son message. Le destinataire utilise sa clef privée
pour décoder le message de l'expéditeur, garantissant la confidentialité du
contenu.
S'assurer de l'authenticité de l'expéditeur : L'expéditeur utilise sa clef privée
pour coder un message que le destinataire peut décoder avec la clef
publique de l'expéditeur ; c'est le mécanisme utilisé par la signature
numérique pour authentifier l'auteur d'un message.
19. 18
Figure 3: Principe des algorithmes asymétriques
2.3.2.Algorithme RSA
Le chiffrement RSA (nommé par les initiales de ses trois inventeurs) est un
algorithme de cryptographie asymétrique, très utilisé dans le commerce
électronique, et plus généralement pour échanger des données confidentielles
sur Internet. Cet algorithme a été décrit en 1977 par Ronald Rivest, Adi Shamir
et Leonard Adleman.
20. 19
Le chiffrement RSA est asymétrique : il utilise une paire de clés (des nombres
entiers) composé d'une clé publique pour chiffrer et d'une clé
privée pour déchiffrer des données confidentielles. Les deux clés sont créées
par une personne, souvent nommée par convention Alice, qui souhaite que lui
soient envoyées des données confidentielles. Alice rend la clé publique
accessible. Cette clé est utilisée par ses correspondants (Bob, etc.) pour chiffrer
les données qui lui sont envoyées. La clé privée est quant à elle réservée à
Alice, et lui permet de déchiffrer ces données. La clé privée peut aussi être
utilisée par Alice pour signer une donnée qu'elle envoie, la clé publique
permettant à n'importe lequel de ses correspondants de vérifier la signature.
Une condition indispensable est qu'il soit « calculatoirement impossible » de
déchiffrer à l'aide de la seule clé publique, en particulier de reconstituer la clé
privée à partir de la clé publique, c'est-à-dire que les moyens de calcul
disponibles et les méthodes connues au moment de l'échange (et le temps que
le secret doit être conservé) ne le permettent pas.
Le chiffrement RSA est souvent utilisé pour communiquer une clé
de chiffrement symétrique, qui permet alors de poursuivre l'échange de façon
confidentielle : Bob envoie à Alice une clé de chiffrement symétrique qui peut
ensuite être utilisée par Alice et Bob pour échanger des données.
2.3.2.1. Création de clé
L'étape de création des clés est à la charge d'Alice. Elle n'intervient pas à
chaque chiffrement car les clés peuvent être réutilisées, la difficulté première,
que ne règle pas le chiffrement, est que Bob soit bien certain que la clé
publique qu'il détient est celle d'Alice. Le renouvellement des clés n'intervient
que si la clé privée est compromise, ou par précaution au bout d'un certain
temps (qui peut se compter en années).
Choisir p et q, deux nombres premiers distincts ;
Calculer leur produit n = pq, appelé module de chiffrement ;
calculer φ(n) = (p - 1)(q -1) (c'est la valeur de l'indicatrice d'Euler en n) ;
Choisir un entier naturel e premier avec φ(n) et strictement inférieur à φ(n),
appelé exposant de chiffrement ;
21. 20
Calculer l'entier naturel d, inverse de e modulo φ(n), et strictement inférieur à
φ(n), appelé exposant de déchiffrement ; d peut se calculer efficacement par
l'algorithme d'Euclide étendu.
Comme e est premier avec φ(n), d'après le théorème de Bachet-Bézout il existe
deux entiers d et k tels que ed + kφ(n) = 1, c'est-à-dire que ed ≡ 1 ( mod φ(n) ) :
e est bien inversible modulo φ(n).
Le couple (n,e) est la clé publique du chiffrement, alors que le nombre d’est sa
clé privée, sachant que l'opération de déchiffrement ne demande que la clef
privée d et l'entier n, connu par la clé publique (la clé privée est parfois aussi
définie comme le triplet (p, q, d)).
2.3.2.2. Chiffrement de message
Si M est un entier naturel strictement inférieur à n représentant un message,
alors le message chiffré sera représenté par :
L’entier naturel C étant choisi strictement inférieur à n.
2.3.2.3. Déchiffrement de message
Pour déchiffrer C, on utilise d, l'inverse de e modulo (p – 1)(q – 1), et l'on
retrouve le message clair M par :
2.3.2.4. Exemple
Un exemple avec de petits nombres premiers (en pratique il faut de très grands
nombres premiers) :
22. 21
On choisit deux nombres premiers p = 3, q = 11 ;
Leur produit n = 3 × 11 = 33 est le module de chiffrement ;
φ(n) = (3 – 1) × (11 – 1) = 2 × 10 = 20 ;
On choisit e= 3 (premier avec 20) comme exposant de chiffrement ;
L’exposant de déchiffrement est d = 7, l'inverse de 3 modulo 20 (en effet ed = 3
× 7 ≡ 1 mod 20).
La clé publique d'Alice est (n, e) = (33, 3), et sa clé privée est (n, d) = (33, 7). Bob
transmet un message à Alice.
Chiffrement de M = 4 par Bob avec la clé publique d'Alice : 43 ≡ 31 mod 33, le
chiffré est C = 31 que Bob transmet à Alice ;
Déchiffrement de C = 31 par Alice avec sa clé privée : 317 ≡ 4 mod 33, Alice
retrouve le message initial M = 4.
Le mécanisme de signature par Alice, à l'aide de sa clé privée, est analogue, en
échangeant les clés.