Académique Documents
Professionnel Documents
Culture Documents
la Cryptographie
Systèmes symétriques et asymétriques
Fonction de hachage
Signature numérique
Khaled SAMMOUD
Sommaire
Domaine de la sécurité.
Services de sécurité.
Algorithmes de chiffrement symétrique.
Chiffrement symétrique – DES.
Algorithmes de chiffrement asymétrique.
Chiffrement asymétrique – RSA.
Fonctions de hachage.
Signature.
Certificat.
Quelques standards
Services de la sécurité
Authentification Non-répudiation
Identification Non-rejeu
Confidentialité Horodatage
Problématique
Failles dans les protocoles de communication
Toute information circulant sur Internet peut être
capturée et enregistrée et/ou modifiée
Problème de confidentialité et d’intégrité
Toute personne peut falsifier son adresse IP
(spoofing) ce qui engendre une fausse identification
Problème d’authentification
Aucune preuve n’est fournie par Internet quant à la
participation dans un échange électronique
Problème d’absence de traçabilité
Cryptographie
Science mathématique
permettant d’effectuer
des opérations sur un Intégrité
Authentification
texte intelligible afin
d’assurer une ou
plusieurs propriétés de Non Répudiation
la sécurité de Confidentialité
l’information.
Définition d’un crypto-système
Un crypto-système est décrit par cinq uplets (P,C,K,E,D),
satisfaisant ces conditions:
« P » est un ensemble fini de textes clairs (Plain text)
« C » est un ensemble fini de textes cryptés (Cypher text)
« K » est l’espace de clés (key space), représente un
ensemble fini de clés possibles.
Pour chaque k € K, il existe une fonction cryptage ek € E, et
une fonction de décryptage correspondante dk € D
Les fonctions ek : P C et dk : C P doivent satisfaire:
Exigences:
Un algorithme de cryptage solide.
Une clé secrète partagée et connue entre l’émetteur et le récepteur.
Y = EK(X)
X = DK(Y)
Suppose que l’algorithme de cryptage est connu à l’avance.
Les clés sont distribuées à travers des canaux sécurisés.
Exemples :
Algorithmes : DES, IDEA, AES
Taille des clés : 56-128-192-256-… bits
Cryptage symétrique: principe de base
Cryptanalyst
Clé Clé
Alice Bob
Deux modes:
Chiffrement symétrique en stream
Chiffrement symétrique en bloc
Electric Code Block (ECB).
- Cipher Block Chaining (CBC).
Mi-1 E Ci-1 Mi-1 E Ci-1
Mi E Ci Mi E Ci
Substitution
Remplacement de chaque élément (bit, lettre, groupe de bits
ou de lettres) dans le texte clair par un autre élément.
Transposition
Réarrangement des éléments du texte clair
DES Data Encryption Standard en bloc de 64 bits 56 bits FIPS Pub 81,1981 ANSI
X3.92, X3.105, X3.106
ISO 8372 ISO/IEC
10116
IDEA International Data Encryption en bloc de 64 bits 128 bits
Algorithm,
RC2 dévelopé par Ronald Rivest en bloc de 64 bits variable, Non et propriétaire
40
b.export.
RC4 dévelopé par R. Rivest enfilé variable Non, mais divulgé sur
40/ 128 l’Internet en 1994
bits
RC5 dévelopé par R. Rivest en bloc de 32, 64 ou variable Non et propriétaire
128 bits jusqu’à
2048 bits
SKIPJACK Confidentiel développé aux États en bloc de 64 bits 80 bits Secret défence aux États-
Unis par la NSA (National Security Unis
Agency - Agence de sécurité
nationale des États Unis) pour des
applications sur la carte PCMCIA
Fortezza.
Triple DES en bloc de 64 bits 112 bits ANSI X9.52
Cryptage symétrique
Avantages
Confidentialité des données.
Rapidité, et facilité de mise en œuvre sur des circuits.
Limitations
Problématique de l'échange de la clé de chiffrement
Établissement préalable d'un canal sûr pour la
transmission de la clé
Une tierce partie ne peut pas s’assurer de l’authenticité des
messages.
Problème de la distribution des clés de cryptage
Nécessité d’établir un canal sécurisé pour la transmission
de la clé
Nombre de clés échangées (en n²).
DES (Data Encryption Standard)
DES (Data Encryption Standard) IBM 1977
L’algorithme de cryptage (Block cipher) à clés symétriques le
plus utilisé.
Crypte des blocks de 64 bits en utilisant des clés
relativement courtes (taille effective 56-bit).
Produit de transpositions et de substitutions.
Implémentation facile en matériel.
Boites transposition P-Box
Boites de substitution S-Box
Les étapes des cette élaboration sont restés secrets,
(la conception des S Boxes).
Les S Boxes sont des tables qui définissent des
permutation.
Le message est découpé en blocs de 64 bits.
Initialisation : permutation de tous les bits formant
ce bloc.
On le coupe en deux parties : L0 et R0.
Algorithme DES
48 bits
3
2
4
DES (étapes 1 et 3): P-Box
Cryptage Décryptage
Block de 64 bits en entrée Block de 64 bits en entrée
+ +
C
A- Fonction d’expansion
Etendre les blocks d’entré Ri de 32 bits à un
block Ri’ de 48 bits.
Division des 32 bits en des segments de 4 bits
Élargir chaque segment de 4 bits avec les bits de ses
voisins pour attendre 6 bits.
XOR des 48 bits en sortie avec la clé.
1 2 3 4 5 6 7 8 9 …
32 1 2 3 4 5 4 5 6 7 8 9
B- Fonction de substitution
0 0 1 0 0 1
1110
01=1
0100=4
14
K3
2 minutes
56 bit key 3.6 hours 1 second 1 millisecond
112 bit key 10(13) years 10(11) years 10(9) years 10(6) years
128 bit key 10(18) years 10(16) years 10(14) years 10(11) years
Cryptographie asymétrique (1)
Appelé aussi: cryptographie à clé publique / à paire de
clés / asymétrique
Représente une révolution dans l’histoire de la cryptographie
Utilisation de deux clés:
Clé publique: Connue par tout le monde, et peut être utilisée pour
crypter des messages ou pour vérifier la signature.
Clé privée: Connue par le récepteur uniquement, utilisée pour
décrypter les messages, ou pour créer la signature.
Si on crypte avec l’une de ces clés le décryptage se fait
uniquement avec l’autre.
Impossible de trouver la clé privée à partir de la clé
publique.
Cryptographie asymétrique (2)
Clés à grande taille (ex: RSA: 1024-2048-…).
Fonction trappe à sens unique
Kpr: clé privée, Kpu: clé publique
Y=fKpr(X) facile à calculer si Kpr et X sont connus.
X=fKpu-1(Y) facile si Kpu et Y sont connus, mais impossible si Y
est connu et Kpu non connue.
Utilisé généralement pour
Cryptage / décryptage: assurer la confidentialité.
répudiation.
Distribution de clés: se mettre d’accord sur une clé de
session.
Algorithme Asymétrique
Clé 1 Clé 2
A B
Scénario: confidentialité
Texte crypté
Emetteur Récepteur
Cryptographie asymétrique: scénarios
d’utilisation
Texte crypté
Emetteur Récepteur
Chiffrement mixte
Texte
Texte Clair
Chiffré
Clé publique du
destinataire Clé Aléatoire de
Cryptage Symétrique
Texte
Texte Clair
Chiffré
Clé privée du
destinataire
Cryptographie asymétrique: scénarios
d’utilisation
Cryptage Décryptage
Texte
Texte clair Texte clair
crypté
= (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
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
Généralement dix fois plus lent que le cryptage symétrique.
Problème d’implémentation sur les équipements disposants de faible
puissance de calcul (ex: cartes bancaire, 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.
Fonction de hashage
Entrée: message M avec contenu et taille arbitraire.
Sortie: message de taille fixe h=H(M).
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.
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.
Calcul facile et rapide (plus rapide que le cryptage
symétrique).
Exemples:
MD5, SHA, …
Taille du digest: 128-160-… bits
Fonction de hashage
H (M) = C
M est de taille quelconque
C est de taille fixe (16 ou 20 octets)
C est appelé condensât, ou empreinte, ou fingerprint, ou message
digest
Fonction à sens unique
Si H (M1) = C1 ,
il est très difficile de trouver :
M2 différent de M1 tel que H (M2) = C1
Usage : checksums, « intégrité »
Fonction de hashage
Condensat
Texte Clair
Fonctions de Hachage: Principes
Internet
Internet
Hachage =? Hachage
Irréversible
Soit « y » le résultat de hachage, il est
pratiquement infaisable de trouver « x » tel que
h(x)=y.
Résistance forte à la collision:
Soit « x » et « y=h(x) », il est pratiquement
infaisable de trouver «x’x » tel que h(x’)=h(x).
Il est pratiquement infaisable de trouver deux
valeurs distinctes « x’ » et « x » tel que
h(x’)=h(x).
Fonctions de Hachage: Exemples
Message Message
Texte
Chiffré
Clé Privée de
L'Expéditeur
Condensât Signature
Signature
Message
Texte Condensât
Chiffré
?
Clé publique du signataire
Signature Condensât
Signature
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.
Certificat (1/2)
clé privée
de l'émetteur
certificat de
l'émetteur
message envoyé