cryptographie
M2 SITW - 2022 / 2023
September 7, 2022
1. Définitions et Terminologies
Master 2 SITW 2 / 37
Définitions et Terminologies
Les technologies numériques modernes :
Cryptologie
▶ Science des messages secrets. Elle se décompose en deux
disciplines: la cryptographie et la cryptanalyse indissociable
pour la sécurité
Cryptanalyse
▶ Résistance des algorithmes, mesure de la sécurité
▶ Art d’analyser un message chiffré afin de le décrypter
Master 2 SITW 3 / 37
2. Principe général
Master 2 SITW 4 / 37
Principe général
Master 2 SITW 5 / 37
3. Chiffrement symétrique
Master 2 SITW 6 / 37
Chiffrement symétrique
Master 2 SITW 7 / 37
Chiffrement symétrique
Master 2 SITW 8 / 37
Chiffrement symétrique
Exemple
Message : M = « Hello »
Clé de chiffrement : E = 9
Hello en ASCII : M = 72 69 76 76 79
Formule: C = M x E
C = “648 621 684 684 711”
Déchiffrement : D = C/E
D = “72 69 76 76 79”
Message = “Hello”
Master 2 SITW 9 / 37
Data Encryption Standard (DES)
DES a été l’algorithme cryptographique le plus important de ces
derniers 30 ans.
DES utilise des blocs de 64 bits (taille nominale).
La taille effective de la clé est de 56 bits (Un total de 64 bits avec
8 bits de parité).
La taille de l’ensemble de clés est 256
Triple DES augmente l’ensemble des clés à 2168
L’algorithme est constitué de 16 étapes avec 16 sous-clés de 48
bits générées (une clé par étape).
Master 2 SITW 10 / 37
DES: Schéma de Fonctionnement
Master 2 SITW 11 / 37
DES: Cipher Function
Master 2 SITW 12 / 37
DES: Tables
Master 2 SITW 13 / 37
DES: S-boxes
Master 2 SITW 14 / 37
Advanced Encryption Standard (AES) :
Rijndael
Un standard, depuis novembre 2001, libre d’utilisation, sans
restriction d’usage ni brevet
▶ un algorithme de type symétrique (comme le DES)
▶ un algorithme de chiffrement par blocs (comme le DES)
Master 2 SITW 15 / 37
AES : Rijndael
Besoins en ressources et mémoire très faibles
Flexibilité d’implémentation
▶ cela inclut une grande variété de plates-formes et d’applications
ainsi que des tailles de clés et de blocs supplémentaires
Hardware et software
▶ il est possible d’implémenter l’AES aussi bien sous forme
logicielle que matérielle
Simplicité
▶ le design de l’AES est relativement simple
Master 2 SITW 16 / 37
AES vs DES
En termes décimaux:
▶ 3.4x1038 clés de 128-bit possibles
▶ 6.2x1057 clés de 192-bit possibles
▶ 1.1x1077 clés de 256-bit possibles
1021 fois plus de clés 128 bits pour l’AES que de clés 56 bits
pour le DES
En supposant que l’on puisse construire une machine qui
pourrait craquer une clé DES en 1 seconde (donc qui puisse
calculer 255 clés par seconde), cela prendrait encore 149 mille
milliards d’années pour craquer une clé AES.
Avec un trillion de machines, chacune pouvant tester un milliard
de clés par seconde, cela prendrait plus de deux milliards
d’années pour récupérer une clé AES 128 bits.
Pour donner un ordre d’idée plus concret, l’univers est vieux de
20 milliards d’années au maximum.
Master 2 SITW 17 / 37
4. Chiffrement asymétrique
Master 2 SITW 18 / 37
Chiffrement asymétrique
Les besoins
Problème de la distribution et de la gestion des clefs symétriques
dans des grands systèmes ouverts et mal hiérarchisés
▶ N noeuds ⇒ maillage de n x (n-1) tunnels ⇒ n x (n-1) clés à gérer
Master 2 SITW 19 / 37
Chiffrement asymétrique
Master 2 SITW 20 / 37
Chiffrement asymétrique
Master 2 SITW 21 / 37
Chiffrement asymétrique
Cryptographie à clé publique basée sur le partage de clés
publiques entre différents utilisateurs à travers un annuaire
électronique (en général).
Objectif : échanger des clés à travers un canal non sécurisé.
Caractéristiques :
▶ Clés créées par couple, une clé privée et une clé publique
associée (on décide arbitrairement qu’une clé est publique et que
l’autre est privée).
▶ Principe : tout message chiffré avec une clé publique est déchiffré
avec la clé privée associée.
▶ La connaissance d’une des deux clés ne permet pas de déduire
l’autre.
Master 2 SITW 22 / 37
RSA : fonctionnement
Algorithme décrit en 1977 par Ronald Rivest, Adi Shamir et
Leonard Adleman.
Cryptographie à clé publique basée sur le partage de clés
publiques entre différents utilisateurs à travers un annuaire
électronique (en général).
Objectif : échanger des clés à travers un canal non sécurisé.
Initialisation :
▶ Choisir 2 grands nombres premiers p et q (512 bits minimum
chacun)
▶ Calculer n = p.q (1024 bits)
▶ Choisir e aléatoire premier avec (p-1)(q-1)
▶ Trouver d tel que e.d = 1 mod[(p-1).(q-1)]
▶ Clé publique : (n,e)
▶ Clé privée : (p,q,d)
Master 2 SITW 23 / 37
Le crypto système RSA
Master 2 SITW 24 / 37
RSA : Chiffrement/déchiffrement
on chiffre le message avec la clé publique du destinataire
L’expéditeur calcule le cryptogramme c à partir du message
m : c = me mod(n) ; (n, e) clé publique du destinataire
Seule la personne qui possède la clé privée associée à la clé de
chiffrement peut déchiffrer le message
Le destinataire reçoit c et le déchiffre : m = c d mod(n) ; d clé
privée du destinataire
Master 2 SITW 25 / 37
RSA : faiblesse
Cet algorithme de chiffrement asymétrique résout les problèmes
de la cryptographie symétrique,
Problème : RSA est 100 à 1000 fois plus coûteux que 3DES
Solution : chiffrement asymétrique est essentiellement utilisée
pour l’échange de la clé du chiffrement symétrique
Master 2 SITW 26 / 37
5. Fonction de hachage
Master 2 SITW 27 / 37
Fonction de hachage
Fonctions à sens unique
Les fonctions à sens unique sont à la base de toutes les
techniques cryptographiques modernes.
Master 2 SITW 29 / 37
Fonction de hachage
Exemple de fonction de hachage :
▶ MD5 : Message Digest 5 qui crée des empreintes de 128 bits
▶ SHA : Secure Hash Algorithm qui crée des empreintes de 160 bits
Nouveaux standards de Hachage (FIPS 180-2)
Master 2 SITW 30 / 37
6. Code d’authentification de message
Master 2 SITW 31 / 37
Code d’authentification de message
L’authentification de message est une fonction de sécurité de réseau
importante.
besoins : on doit être capable de vérifier que :
le message a bien pour origine la source dont il prétend être
issu.
le contenu du message n’a pas été changé.
le message n’a pas été artificiellement retardé et rejoué et que
l’ordre des messages dans le flot établi est respecté.
Il existe des situations où l’authentification de message sans
confidentialité est préférable (ex : avis aux utilisateurs que le réseau
est indisponible ou un signal d’alarme dans un centre de contrôle).
Là encore, l’authentification a besoin que la source connaisse une
clé secrète que l’attaquant ne connaît pas.
Master 2 SITW 32 / 37
Code d’authentification de message
L’authentification de message peut être obtenue par:
Master 2 SITW 33 / 37
Code d’authentification de messages
Master 2 SITW 34 / 37
7. Signatures électroniques
Master 2 SITW 35 / 37
Signatures électroniques
Une signature électronique est basée sur une fonction de
hachage :
▶ On crée une empreinte du message avec une fonction de
hachage.
▶ On chiffre, ensuite, l’empreinte avec la clé privée de l’émetteur.
▶ Tout le monde peut vérifier que l’empreinte correspond bien à
l’émetteur en déchiffrant avec la clé publique de celui-ci.
Master 2 SITW 36 / 37
Signatures électroniques
Master 2 SITW 37 / 37