Cryprography_cours —Parti 1
Cryprography_cours —Parti 1
Cryprography_cours —Parti 1
Cryptographie
La sécurité d'un réseau est essentielle pour garantir la protection des données échangées. Pour cela, il est crucial d'utiliser des
protocoles sécurisés —indispensable pour protéger les informations sensibles échangées sur les réseaux.
SSL/TLS (pour le chiffrement des communications web)
IPSec (pour la sécurité des communications réseau)
HTTPS (la version sécurisée du HTTP)
La cryptographie est fondamentale pour renforcer la sécurité des protocoles. En chiffrant les données, la cryptographie permet de :
Prévenir l'accès non autorisé aux informations.
Garantir l'intégrité des données échangées.
Authentifier les parties impliquées dans la communication.
La sécurité des réseaux dépend des protocoles sécurisés, dont l'efficacité est renforcée par la cryptographie, afin de protéger les
données sensibles dans un environnement interconnecté.
Jihane Jebrane 2
Les niveaux de sécurité
La sécurité des données est primordiale, car ces dernières représentent l'élément le plus précieux à protéger. Une fois traitées, les
données deviennent des informations qui sont utilisées au sein d'applications pour diverses opérations. Les applications jouent un
Ces applications s'exécutent sur des machines (ordinateurs, serveurs, dispositifs IoT, etc.), qui doivent être protégées contre les accès
non autorisés et les attaques malveillantes. Les machines, à leur tour, interagissent entre elles et avec d'autres systèmes via un réseau.
Pour assurer une protection optimale à chaque niveau, des mesures de sécurité spécifiques doivent être mises en place à chaque
couche.
Où se situe la cryptographie ?
La cryptographie intervient principalement au niveau des données, car elle permet de protéger
la confidentialité et l'intégrité des informations en les chiffrant. Elle joue également un rôle
essentiel dans la protection des applications et dans les communications réseau. Ainsi, la
cryptographie peut être appliquée dans plusieurs niveaux, mais son rôle le plus direct concerne
Jihane Jebrane 3
010
ü la scytale spartiate
Une forme de transposition utilise le premier dispositif de cryptographie militaire connu, la scytale spartiate,
remontant au Ve siècle avant J.-C. La scytale consiste en un bâton de bois autour duquel est entourée une
bande de cuir ou de parchemin, comme le montre la figure ci-dessous. :
Jihane Jebrane 5
Cryptographie : Terminologie
La cryptologie : est la science du chiffrement et englobe deux sous-disciplines : la cryptographie + la cryptanalyse.
La cryptographie : issue des mots grecs kryptos, qui signifie caché, et graphein, signifie écrire, décrit le processus
impliqué dans le codage et le décodage des messages, afin que les personnes non autorisées ne puissent pas les comprendre.
La cryptanalyse : à partir de l'analyein, qui signifie « to break up », est le processus qui consiste à déchiffrer le message
d’ origine ou le texte en clair à partir du message crypté ou du texte chiffré sans connaître les algorithmes ou les clés utilisés
pour effectuer le chiffrement.
Stéganographie: cacher le message pour que l'ennemi ne le trouve pas.
Ciphertext ou Le chiffrement est le processus qui consiste à convertir un message lisible en une forme qui ne peut être
comprise par des personnes ou des systèmes non autorisés.
Plaintext ou Le déchiffrement est le processus de reconversion d'un message chiffré en une forme lisible.
Clé : paramètre utilisé en entrée d’une opération cryptographique.
Code : Système de chiffrement dans lequel chaque lettre (ou mot, syllabes,...) est remplacé par un -ou plusieurs- symboles
(caractères, dessins, ...), par un processus d'opération.
Décrypter : opération qui consiste à rendre le document chiffré en document lisible sans avoir la clé.
Le texte brut est le formulaire lisible par les individus ou les systèmes.
texte chiffré est le formulaire qui n'est pas lisible par les individus ou les systèmes tant qu'il n'est pas déchiffré, également
appelé Cryptogramme.
Cryptosystème : Il est défini comme l’ensemble des clés possibles, des textes clairs et chiffrés possibles associés à un
algorithme donné.
6
Jihane Jebrane
Principe d’un CryptoSystème
L’information qu’Alice souhaite transmettre à Bob, que l’on appelle texte en clair (ou message) clair, peut être
Alice transforme le texte clair par un procédé de chiffrement, en utilisant une clé prédéterminée, et envoie le
message chiffré au travers du canal (peut être par exemple une ligne de téléphone, Internet, ou autre).
Eve, qui espionne éventuellement le canal, ne peut retrouver le texte clair, mais Bob, qui connaît la clef pour
Jihane Jebrane
Qualités d’un Cryptosystème
Protéger un message ne signifie pas seulement de le rendre incompréhensible. En effet, on peut distinguer quatre types de
protection:
Confidentialité: seules les personnes habilitées ont accès au contenu du message.
Intégrité des données: le message ne peut pas être falsifié sans qu’on s’en aperçoive.
Authentification:
L’émetteur est sûr de l’identité du destinataire c’est à dire que seul le destinataire pourra prendre connaissance du
message car il est le seul à disposer de la clef de déchiffrement.
Le receveur est sûr de l’identité de l’émetteur.
Non-répudiation :
Non-répudiation d’origine l’émetteur ne peut nier avoir écrit le message et il peut prouver qu’il ne l’a pas fait si c’est
effectivement le cas.
Non-répudiation de réception le receveur ne peut nier avoir reçu le message et il peut prouver qu’il ne l’a pas reçu si
c’est effectivement le cas.
Les qualités pratiques attendues d’un cryptosystème :
1. Il doit résister aux attaques connues et si possible avoir une sécurité prouvée.
2. Il doit permettre de coder et décoder rapidement (en temps réel pour certaines applications).
Il n’existe pas de codes qui réunissent toutes ces qualités simultanément. Il faut donc un compromis adapté à chaque situation.
Jihane Jebrane 8
Cryptographie
Classique
Une des méthodes de cryptographie par substitution les plus anciennes. Consiste a remplacer une lettre par une
autre. Exemples :
Chiffre Pig Pen
Chiffrement de César (décalage)
Chiffrement de Vigenère
Jihane Jebrane 10
Substitution Mono-alphabétique : Chiffrement de César
Ce code est l’un des plus anciens, utilisé par Jules César. Le principe de codage repose sur l’ajout
d’une valeur constante à l’ensemble des caractères du message, ou plus exactement à leur code
ASCII.
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. Lorsque l’ajout de la valeur donne une lettre dépassant la lettre Z, il suffit de
continuer en partant de A, ce qui revient à effectuer un modulo 26.
Jihane Jebrane 11
Chiffrement de César (Conti)
Exemple:
Le message clair est: CECI EST UN CRYPTOGRAMME
On décale les lettres de 3 positions :
Le texte chiffré est: FHFL HVW XQ FUBSWRJUDPPH
Une amélioration de Jules César où le décalage des lettres n’est plus fixe à trois positions. Il peut être représenté
comme suit:
Transformer chaque lettre en un nombre : (A = 0, B = 1,..., Z = 25),
Coder une lettre x avec une clé k en appliquant la formule :
E(x) = (x + k) mod (26)
Le déchiffrement consiste à utiliser la clé opposée:
D (y) = (y - k) mod (26)
Avec k : clé secrète, E : chiffrement, D : déchiffrement Vert message crypté. Rouge message en clair
Si l’algorithme est connu ainsi que le langage utilisé alors le déchiffrement est très simple : 25 clés
à essayer.— Voir Section Cryptanalyse
Jihane Jebrane 12
Substitution Poly-alphabétique : Chiffrement de Vigenère
L’espace des clés du chiffrement mono-alphabétique est immense, mais le fait qu’une lettre soit
toujours cryptée de la même façon représente une trop grande faiblesse. Le chiffrement de Vigenère
Ce chiffrement introduit la notion de clé. Une clé se présente généralement sous la forme d’un mot
ou d'une phrase. Pour pouvoir chiffrer notre texte, à chaque caractère nous utilisons une lettre de la
clé pour effectuer la substitution. Évidemment, plus la clé ne sera longue et variée et mieux le texte
sera chiffré.
Pour chaque lettre en clair, on sélectionne la colonne correspondante et pour une lettre de la clé on
chiffrée. La lettre de la clé est à prendre dans l'ordre dans laquelle elle se présente et on répète la clé
Jihane Jebrane 13
Substitution Poly-alphabétique : Chiffrement de Vigenère
Exemple :
Le texte clair CRYPTOGRAMME est chiffré comme
suit avec la clé MINET.
CRYPTOGRAMME
MINETM I NE TMI
OZLTMAOEEFYM
Jihane Jebrane 14
Exemple 1
Jihane Jebrane 15
Exercice 1
Exercice 2
Jihane Jebrane 16
Cryptographie
Moderne
« La sécurité d'un système de cryptographie ne doit pas dépendre du secret de
Jihane Jebrane 18
Cryptographie Moderne :
Qu’entend-on par clé?
On appelle clé une valeur utilisée dans un algorithme de cryptographie, afin de chiffrer une donnée. Il s’agit en
fait d’un nombre complexe dont la taille se mesure en bits. On peut imaginer que la valeur correspondant à 1024
bits est absolument gigantesque. Voir aussi bits bytes. Plus la clé est grande, plus elle contribue à élever la
sécurité à la solution. Toutefois, c’est la combinaison d’algorithme complexe et de clés importantes qui seront la
Les clés doivent être stockées de manière sécurisée et de manière à ce que seul leur propriétaire soit en mesure de
Ø La confidentialité est le premier problème posé à la cryptographie. Il se résout par la notion de chiffrement.
Jihane Jebrane 19
1. Cryptographie Asymétrique
Chiffrement asymétrique ou à clef public : avec les algorithmes asymétriques, les clefs de chiffrement et de déchiffrement sont
distinctes et ne peuvent se déduire l’une de l’autre. On peut donc rendre l’une des deux publique tandis que l’autre reste privée.
C’est pourquoi on parle de chiffrement à clef publique. Si la clef publique sert au chiffrement, tout le monde peut chiffrer un
message, que seul le propriétaire de clef privé pourra déchiffrer. On assure ainsi la confidentialité. Certains algorithmes permettent
d’utiliser la clef privée pour chiffrer. Dans ce cas, n’importe qui pourra déchiffrer, mais seul le possesseur de clef privée peut
chiffrer.
Définition et fonctionnement
Dans un tel crypto système, les clés existent en paires d’où l’appellation bi- clés :
• Une clé publique pour le chiffrement.
• Une clé secrète pour le déchiffrement.
L’utilisateur d’un crypto système asymétrique, choisit une clé aléatoire (la clé privé), à partir de cette clé et en appliquant la
fonction à sens unique il calcule la clé publique qu’il diffuse au travers d’un canal non sécurisé.
— Lorsqu’une personne désire lui envoyer un message il lui suffit de chiffrer ce dernier à l’aide de la clé publique.
— Le destinataire sera en mesure de déchiffrer le message à l’aide de sa clé privé.
Ce système est basé sur une fonction facile à calculer dans un sens (appelé fonction à trappe à sens unique) et mathématiquement
très difficile à inverser sans la clé́ privée appelé trappe.
Jihane Jebrane 20
Cryptographie Asymétrique : RSA
Le principe
Le premier système à clé publique solide à avoir été inventé, et le plus utilisé actuellement, est le système RSA. Publié en 1977
par Ron Rivest, Adi Shamir et Leonard Adleman de l'Institution de technologie du Massachusetts, le RSA est fondé sur la
difficulté de factoriser des grands nombres, et la fonction à sens unique utilisée est une fonction "puissance".
Jihane Jebrane 21
Cryptographie Asymétrique : Diffie-Hellman
Parallèlement à leur principe de cryptographie à clé publique, Diffie et Hellman ont proposé un protocole d’ échanges de clés
totalement sécurisé, basé sur des fonctions difficiles à inverser.
1) Alice et Bob se mettent d'accord publiquement sur un très grand nombre premier "p" et sur un nombre "n" inférieur à "p".
2) Alice engendre une clé́ secrète "a" et Bob une clé secrète "b".
3) Alice calcul l’ élément public ka et Bob l’élément public kb
4) Alice transmet sa clé́ publique ka à Bob, et Bob transmet sa clé publique kb à Alice.
5) Alice et Bob profitent ensuite de la commutativité de la fonction exponentielle pour établir leur secret commun
Jihane Jebrane 22
2. Cryptographie symétrique
La cryptographie à algorithmes symétriques utilise la même clé pour les processus de codage et de décodage ; cette clé́ est le plus
souvent appelée « secrète ». le chiffrement consiste à appliquer une opération (algorithme) sur les données à chiffrer à l’aide de la
clé́ privée, afin de les rendre inintelligibles. Ainsi, le moindre algorithme peut rendre le système quasiment inviolable (la sécurité́
Toutefois dans les années 40 Claude Shannon démontra qu’être totalement sûre, les systèmes à clefs privées doivent utiliser des
• Les algorithmes de chiffrement en continu (par flux), qui agissent sur le message en clair un bit à la fois ;
• Les algorithmes de chiffrement par bloc, qui opèrent sur le message en clair par groupes de bits appelés blocs.
• Chiffre de Vernam (le seul offrant une sécurité́ théorique absolue, à condition que la clé ait au moins la même longueur
que le message, qu’elle ne soit utilisée qu’une seule fois à chiffrer et qu’elle soit totalement aléatoire)
Jihane Jebrane 23
La cryptanalyse et
test de sécurité
Une tentative de cryptanalyse d’un système est appelé une attaque, et elle peut conduire à différents résultats :
§ Cassage complet : le cryptanalyse retrouve la clef de déchiffrement.
§ Obtention globale : le cryptanalyse trouve un algorithme équivalent à l’algorithme de déchiffrement, mais qui ne nécessite pas la
connaissance de la clef de déchiffrement.
§ Obtention locale : le cryptanalyse retrouve le message en clair correspondant à un message chiffrer.
§ Obtention d’information : le cryptanalyse obtient quelque indication sur le message en clair ou la clef (certains bits de la clef, un
renseignement sur la forme du message en clair).
D’une manière générale, on suppose toujours que le cryptanalyste connait le détail des algorithmes, fonctions mathématiques ou
protocoles employés. Même si ce n’est pas toujours le cas en pratique, il serait risqué de se baser sur le secret des mécanismes utilisés
pour assurer la sécurité́ d’un système, d’autant plus que l’usage grandissant de l’informatique rend de plus en plus facile la
reconstitution de l’algorithme à partir du programme.
Jihane Jebrane 25
Cryptanalyse : Les niveaux d’attaques
L’intrus peut effectuer quatre niveaux d’attaques, l’attaque est une tentative de cryptanalyse.
• L’attaque par cryptogramme (par message chiffré seulement) : ou le cryptanalyste ne connait qu’un
ensemble de message chiffrés, il peut soit retrouver seulement les messages en clair, soit retrouver la clef. En
pratique, il est très souvent possible de deviner certaines propriétés du message en clair (format ASCII,
présence d’un mot particulier, ...), ce qui permet de valider ou non le décryptement.
• L’attaque à message en clair connu : ou le cryptanalyste connait non seulement les messages chiffrés mais
aussi les messages en clair correspondants, son but est alors de retrouver la clef. Du fait de la présence, dans la
plupart des messages chiffrés, de parties connue (en-têtes de paquets, champs communs à tous les fichiers d’un
type donné,...).
• L’attaque à message en clair choisi : ou le cryptanalyste peut, de plus choisir des messages en clair à chiffrer
et donc utiliser des messages apportant plus d’informations sur la clef. Si le cryptanalyste peut de plus adapter
ses choix en fonction des messages chiffrés précédents, on parle d’attaque adaptative.
• L’attaque à message chiffré choisi : qui l’inverse de la précédente, le cryptanalyste peut choisir des messages
chiffrés pour lesquels il connaitra le message en clair correspondant ; sa tache est alors de retrouver la clef. Ce
type d’attaques est principalement utilisé contre les systèmes à clef publique, pour retrouver la clef privée.
Jihane Jebrane 26
Fonctions de hachage et
Signature Digitale