Académique Documents
Professionnel Documents
Culture Documents
cryptographie
Mars 2019
Version 1.0
Table des
matières
Objectifs 3
Introduction 4
3. Exercice .......................................................................................................................................................... 8
3. Exercice ........................................................................................................................................................ 11
5. Exercice ........................................................................................................................................................ 16
Abréviations 20
Objectifs
3
Introduction
La cryptographie est une des disciplines de la cryptologie qui vise à protéger des messages (confidentialité,
authenticité et intégrité) en s'aidant souvent de secrets ou clés. Elle se distingue de la stéganographie qui fait passer
inaperçu un message dans un autre message alors que la cryptographie rend un message inintelligible à tout usager
autre que le destinataire.
Les domaines d'utilisations de la cryptographie sont très vastes et vont du domaine militaire, au commercial, en
passant par la protection de la vie privée.
La cryptographie utilise des concepts issus de nombreux domaines ( Informatique, Mathématiques, Électronique).
Toutefois, les techniques évoluent et trouvent aujourd'hui régulièrement racine dans d'autres branches ( Biologie,
Physique, etc.)
4
Définitions et objectifs de la cryptographie
Définitions et objectifs
de la cryptographie I
Objectifs
Définir la cryptographie et ses objectifs.
1. Vocabulaire de base
Définition : La cryptologie
La cryptologie (science du secret par étymologie) est une science mathématique comportant deux branches :
Définition : La cryptographie
Le mot cryptographie vient des mots en grec ancien
La cryptographie est l'étude des méthodes donnant la possibilité d'envoyer des données de manière
confidentielle sur un support donné.
Définition : Le chiffrement
Le chiffrement consiste à transformer une donnée (texte, message, ...) afin de la rendre incompréhensible par
une personne autre que celui qui a créé le message et celui qui en est le destinataire. La fonction permettant de
retrouver le texte clair à partir du texte chiffré porte le nom de déchiffrement.
Dans le cas d'un algorithme symétrique, la clef est identique lors des deux opérations. Dans le cas d' algorithmes
asymétriques, elle diffère pour les deux opérations.
5
Vocabulaire de base
Définition : La cryptanalyse
La cryptanalyse est la technique qui consiste à déduire un texte clair à partir d'un texte chiffré sans posséder la
clé de chiffrement.
Définition : Le cryptosystème
Le cryptosystème est défini comme l'ensemble des clés possibles (espace des clés), des textes clairs (espace des
messages) et chiffrés (espace des cryptogrammes) possibles associés à un algorithme donné. Cet algorithme est
en réalité un triplet d'algorithmes :
Le processus par lequel on tente de comprendre un message en particulier est appelé une attaque. En fonction
des données qu'elle nécessite, on distingue les attaques suivantes :
- attaque sur texte chiffré seul (ciphertext-only attack) : le cryptanalyste possède des exemplaires chiffrés des
messages, il peut faire des hypothèses sur les messages originaux qu'il ne possède pas. La cryptanalyse
est plus ardue de par le manque d'informations à disposition.
- attaque à texte clair connu (known-plaintext attack) : le cryptanalyste possède des messages ou des parties
de messages en clair ainsi que les versions chiffrées.
- attaque à texte clair choisi (chosen-plaintext attack) : le cryptanalyste possède des messages en clair, il peut
créer les versions chiffrées de ces messages avec l'algorithme que l'on peut dès lors considérer comme
une boîte noire.
- attaque à texte chiffré choisi (chosen-ciphertext attack) : le cryptanalyste possède des messages chiffrés et
demande la version en clair de certains de ces messages pour mener l'attaque.
6
Objectifs de la cryptographie
Remarque
On parle de "décryptage" pour désigner l'action permettant de retrouver le texte clair sans connaître la clef de
déchiffrement. On emploie également les termes "cryptage" et "crypter" pour qualifier l'action de chiffrer un
message. Les mots "encryptage" et "(en)cryptement" sont des anglicismes dérivés du verbe "to encrypt".
Fondamental : Notation
2. Objectifs de la cryptographie
La cryptographie répond à quatre besoins :
7
Exercice
Exercice
Le peut être définie comme une opération qui transforme un texte en un
texte chiffré, appelé .
Exercice
Quels sont les objectifs de la cryptographie ?
Exercice
Identifier les branches de la cryptologie
le cryptogramme
la cryptographie
la stéganographie
la cryptanalyse
le cryptosystème
8
Principe de Kerckhoff et publication des algorithmes
Principe de Kerckhoff et
publication des II
algorithmes
Objectifs
Relier le principe de Kerckhoffs aux algorithmes secrets et publiés
1. Principe de Kerckhoffs
Le principe de Kerckhoffs, formalisé par Auguste Kerckhoffs est à l'origine de systèmes de cryptographie
modernes. En 1883, il publie un article intitulé la cryptographie militaire dans le Journal des Sciences Militaires,
qui constitue une référence de la cryptographie du XIXe siècle. Il est le premier à avoir formalisé l'idée que
faire reposer un système cryptographique sur le secret comme cela avait été le cas jusque là est illusoire car un
jour ou l'autre le secret sera percé (ou divulgué). Au contraire la sécurité du système ne doit que dépendre d'un
paramètre aisément modifiable : la clé, tous les autres étant publiquement connus. Cela revient à la formulation
appelée maxime de Shannon : l'adversaire connaît le système.
Ce sont surtout les trois premières conditions qui sont novatrices à l'époque, et c'est la seconde qui constitue
essentiellement le principe de Kerckhoffs.
Aujourd'hui les deux premières conditions sont toujours en vigueur. Pour la troisième il en est différemment
car la plupart des clés sont une longue liste de caractères. Pour la quatrième il suffit de remplacer télégraphique
par électronique, quant aux deux dernières elles n'ont plus d'intérêt car n'importe quel ordinateur fait l'affaire.
9
Publication des algorithmes
Remarque
Il faut distinguer les termes "Secret" et "Robustesse" d'un algorithme. Le secret de l'algorithme revient à cacher
les concepts de celui-ci, ainsi que les méthodes utilisées (fonctions mathématiques). La robustesse quant à elle
désigne la résistance de l'algorithme à diverses attaques.
En conséquence, on préférera les algorithmes publiés, souvent plus sûrs pour les raisons explicitées ci-dessus.
10
Exercice
Exercice
Lequel de ces énoncés constitue le principe de Kerckhoffs ?
La clef doit pouvoir en être communiquée et retenue sans le secours de notes écrites, et être changée ou
modifiée au gré des correspondants.
Il est nécessaire, vu les circonstances qui en commandent l'application, que le système soit d'un usage
facile, ne demandant ni tension d'esprit, ni la connaissance d'une longue série de règles à observer.
Il faut que le système soit portatif, et que son maniement ou son fonctionnement n'exige pas le concours
de plusieurs personnes.
Il faut que le système n'exige pas le secret, et qu'il puisse sans inconvénient tomber entre les mains de
l'ennemi.
Exercice
On suppose, en vertu de principe de , pour toutes les évaluations de sécurité d'un
que l'attaquant connaît le système cryptographique utilisé (maxime de ).
La seule partie secrète du cryptosystème est la .
Exercice
Identifier les caractéristiques d'un algorithme publié.
Il est moins sécurisé car son code est accessible à tout le monde.
Il est inutile de chercher à protéger le code contre le reverse-engineering, car il est accessible à tout le
monde.
Il est rarement distribués par delà les frontières de sorte qu'il y a moins de monde à l'utiliser.
Tout le monde peut découvrir et corriger ses failles (intentionnellement ou non) en vue d'en améliorer la
sécurité.
11
Principaux concepts cryptographiques
Principaux concepts
cryptographiques III
Objectifs
Mémoriser les principaux concepts cryptographiques
Caractéristiques :
12
Fonction de hachage
Caractéristiques :
- Le principe de ce genre d'algorithme est qu'il s'agit d'une fonction unidirectionnelle à trappe. Une telle
fonction a la particularité d'être facile à calculer dans un sens, mais difficile voire impossible dans le
sens inverse. La seule manière de pouvoir réaliser le calcul inverse est de connaître une trappe. Une
trappe peut par exemple être un faille dans le générateur de clés. Cette faille peut être soit accidentelle
ou intentionnelle de la part du concepteur.
- Les algorithmes se basent sur des concepts mathématiques tels que l'exponentiation de grands nombres
premiers (RSA), le problème des logarithmes discrets (ElGamal), ou encore le problème du sac à dos (
Merkle-Hellman).
- La taille des clés s'étend de 512 bits à 2048 bits en standard. Dans le cas du RSA, une clé de 512 bits n'est
plus sûre au sens "militaire" du terme, mais est toujours utilisable de particulier à particulier.
- 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 utilisateur conserve sa clé secrète sans jamais la divulguer. Seule la clé publique devra être
distribuée.
3. Fonction de hachage
Il s'agit de la troisième grande famille d'algorithmes utilisés en cryptographie. Le principe est qu'un message
clair de longueur quelconque doit être transformé en un message de longueur fixe inférieure à celle de départ.
Le message réduit portera le nom de "Haché" ou de "Condensé". L'intérêt est d'utiliser ce condensé comme
empreinte digitale du message original afin que ce dernier soit identifié de manière univoque. Deux
caractéristiques (théoriques) importantes sont les suivantes :
Remarque
Il est bien entendu que le terme “impossible” n'est pas toujours à prendre au pied de la lettre ! Il s'agit ici de
concepts théoriques. La réalité est quelque peu différente. Ainsi, pour le caractère “ sans collision”, dans les
faits, cela est “très difficile” dans le meilleur des cas, mais jamais impossible, comme le bon sens le laisse penser.
13
4. Protocoles cryptographiques
Dès que plusieurs entités sont impliquées dans un échange de messages sécurisés, des règles doivent déterminer
l'ensemble des opérations cryptographiques à réaliser, leur séquence, afin de sécuriser la communication C'est
ce que l'on appelle les protocoles cryptographiques.
Lorsque l'on parle de “sécuriser un échange”, on souhaite prêter attention aux quatre (4) services qui sont la
confidentialité, l'intégrité, l'authentification et la non-répudiation.
4.1. Confidentialité
La confidentialité permet de garantir qu'un message chiffré n'est compréhensible que par les protagonistes
légitimes d'une communication cryptographique. Un attaquant interceptant un message codé doit être dans
l'incapacité de le décrypter. Elle est amenée par le chiffrement du message.
Dans le cas de systèmes à clés secrètes ou symétriques , la même clé est utilisée pour EK(M) et DK(C). Ce
type de chiffrement nécessite un échange sûr préalable de la clé K entre les entités A et B.
Comme dit précédemment, à l'aide d'un cryptosystème à clé publique ou 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 ( PKA , SKA ) pour
l'entité A et la paire ( PKB , SKB ) pour l'entité B.
En marge de ces deux systèmes, existe également un système appelé " hybride" (Figure 5), reposant comme son
nom l'indique sur les deux systèmes précédents. Par l'intermédiaire du système à clé publique, on sécurise
l'échange de la clé K. Ensuite, les deux parties ayant acquis de manière sécurisée cette clé de chiffrement K, on
utilisera le système à clé symétrique pour chiffrer le message.
14
4.2. Intégrité
Dans les communications (chiffrées ou non) on espère évidemment que le destinataire reçoive le message tel
qu'il a été envoyé, c'est-à-dire sans modification d'aucune sorte. De plus, si le message reçu est différent du
message envoyé, alors son destinataire devrait s'en rendre compte. On résume cela en disant que l'on souhaite
garantir l'intégrité des messages contre toutes modifications.
4.3. Authentification
La mission d'authentification est de garantir que le message reçu provient bien de l'entité qui affirme. Elle a
lieu à plusieurs niveaux.
- Au niveau des parties communicantes, dans le cas d'un système symétrique ou asymétrique .
- Au niveau du message
- Par l'utilisation d'un MAC (Message Authentication Code) (voir Figure 8) généré à l'aide
d'un cryptosystème à clé symétrique où le MAC est constitué des derniers digits de C , ou
d'une fonction de hachage ; la clé secrète K utilisée étant partagée par les deux entités A et B.
Dans les deux cas, l'authentification repose sur l'utilisation de la clé K.
- Par l'utilisation d'une signature digitale. Parmi leurs propriétés remarquables, on peut dire qu'elles
doivent être authentiques, infalsifiables, non-réutilisables, non-répudiables et inaltérables.
15
Exercice
4.4. Non-répudiation
La non-répudiation est le moyen qui empêche le destinataire d'un message de contester l'avoir reçu ou l’
émetteur de nier l'avoir envoyé. Cette protection est fondamentale par exemple dans le cadre d'une transaction
commerciale sur Internet.
Exercice
Lors de la transmission d'un message, à quoi sert la clé secrète ?
Exercice
Quelle est la principale limite de la cryptographie à clé secrète ?
Exercice
On considère une startup constituée de 17 informaticiens travaillant sur des projets confidentiels. Le
PDG fait mettre en place un système informatique sécurisé afin de protéger les échanges de données en
interne comme avec l’intérieur.
16
Solutions des exercices
Exercice
Le chiffrement peut être définie comme une opération qui transforme un texte clair en un texte chiffré,
appelé cryptogramme.
Exercice
Exercice
le cryptogramme
la cryptographie
la stéganographie
la cryptanalyse
le cryptosystème
Exercice
La clef doit pouvoir en être communiquée et retenue sans le secours de notes écrites, et être changée ou modifiée au
gré des correspondants.
17
Solutions des exercices
Il est nécessaire, vu les circonstances qui en commandent l'application, que le système soit d'un usage facile, ne
demandant ni tension d'esprit, ni la connaissance d'une longue série de règles à observer.
Il faut que le système soit portatif, et que son maniement ou son fonctionnement n'exige pas le concours de plusieurs
personnes.
Il faut que le système n'exige pas le secret, et qu'il puisse sans inconvénient tomber entre les mains de l'ennemi.
Exercice
On suppose, en vertu de principe de Kerckhoffs, pour toutes les évaluations de sécurité d'un cryptosystème
que l'attaquant connaît le système cryptographique utilisé (maxime de Shannon). La seule partie secrète du
cryptosystème est la clef.
La robustesse d'un algorithme désigne la résistance de ce dernier à diverses attaques alors que le secret quant
à lui revient à cacher ses concepts ainsi que les méthodes utilisées.
Exercice
Il est moins sécurisé car son code est accessible à tout le monde.
Il est inutile de chercher à protéger le code contre le reverse-engineering, car il est accessible à tout le monde.
Il est rarement distribués par delà les frontières de sorte qu'il y a moins de monde à l'utiliser.
Tout le monde peut découvrir et corriger ses failles (intentionnellement ou non) en vue d'en améliorer la sécurité.
Exercice
Exercice
18
Solutions des exercices
Exercice
On considère une startup constituée de 17 informaticiens travaillant sur des projets confidentiels. Le PDG fait
mettre en place un système informatique sécurisé afin de protéger les échanges de données en interne comme avec l’
intérieur.
Explication :
19
Signification des abréviations
Abréviations
3DES : Triple DES
RSA : chiffrement RSA (nommé par les initiales de ses trois inventeurs : Rivest, Shamir et Adleman)
20