Vous êtes sur la page 1sur 37

Eléments de

cryptographie
M2 SITW - 2020 / 2021

Dr. Raogo KABORE


rkabore@yahoo.fr

January 6, 2021
1. Définitions et Terminologies

Master 2 SITW 2 / 37
Définitions et Terminologies
Les technologies numériques modernes :

Cryptologie
I Science des messages secrets. Elle se décompose en deux
disciplines: la cryptographie et la cryptanalyse indissociable
pour la sécurité

Cryptographie (du grec « caché » et « écrire »)


I Art de transformer un message clair en un message inintelligible
par celui qui ne possède pas les clés de chiffrement

Cryptanalyse
I Résistance des algorithmes, mesure de la sécurité
I 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
AES : Rijndael
Un standard, depuis novembre 2001, libre d’utilisation, sans
restriction d’usage ni brevet
I un algorithme de type symétrique (comme le DES)
I un algorithme de chiffrement par blocs (comme le DES)

Supporte différentes combinaisons [longueur de clé]-[longueur


de bloc]
I 128-128, 192-128 et 256-128 bits

Sécurité contre une éventuelle cryptanalyse


Facilité de calcul et grande rapidité de traitement

Master 2 SITW 15 / 37
AES : Rijndael
Besoins en ressources et mémoire très faibles
Flexibilité d’implémentation
I 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
I il est possible d’implémenter l’AES aussi bien sous forme
logicielle que matérielle

Simplicité
I le design de l’AES est relativement simple

Master 2 SITW 16 / 37
AES vs DES
En termes décimaux:
I 3.4x1038 clés de 128-bit possibles
I 6.2x1057 clés de 192-bit possibles
I 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
I N noeuds ⇒ maillage de n x (n-1) tunnels ⇒ n x (n-1) clés à gérer

Problème du séquestre par un serveur de clé symétrique


I Un point unique (le serveur de clés) connaît toutes les clefs de
tout le monde ⇒ confiance ?

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 :
I 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).
I Principe : tout message chiffré avec une clé publique est déchiffré
avec la clé privée associée.
I 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 :
I Choisir 2 grands nombres premiers p et q (512 bits minimum
chacun)
I Calculer n = p.q (1024 bits)
I Choisir e aléatoire premier avec (p-1)(q-1)
I Trouver d tel que e.d = 1 mod[(p-1).(q-1)]
I Clé publique : (n,e)
I 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.

Les applications directes des fonctions à sens unique sont par


exemple:
I Échange de clés : protocole de Diffie-Hellman
I Chiffrement à clé publique et signatures électroniques
I Vérification de l’intégrité de données

Une fonction à sens unique f de A vers B est une fonction telle


que :
I Choisir 2 grands nombres premiers p et q (512 bits minimum
chacun)
I pour x ∈ A ; f (x) est facilement calculable
I pour y ∈ B ; il est calculatoirement difficile de trouver x ∈ A tel
que f (x) = y
Master 2 SITW 28 / 37
Fonction de hachage
Hachage: propriétés désirées:
I Non-inversible : sachant y , il est difficile de trouver x tel que
H(x) = y
I Sans collision : il est difficile de trouver x et x 0 tels que
H(x) = H(x 0 ). (Attaque des anniversaires)
I Facilité de calcul : étant donné une entrée x et la fonction h,
H(x) est « facile » à calculer, itération d’une fonction élémentaire
I Entrées de taille arbitraire (Compression initiale de l’entrée)
I Résultat sur une taille fixe (160, 256, . . . bits)

Master 2 SITW 29 / 37
Fonction de hachage
Exemple de fonction de hachage :
I MD5 : Message Digest 5 qui crée des empreintes de 128 bits
I 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:

Utilisation du chiffrement Conventionnel


I seuls l’émetteur et le récepteur devraient partager une clé
Authentification sans chiffrement de message
I Un champ d’authentication est généré et ajouté à chaque
message
Code d’Authentification de Message (MAC)
I Calculer le MAC comme une fonction du message M et de la clé
K. MAC = F (K , M)
HMAC (Hash-based MAC) :
I permet la génération d’un MAC a partir d’une fonction de
hachage.

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 :
I On crée une empreinte du message avec une fonction de
hachage.
I On chiffre, ensuite, l’empreinte avec la clé privée de l’émetteur.
I Tout le monde peut vérifier que l’empreinte correspond bien à
l’émetteur en déchiffrant avec la clé publique de celui-ci.

Procédé permettant de garantir l’authentification de l’expéditeur,


de vérifier l’intégrité et d’assurer la non- répudiation d’un
message

Master 2 SITW 36 / 37
Signatures électroniques

Master 2 SITW 37 / 37

Vous aimerez peut-être aussi