Chapitre 4
Chapitre 4
Chapitre 4
Scénario: confidentialité
Emetteur Récepteur
4
Cryptographie asymétrique: scénarios
d’utilisation
Emetteur Récepteur
5
Cryptographie asymétrique: scénarios
d’utilisation
6
Cryptographie asymétrique : exemples
◼ RSA
◼ Développé par Rivest, Shamir & Adleman à MIT en 1977, publié
en 1978.
◼ Le plus connu et le plus utilisé comme algorithme de cryptage
asymétrique : utilisé pour le cryptage et la signature électronique.
◼ Utilise des entiers très larges 1024+ bits
◼ La sécurité repose sur le coût de factorisation des entiers larges.
◼ Diffie-Hellman
◼ Algorithme utilisé pour l’échange et la distribution des clés
symétriques.
7
RSA: Algorithme
◼ Etapes
1. Sélectionner deux entiers premiers entre eux « p » et « q »
2. Calculer n = p x q
3. Calculer φ(n)=(p-1)(q-1)
4. Sélectionner « e » tel que: pgcd(φ(n),e)=1 ; 1<e<φ(n)
▪ En général « e » est un entier de petite taille.
5. Calculer d=e-1 mod φ(n) En d’autre terme: d.e = 1 (mod φ(n))
6. Clé publique: Kpu={e,n}
7. Clé privée Kpr = {d,n}
◼ Pour crypter un message M < n, l’émetteur:
◼ Obtient une clé publique du récepteur et calcule « C= Me mod n »
◼ Pour décrypter un message crypté C le récepteur
◼ Utilise sa clé privée et calcule « M = Cd mod n »
8
RSA: Exemple
Cryptage Décryptage
Texte
Texte clair Texte clair
crypté
◼ Théorème d'Euler:
◼ a et n sont premiers entre eux ➔
aφ(n) = 1 (mod n)
10
Preuve de RSA
= (Mz)φ(n) x M
= 1 x M (mod n)
◼ Par hypothèse RSA crypte des blocks de données de
taille inférieure à n (décomposition en blocks)
➔ D(E(M)) = M 11
Cryptage asymétrique: Avantages et
inconvénients
◼ Avantages
◼ Pas besoin d’établir un canal sûr pour la transmission de la clé.
◼ Plusieurs fonctions de sécurité: confidentialité, authentification, et
non-répudiation
◼ Inconvénient
◼ Beaucoup plus lent que le cryptage symétrique.
◼ Problème d’implémentation sur les équipements disposants de faible
puissance de calcul (ex: cartes à puces, stations mobiles, etc.)
◼ Clés longues
◼ Complexité algorithmique de la méthode (ex: réalisation des opérations
modulo n)
➔ Solution: Utilisation du cryptage asymétrique pour l’échange
des clés secrètes de session d'un algorithme symétrique à
clés privées.
12
Fonction de hachage
◼ Entrée: message M avec contenu et taille arbitraire.
◼ Sortie: message de taille fixe h=H(M).
◼ Irréversible:
◼ Etant donnée h, il est difficile de trouver x tel que: h = H(x)
◼ Complexité de l’ordre de 2n, n est le nombre de bits du digest.
◼ Résistance forte à la collision:
◼ Etant donné x, il est impossible de trouver y avec H(x) = H(y)
◼ Il est impossible de trouver une paire x, y tel que H(x) = H(y)
◼ Calcul facile et rapide (plus rapide que le cryptage
symétrique).
◼ Exemples:
◼ MD5, SHA, …
◼ Taille du digest: 128-160-… bits
13
Fonctions de Hachage
◼ La fonction de hachage permet d’extraire une
empreinte qui caractérise les données.
◼ Une empreinte a toujours une taille fixe indépendamment
de la taille des données.
◼ Fonctions à sens unique H( ):
◼ Entrée: message M avec contenu et taille arbitraire.
◼ Sortie: message de taille fixe h=H(M).
◼ Calcul facile et rapide (plus rapide que le cryptage
symétrique).
◼ Exemples:
◼ MD5, SHA, …
◼ Taille du digest: 128-160-… bits
14
Fonctions de Hachage: Principes
Internet
Hachage =? Hachage
17
Signature numérique
◼ Principe de fonctionnement
◼ Le Hash (résultat de la fonction de hachage) d’un
message est crypté avec la clé privée de l’émetteur.
◼ La clé publique est utilisée pour la vérification de la
signature
◼ Soit:
◼ M: message à signer, H: fonction de hachage
◼ Kpr, Kpu: paire de clés privée/publique de l’émetteur.
◼ E / D: fonction de cryptage / Décryptage en utilisant Kpu
/ Kpr.
◼ En recevant (M, EKpr(H(M))), le récepteur vérifie si:
H(M)=DKpu(EKpr(H(M)))
18
Signature numérique: Génération
Clé privée
du signataire
Signature
Texte clair numérique
Fonction de Hachage Cryptage Asymétrique
Empreinte
Processus de Génération de la Signature numérique
Signature numérique: Vérification
Texte clair
Hachage
Empreinte
recalculée
Clé publique =?
de l’émetteur
Signature
numérique
Décryptage
Empreinte
reçue
Empreinte Empreinte
reçue recalculée
Emetteur
Cryptage du résultat
de hachage avec la clé
privée de l’émetteur
Transmission du message, du
résultat de hachage crypté, et
des informations relatives aux
algorithmes utilisés
Récepteur
Authentification
◼ Non répudiation.
◼ La signature numérique, seule,
Non Répudiation
assure l’intégrité des données.
22