SlideShare une entreprise Scribd logo
Services et Mécanismes de base de
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
 Identification
 Intégrité
 Confidentialité
 Non-répudiation
 Non-rejeu
 Contre l’analyse de trafic
 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
texte intelligible afin
d’assurer une ou
plusieurs propriétés de
la sécurité de
l’information.
Confidentialité
Non Répudiation
Intégrité
Authentification
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:
dk(ek(x))=x pour chaque x € P
Principaux objectifs
 Le texte clair ne doit pas être facilement
obtenu à partir d’un texte crypté.
 Les clés ne doivent pas être facilement
obtenues à partir d’un texte crypté.
 L’espace des clés doit être assez large pour
résister aux attaques brute-force.
Cryptanalyse
 Principes et méthodes permettant de trouver un
message clair à partir d’un message crypté sans
connaissance de la clé.
 Attaques classifiées selon le type de connaissance
disponible pour l’intrus (cryptanalyst).
 Connaissant C=E(P,K) mais pas K, l’objectif est de trouver
P ou K.
 Types d’attaques de cryptanalyse:
 Texte chiffré uniquement: uniquement C et E sont connus par
l’intrus
 Texte clair connu: Uniquement E, C, et quelques paires de
messages clairs/cryptés avec K, sont connus par l’intrus
 Texte clair choisi: E, C, sont connus, et P a été choisi par l’intrus.
 …
Cryptage symétrique
 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
Voici le
numéro
de ma
carte de
crédit
111111,
Texte clair
Clé
01010000111
Clé
01010000111
Emetteur
Récepteur
Voici le
numéro
de ma
carte de
crédit
111111,
Texte clair
Cryptage Décryptage
☺☼♀☻
♠♣▼╫◊
♫◙◘€£
¥₪Ω‫٭‬
Texte crypté
Internet
Transmission par canal sécurisé
Cryptanalyst
Algorithme Symétrique
 Une seule clé: clé secrète
 Transformation et permutation.
 Traitement relativement rapide.
 Problème d’échange et de gestion des clés.
 Usage : service de confidentialité
Message
chiffré
Message
clair chiffremen
t
Clé
Message
clair
déchiffreme
nt
Clé
Alice Bob
Cryptage symétrique: Modes Opérationnels
 Cryptage par flux (Stream Cipher)
 Principe: Traite les éléments d’entrée de façon continue,
produisant à la fois un élément de sortie (crypté).
 La clé est aussi longue que le stream de données.
 Mode adapté pour la communication en temps réel: Pas besoin
d’attendre l’arrivé du block entier
 Implémenté en général sur des supports hardware.
 Cryptage par bloc (Bloc Cipher)
 Principe: Le texte est divisé en différents blocks de taille fixe. Un
block est traité à la fois, produisant un block de données cryptées.
 le block doit être entièrement disponible avant le traitement
 La même fonction et la même clé est utilisée pour crypter les
blocks successifs.
 Implémentation d’une manière logicielle en générale.
Algorithme Symétrique
 Deux modes:
 Chiffrement symétrique en stream
 Chiffrement symétrique en bloc

Electric Code Block (ECB).
- Cipher Block Chaining (CBC).
E
Mi-1 Ci-1
E
Mi Ci
ECB
Mode
E
Mi-1 Ci-1
E
Mi Ci
CBC Mode
Cryptographie Symétrique: opérations de base
 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
 La plupart des systèmes utilisent plusieurs étapes de
transposition et de substitution.
 Aucune information ne doit être perdue durant ces
deux opérations
Exemple de cryptage par
substitution
Exemple: Caesar's cipher
 Etapes:

Clé = 3

Remplacer chaque lettre par celle qui la succède de trois (3).

a devient d, b devient e, …, y devient b, z devient c

L’algorithme peut être décrit comme suit:

C = E(p) = (p+3) mod (26)
 Problèmes rendant la cryptanalyse de cet
algorithme simple:

Algorithme de cryptage et de décryptage connu.

Seulement 25 clés à essayer.

Le langage du message clair est connu et facilement
identifiable.
Exemple de cryptage par
transposition
Exemple: Rail fence technique
 Principe: Le texte clair est réécrit comme une
séquence de lignes, puis réordonnée comme une
séquence de colonnes
Key: 4 3 1 2 5 6 7
Plaintext: a t t a c k p
o s t p o n e
d u n t i l t
w o a m x y z
Ciphertext: TTNA APTM TSUO AODW COIX KNLY PETZ
 Cryptanalyse possible vue que l’algorithme
préserve la fréquence de distribution des lettres
du texte original.
 Algorithmes de chiffrement en continu (Stream Cipher)
 Exemple : RC4 (RSA Security)

Taille de la clé variable (128 bits en pratique).
 Algorithmes de chiffrement par blocs (Block Cipher)

Chiffrement par blocs de texte clair: 64 bits (DES), 128 bits (AES).
 DES (clé 56 bits), 3DES (clé de 168 bits ou 112 bits).
 RC2 (clé 128 bits), Blowfish (clé 128bits, jusqu'à 448 bits), AES (clé 128,
192, 256 bits).
Cryptographie Symétrique : exemples
Algorithme Symétrique
Algorithme Nom et commentaires Type de chiffrement Longueur de
la clé
Normalisé
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
Algorithm,
en bloc de 64 bits 128 bits
RC2 dévelopé par Ronald Rivest en bloc de 64 bits variable,
40
b.export.
Non et propriétaire
RC4 dévelopé par R. Rivest enfilé variable
40/ 128
bits
Non, mais divulgé sur
l’Internet en 1994
RC5 dévelopé par R. Rivest en bloc de 32, 64 ou
128 bits
variable
jusqu’à
2048 bits
Non et propriétaire
SKIPJACK Confidentiel développé aux États
Unis par la NSA (National Security
Agency - Agence de sécurité
nationale des États Unis) pour des
applications sur la carte PCMCIA
Fortezza.
en bloc de 64 bits 80 bits Secret défence aux États-
Unis
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
1
2
4
3
DES (étapes 1 et 3): P-Box
Permutation initiale Permutation finale
 Le bit numéro 1 deviendra à la position 58
 Implémentation simple en matériel
DES (étape 2)
 Les sous-clés (Round keys) sont générées à partir de la clé
principale de 56 bits:
 Diviser la clé de 56 bits en deux segments.
 Rotation de chaque segment par un ou deux bits à droite.
 Sélection de 24 bits de chaque segment.
DES (étape 3) Un tour DES (One DES round)
Cryptage Décryptage
Block de 64 bits en entrée
32 bits Li 32 bits Ri
32 bits Li+1 32 bits Ri+1
Block de 64 bits en sortie
Fonction de cryptage
+
Block de 64 bits en entrée
32 bits Li+1 32 bits Ri+1
32 bits Li 32 bits Ri
Block de 64 bits en sortie
Fonction de cryptage
+
Sous-clé
de 48 bits
Sous-clé
de 48 bits
A
B
C
Fonction de cryptage
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
14
Un sous-bloc de 6 bits est transformé en un sous-bloc de 4 bits.
01=1
0100=4
C – Fonction de permutation
 Bit en position 1 est envoyé en position 16
Chiffrement symétrique
 La clé secrète est transformée en 16 parties Ki de
48 bits.
 Puis, on permute les deux parties en introduisant
une fonction de la clé.
 L1 = R0.
 R1 = L0 + f (K1, R0).
 Cette opération se répète 16 fois. A chaque étape i, on
a :
 Li = Ri-1.
 Ri = Li-1 + f (Ki, Ri-1).
Chiffrement symétrique - DES
 Ki représente la sous clé numéro i obtenu à partir de
la clé secrète.
 Le calcul de f se fait de la manière suivante :

les 32 bits de la partie R sont étendue à 48 bits grâce à
une table appelée E (Expansion).

Ce nouveau R, E(R) pour être plus précis, est additionné
à Ki.

Le résultat est découpé en huit suites Bi de six bits :
Grâce à la table S-Box, les données de ces huit suites
donne un résultat de 32bits.
Chiffrement symétrique - DES

Il y a 8 S-Box, une pour chacun Bi.

Chaque S-Box à 16 colonnes et 4 lignes.

Bi = b1b2b3b4b5b6. On calcule
 r = b1b6
 c = b2b3b4b5.

On regarde le nombre qui figure à la ligne r et à la
colonne c. Il est codé sur 4 bits est correspond à la sortie
Si(Bi).

Ensuite on effectue une permutation représentée par
une table appelée P et le résultat de cette permutation
est retourné par la fonction f.

Pour le déchiffrement, il suffit de faire l’opération
inverse.
Limites de DES
 Les progrès en cryptanalyse et en électronique a fait que la longueur
56 des clés est devenu un problème pour DES
 La taille de l’ensemble : {0,1}56
permet de retrouver la clé à partir
d’un texte clair connu en faisant du brute force.
 3-DES (triple DES) a été lancé comme un nouveau standard en 1999.
 Utilise 2 ou 3 clés.
 Niveau de sécurité satisfaisant.
 Permet de continuer l’utilisation des boites S-Box et P-Box matériel et
logiciel, en attendant la migration vers AES.
K3
DES
Cryptage décryptage Cryptage
Cryptage Cryptage Cryptage
Attaque par force brute
Key Size 1995 2005 2015 2030
40 bit key .2 seconds 2 milliseconds .02 milliseconds .02 microseconds
56 bit key 3.6 hours
2 minutes
1 second 1 millisecond
64 bit key 38 days 9 hours 5.5 minutes .3 seconds
80 bit key 7000 years 70 years 251 days 6 hours
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é.

Signature numérique: assurer l’authentification et la non
répudiation.

Distribution de clés: se mettre d’accord sur une clé de
session.
Algorithme Asymétrique
Message
chiffré
Message
clair chiffremen
t
Clé 1
Message
clair
déchiffreme
nt
Clé 2
A B
• Deux clés : clé publique / clé privé.
• Traitement relativement lent.
• Exemple : RSA (Rivest Shamir Adleman).
• Usage: authentification, signature, échange de clés.
Cryptographie asymétrique: scénarios
d’utilisation
Cryptage Internet Décryptage
Voici le
numéro
de ma
carte de
crédit
111111,
☺☼♀☻
♠♣▼╫◊
♫◙◘€£
¥₪Ω‫٭‬
Texte clair
Clé publique
du récepteur
Clé privée
du récepteur
Emetteur Récepteur
Voici le
numéro
de ma
carte de
crédit
111111,
Texte clair
Texte crypté
Scénario: confidentialité
Cryptage Internet Décryptage
Voici le
numéro
de ma
carte de
crédit
111111,
☺☼♀☻
♠♣▼╫◊
♫◙◘€£
¥₪Ω‫٭‬
Texte clair
Clé privée
de l’émetteur
Clé publique
de l’émetteur
Emetteur Récepteur
Voici le
numéro
de ma
carte de
crédit
111111,
Texte clair
Texte crypté
Scénario: authenticité de l’émetteur et non répudiation d’envoi
Cryptographie asymétrique: scénarios
d’utilisation
Chiffrement mixte
Texte Clair
Texte
Chiffré
Clé Aléatoire de Cryptage
Symétrique
Clé publique du
destinataire
Texte Clair
Texte
Chiffré
Clé Aléatoire de
Cryptage Symétrique
Clé privée du
destinataire
Scénario: Distribution des clés de session (clés symétriques)
Cryptographie asymétrique: scénarios
d’utilisation
cryptographie_sécurité_informatique__.ppt
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.
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 »
RSA: Exemple
 p = 17, q = 11, n = p x q= 187
 (n) = 16 x 10 =160,
 Choisir e = 7,
 d.e =1 (mod (n))  d = 23
Cryptage Décryptage
Texte clair
Texte
crypté
Texte clair
Chiffrement asymétrique - RSA
 Pour percer RSA, il “ suffit ” de pouvoir factoriser n. En effet, n est
connu et si on le factorise, on obtient p et q puis j et connaissant
j et d, on obtient e. Mais, la factorisation de n n’est pas une chose
facile. La factorisation de grands nombres suffit ,à elle seule, à
dissuader de nombreuses tentatives.
 En pratique, il y a deux difficultés pour implémenter RSA. La
première est la génération de grands nombres premiers (p et q)
et la seconde est l’élévation de nombre à des puissances très
grandes. Un standard de RSA est PKCS 1.
RSA: formules de base
 Fonction d'Euler φ(n) : représente le
nombre d'entiers premiers avec n.
 Exemples:

n est premier  φ(n) = n-1

n = p . q avec p et q premiers  φ(n) = (p-1).(q-1)
 Théorème d'Euler:
 a et n sont premiers entre eux 
aφ(n)
= 1 (mod
n)
Preuve de RSA
 D(E(M)) = (Me
mod n)d
mod n
= Me.d
mod n
 On a: e.d = 1 (mod φ(n) )
= z x φ(n) + 1
 Me.d
= M z x φ(n) + 1
= (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
Texte Clair
Condensat
Fonctions de Hachage: Principes
Internet
Hachage
Texte clair Texte clair
=?
Empreinte
reçue
Empreinte
recalculée
Empreinte
Empreinte
reçue
Empreinte
recalculée
= Le texte reçu est intègre
1)
Empreinte
reçue
Empreinte
recalculée
≠ Le texte reçu est altéré
2)
Hachage
Propriétés d’une fonction de
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
 MD5 : Message Digest 5
 Développé en 1991
 Génère une empreinte de taille 128 bits en traitant les
données d’entrée par blocs de 512 bits.
 SHA-1 : Secure Hash algorithm
 Génère une empreinte de taille 160 bits.
 Plus fort que MD5.
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)))
Signature
Message Texte
Chiffré
Condensât
Clé Privée de
L'Expéditeur
Signature
Message
Signature
Texte
Chiffré
Signature
Message
Condensât
Condensât
?
Clé publique du signataire
Signature
 La signature permet de mettre en œuvre
les services:
• Intégrité du message
• Authentification
• Non-répudiation
• Génération d’une clé de chiffrement
symétrique pour le service de Confidentialité
Signature numérique: Génération
Fonction de Hachage
Texte clair
Empreinte
Clé privée
du signataire
Processus de Génération de la Signature numérique
Signature
numérique
Cryptage Asymétrique
Empreinte
reçue
Empreinte
recalculée
= La signature reçue est correcte
1)
Signature numérique: Vérification
Décryptage
Hachage
Texte clair
=?
Empreinte
reçue
Empreinte
recalculée
Empreinte
reçue
Empreinte
recalculée
≠ La signature reçue est incorrecte
2)
Signature
numérique
Clé publique
de l’émetteur
Emetteur
Récepteur
Transmission du message,
du résultat de hachage
crypté, et des informations
relatives aux algorithmes
utilisés
Cryptage du résultat
de hachage avec la
clé privée de
l’émetteur
Décryptage avec la
clé public de
l’émetteur
Résultats
égaux
Emetteur du message authentifié,
message intègre, et l’émetteur ne peut
pas répudier l’envoi
Résultats
différent
Signature
incorrecte
Signature numérique VS Signature Manuscrite
 Les deux signatures (numérique & manuscrite )
assurent:
 Authentification du signataire
 Non répudiation.
 La signature numérique, seule,
assure l’intégrité des données.
Authentification
Non Répudiation
Intégrité
Certificat (1/2)
 Un certificat est un message signé avec la clé
privé d ’une entité
 On nomme cette entité une autorité de
certification
 Le certificat peut être vérifié avec la clé
publique de l’autorité de certification
 Les autorités de certification peuvent être
organisées en arbre. Il suffit d ’avoir
confiance en une seule pour pouvoir vérifier
un certificat quelconque de la hiérarchie.
Certificat (2/2)
texte en
clair
Algorithme
de
hachage
clé privée
de l'émetteur
condensât signature numérique (sceau)
certificat de
l'émetteur
clé DES générée
aléatoirement pour
chaque message
enveloppe
numérique
clé publique
du destinataire
message envoyé
Message OAEP
Benchmarks
 Pentium II  cadencé à 233 MHz, API
BSAFE 4.0 de RSA
Opération à effectuer Durée du traitement
DES
:génération de la clé sec
DES
: chiffrement 3241 Koctets/s
DES
: déchiffrement 3333 Koctets/s
MD5
: création d’un condensat 36 250 Koctets/s
RSA
: chiffrement 4,23 Koctet/s
RSA
: déchiffrement 2,87 Koctet/s
SHA
: création d’un condensât 36 250 Koctet/s
Standards PKCS
 PKCS : Public Key Cipher Systems
 Standards de la compagnie RSA
 Format de stockage des clés privées
 Format et extensions des certificats
 Requête pour l ’obtention d ’un certificat
 etc, ...
Les standards PKCS
 PKCS#1 : RSA Encryption Standard
 PKCS#3 : Diffie-Helman Key Agreement Standard
 PKCS#5 : Password-Based Encryption Standard
 PKCS#6 : Extended-Certificate Syntax Standard
 PKCS#7 : Cryptographic Message Syntax Standard
 PKCS#8 : Private-Key Information Syntax Standard
 PKCS#9 : Selected Attribute Types
 PKCS#10 : Certification Request Syntax Standard
 PKCS#11 : Cryptographic Token Interface Standard
 PKCS#12 : Personal Information Exchange Syntax Standard

Contenu connexe

PPT
Le chiffrement
PDF
06-chiffsym2.pdf
PPTX
Reseaux et SEcurite - Chapitre 3-Cryptographie.pptx
PDF
chapitre 6 - crypto.ppt.pdfchapitre 6 - crypto.ppt.pdfchapitre 6 - crypto.ppt...
PPTX
Algorithme-DES security cryptography algorithm
PDF
Cours_Cryptographie__Cours_Cryptographie.pdf
PPTX
Blowfish-Zaynab_Lboudaoudi -présentation.pptx
PPTX
Le cryptage et le décryptage
Le chiffrement
06-chiffsym2.pdf
Reseaux et SEcurite - Chapitre 3-Cryptographie.pptx
chapitre 6 - crypto.ppt.pdfchapitre 6 - crypto.ppt.pdfchapitre 6 - crypto.ppt...
Algorithme-DES security cryptography algorithm
Cours_Cryptographie__Cours_Cryptographie.pdf
Blowfish-Zaynab_Lboudaoudi -présentation.pptx
Le cryptage et le décryptage

Similaire à cryptographie_sécurité_informatique__.ppt (20)

PPTX
Présentation Cryptographie
PPSX
Présentation projet fin d'etude licence informatique 2009
PPTX
5-M206??????????_Introduction_Part5.pptx
PPTX
Cours2_INtroduction-aux-techniques-de-La-cryptographie.pptx
PPTX
CH1-CRYPTOGRAPHIE sécurité informatique.pptx
PDF
dokumen.tips_cours-3-chiffrement-par-bloc-cole-normale-ferradi-1997-le-des-co...
PPTX
cryptographie avancée cours licence iplformations
PPTX
Crypto graphy
PDF
Protocoles SSL/TLS
PPTX
Cryptographie Symétrique securité informatique
PPTX
Codes Convolutifs
PDF
Tp rsa1
PDF
Les ransomwares jouiniahmed
PPT
Chapitre 4
PDF
Rapport sécurité
PDF
Cryptographie
PPTX
haking wep
PPTX
Présentation Cryptographie
Présentation projet fin d'etude licence informatique 2009
5-M206??????????_Introduction_Part5.pptx
Cours2_INtroduction-aux-techniques-de-La-cryptographie.pptx
CH1-CRYPTOGRAPHIE sécurité informatique.pptx
dokumen.tips_cours-3-chiffrement-par-bloc-cole-normale-ferradi-1997-le-des-co...
cryptographie avancée cours licence iplformations
Crypto graphy
Protocoles SSL/TLS
Cryptographie Symétrique securité informatique
Codes Convolutifs
Tp rsa1
Les ransomwares jouiniahmed
Chapitre 4
Rapport sécurité
Cryptographie
haking wep
Publicité

Plus de dhaouadihazem (16)

PDF
Diapo_EquationNonLineaire_semaine26.04.pdf
PDF
Chap3_IntegrationNumérique_ENICARTHAGE_part1.pdf
PDF
4._Directives_Angular_Web_Avancé.pdf.pdf
PDF
Access Control List et Filtrage Cisco.pdf
PPT
Conception des algorithmes en utilisant des techniques de parallélismes.ppt
PDF
chap3-techniques-statiques_Test_logiciels.pdf
PDF
chap4_Techniques_de_Conception_des_tests.pdf
PPTX
Cours_Computer_Vision_ENICarthage_Nov22.pptx
PDF
chap 4 Régles ergonomiques dans les IHMs (partie 1).pdf
PDF
Introduction_STR_et_taches_Abir_FST_.pdf
PDF
ordonnancement_temps_reel_cours-français.pdf
PPTX
Arch_Ord_IF4_Partie1_2020_visio_FST.pptx
PPTX
Chapitre4_Modèle_Checking_Vérification_formelle.pptx
PDF
ExamSessionPrincipale2014SE_ENICARTHAGE.pdf
PDF
TP4Java.pdf
PPT
ethernet.ppt
Diapo_EquationNonLineaire_semaine26.04.pdf
Chap3_IntegrationNumérique_ENICARTHAGE_part1.pdf
4._Directives_Angular_Web_Avancé.pdf.pdf
Access Control List et Filtrage Cisco.pdf
Conception des algorithmes en utilisant des techniques de parallélismes.ppt
chap3-techniques-statiques_Test_logiciels.pdf
chap4_Techniques_de_Conception_des_tests.pdf
Cours_Computer_Vision_ENICarthage_Nov22.pptx
chap 4 Régles ergonomiques dans les IHMs (partie 1).pdf
Introduction_STR_et_taches_Abir_FST_.pdf
ordonnancement_temps_reel_cours-français.pdf
Arch_Ord_IF4_Partie1_2020_visio_FST.pptx
Chapitre4_Modèle_Checking_Vérification_formelle.pptx
ExamSessionPrincipale2014SE_ENICARTHAGE.pdf
TP4Java.pdf
ethernet.ppt
Publicité

Dernier (13)

PDF
Apprentissage supervisé : La Classification.pdf
PPTX
Chapitre7-java------------------ Exception.pptx
PDF
famille ................................
PPTX
template SR.pptx pour les présentations de soutenances
PDF
Proposition de contenu pouvant résoudre les problèmes détectés à partir des é...
PDF
Binayat 3D PROJET ECOLE SUR ENERGETIQUE DU BATIMENTS
PPTX
Cours_IoT.pptx k
PPT
Icc courant de court circuit explication
PDF
UX DESIGN presentation canva plan et slides
PDF
ENSEIGNEMENT/APPRENTISSAGE ET COMPETENCE
PDF
Controle-and-Assurance-Qualite-logicielle-Developpement-du-tableau-de-bord-de...
PDF
Regles sur la gestion de l’Eclairage public
PPT
Présentation de l’Analyse et Concepti SI
Apprentissage supervisé : La Classification.pdf
Chapitre7-java------------------ Exception.pptx
famille ................................
template SR.pptx pour les présentations de soutenances
Proposition de contenu pouvant résoudre les problèmes détectés à partir des é...
Binayat 3D PROJET ECOLE SUR ENERGETIQUE DU BATIMENTS
Cours_IoT.pptx k
Icc courant de court circuit explication
UX DESIGN presentation canva plan et slides
ENSEIGNEMENT/APPRENTISSAGE ET COMPETENCE
Controle-and-Assurance-Qualite-logicielle-Developpement-du-tableau-de-bord-de...
Regles sur la gestion de l’Eclairage public
Présentation de l’Analyse et Concepti SI

cryptographie_sécurité_informatique__.ppt

  • 1. Services et Mécanismes de base de la Cryptographie Systèmes symétriques et asymétriques Fonction de hachage Signature numérique Khaled SAMMOUD
  • 2. 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
  • 3. Services de la sécurité  Authentification  Identification  Intégrité  Confidentialité  Non-répudiation  Non-rejeu  Contre l’analyse de trafic  Horodatage
  • 4. 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é
  • 5. Cryptographie  Science mathématique permettant d’effectuer des opérations sur un texte intelligible afin d’assurer une ou plusieurs propriétés de la sécurité de l’information. Confidentialité Non Répudiation Intégrité Authentification
  • 6. 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: dk(ek(x))=x pour chaque x € P
  • 7. Principaux objectifs  Le texte clair ne doit pas être facilement obtenu à partir d’un texte crypté.  Les clés ne doivent pas être facilement obtenues à partir d’un texte crypté.  L’espace des clés doit être assez large pour résister aux attaques brute-force.
  • 8. Cryptanalyse  Principes et méthodes permettant de trouver un message clair à partir d’un message crypté sans connaissance de la clé.  Attaques classifiées selon le type de connaissance disponible pour l’intrus (cryptanalyst).  Connaissant C=E(P,K) mais pas K, l’objectif est de trouver P ou K.  Types d’attaques de cryptanalyse:  Texte chiffré uniquement: uniquement C et E sont connus par l’intrus  Texte clair connu: Uniquement E, C, et quelques paires de messages clairs/cryptés avec K, sont connus par l’intrus  Texte clair choisi: E, C, sont connus, et P a été choisi par l’intrus.  …
  • 9. Cryptage symétrique  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
  • 10. Cryptage symétrique: principe de base Voici le numéro de ma carte de crédit 111111, Texte clair Clé 01010000111 Clé 01010000111 Emetteur Récepteur Voici le numéro de ma carte de crédit 111111, Texte clair Cryptage Décryptage ☺☼♀☻ ♠♣▼╫◊ ♫◙◘€£ ¥₪Ω‫٭‬ Texte crypté Internet Transmission par canal sécurisé Cryptanalyst
  • 11. Algorithme Symétrique  Une seule clé: clé secrète  Transformation et permutation.  Traitement relativement rapide.  Problème d’échange et de gestion des clés.  Usage : service de confidentialité Message chiffré Message clair chiffremen t Clé Message clair déchiffreme nt Clé Alice Bob
  • 12. Cryptage symétrique: Modes Opérationnels  Cryptage par flux (Stream Cipher)  Principe: Traite les éléments d’entrée de façon continue, produisant à la fois un élément de sortie (crypté).  La clé est aussi longue que le stream de données.  Mode adapté pour la communication en temps réel: Pas besoin d’attendre l’arrivé du block entier  Implémenté en général sur des supports hardware.  Cryptage par bloc (Bloc Cipher)  Principe: Le texte est divisé en différents blocks de taille fixe. Un block est traité à la fois, produisant un block de données cryptées.  le block doit être entièrement disponible avant le traitement  La même fonction et la même clé est utilisée pour crypter les blocks successifs.  Implémentation d’une manière logicielle en générale.
  • 13. Algorithme Symétrique  Deux modes:  Chiffrement symétrique en stream  Chiffrement symétrique en bloc  Electric Code Block (ECB). - Cipher Block Chaining (CBC). E Mi-1 Ci-1 E Mi Ci ECB Mode E Mi-1 Ci-1 E Mi Ci CBC Mode
  • 14. Cryptographie Symétrique: opérations de base  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  La plupart des systèmes utilisent plusieurs étapes de transposition et de substitution.  Aucune information ne doit être perdue durant ces deux opérations
  • 15. Exemple de cryptage par substitution Exemple: Caesar's cipher  Etapes:  Clé = 3  Remplacer chaque lettre par celle qui la succède de trois (3).  a devient d, b devient e, …, y devient b, z devient c  L’algorithme peut être décrit comme suit:  C = E(p) = (p+3) mod (26)  Problèmes rendant la cryptanalyse de cet algorithme simple:  Algorithme de cryptage et de décryptage connu.  Seulement 25 clés à essayer.  Le langage du message clair est connu et facilement identifiable.
  • 16. Exemple de cryptage par transposition Exemple: Rail fence technique  Principe: Le texte clair est réécrit comme une séquence de lignes, puis réordonnée comme une séquence de colonnes Key: 4 3 1 2 5 6 7 Plaintext: a t t a c k p o s t p o n e d u n t i l t w o a m x y z Ciphertext: TTNA APTM TSUO AODW COIX KNLY PETZ  Cryptanalyse possible vue que l’algorithme préserve la fréquence de distribution des lettres du texte original.
  • 17.  Algorithmes de chiffrement en continu (Stream Cipher)  Exemple : RC4 (RSA Security)  Taille de la clé variable (128 bits en pratique).  Algorithmes de chiffrement par blocs (Block Cipher)  Chiffrement par blocs de texte clair: 64 bits (DES), 128 bits (AES).  DES (clé 56 bits), 3DES (clé de 168 bits ou 112 bits).  RC2 (clé 128 bits), Blowfish (clé 128bits, jusqu'à 448 bits), AES (clé 128, 192, 256 bits). Cryptographie Symétrique : exemples
  • 18. Algorithme Symétrique Algorithme Nom et commentaires Type de chiffrement Longueur de la clé Normalisé 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 Algorithm, en bloc de 64 bits 128 bits RC2 dévelopé par Ronald Rivest en bloc de 64 bits variable, 40 b.export. Non et propriétaire RC4 dévelopé par R. Rivest enfilé variable 40/ 128 bits Non, mais divulgé sur l’Internet en 1994 RC5 dévelopé par R. Rivest en bloc de 32, 64 ou 128 bits variable jusqu’à 2048 bits Non et propriétaire SKIPJACK Confidentiel développé aux États Unis par la NSA (National Security Agency - Agence de sécurité nationale des États Unis) pour des applications sur la carte PCMCIA Fortezza. en bloc de 64 bits 80 bits Secret défence aux États- Unis Triple DES en bloc de 64 bits 112 bits ANSI X9.52
  • 19. 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²).
  • 20. 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
  • 21.  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.
  • 23. DES (étapes 1 et 3): P-Box Permutation initiale Permutation finale  Le bit numéro 1 deviendra à la position 58  Implémentation simple en matériel
  • 24. DES (étape 2)  Les sous-clés (Round keys) sont générées à partir de la clé principale de 56 bits:  Diviser la clé de 56 bits en deux segments.  Rotation de chaque segment par un ou deux bits à droite.  Sélection de 24 bits de chaque segment.
  • 25. DES (étape 3) Un tour DES (One DES round) Cryptage Décryptage Block de 64 bits en entrée 32 bits Li 32 bits Ri 32 bits Li+1 32 bits Ri+1 Block de 64 bits en sortie Fonction de cryptage + Block de 64 bits en entrée 32 bits Li+1 32 bits Ri+1 32 bits Li 32 bits Ri Block de 64 bits en sortie Fonction de cryptage + Sous-clé de 48 bits Sous-clé de 48 bits
  • 27. 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
  • 28. B- Fonction de substitution 0 0 1 0 0 1 1110 14 Un sous-bloc de 6 bits est transformé en un sous-bloc de 4 bits. 01=1 0100=4
  • 29. C – Fonction de permutation  Bit en position 1 est envoyé en position 16
  • 30. Chiffrement symétrique  La clé secrète est transformée en 16 parties Ki de 48 bits.  Puis, on permute les deux parties en introduisant une fonction de la clé.  L1 = R0.  R1 = L0 + f (K1, R0).  Cette opération se répète 16 fois. A chaque étape i, on a :  Li = Ri-1.  Ri = Li-1 + f (Ki, Ri-1).
  • 31. Chiffrement symétrique - DES  Ki représente la sous clé numéro i obtenu à partir de la clé secrète.  Le calcul de f se fait de la manière suivante :  les 32 bits de la partie R sont étendue à 48 bits grâce à une table appelée E (Expansion).  Ce nouveau R, E(R) pour être plus précis, est additionné à Ki.  Le résultat est découpé en huit suites Bi de six bits : Grâce à la table S-Box, les données de ces huit suites donne un résultat de 32bits.
  • 32. Chiffrement symétrique - DES  Il y a 8 S-Box, une pour chacun Bi.  Chaque S-Box à 16 colonnes et 4 lignes.  Bi = b1b2b3b4b5b6. On calcule  r = b1b6  c = b2b3b4b5.  On regarde le nombre qui figure à la ligne r et à la colonne c. Il est codé sur 4 bits est correspond à la sortie Si(Bi).  Ensuite on effectue une permutation représentée par une table appelée P et le résultat de cette permutation est retourné par la fonction f.  Pour le déchiffrement, il suffit de faire l’opération inverse.
  • 33. Limites de DES  Les progrès en cryptanalyse et en électronique a fait que la longueur 56 des clés est devenu un problème pour DES  La taille de l’ensemble : {0,1}56 permet de retrouver la clé à partir d’un texte clair connu en faisant du brute force.  3-DES (triple DES) a été lancé comme un nouveau standard en 1999.  Utilise 2 ou 3 clés.  Niveau de sécurité satisfaisant.  Permet de continuer l’utilisation des boites S-Box et P-Box matériel et logiciel, en attendant la migration vers AES. K3 DES Cryptage décryptage Cryptage Cryptage Cryptage Cryptage
  • 34. Attaque par force brute Key Size 1995 2005 2015 2030 40 bit key .2 seconds 2 milliseconds .02 milliseconds .02 microseconds 56 bit key 3.6 hours 2 minutes 1 second 1 millisecond 64 bit key 38 days 9 hours 5.5 minutes .3 seconds 80 bit key 7000 years 70 years 251 days 6 hours 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
  • 35. 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.
  • 36. 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é.  Signature numérique: assurer l’authentification et la non répudiation.  Distribution de clés: se mettre d’accord sur une clé de session.
  • 37. Algorithme Asymétrique Message chiffré Message clair chiffremen t Clé 1 Message clair déchiffreme nt Clé 2 A B • Deux clés : clé publique / clé privé. • Traitement relativement lent. • Exemple : RSA (Rivest Shamir Adleman). • Usage: authentification, signature, échange de clés.
  • 38. Cryptographie asymétrique: scénarios d’utilisation Cryptage Internet Décryptage Voici le numéro de ma carte de crédit 111111, ☺☼♀☻ ♠♣▼╫◊ ♫◙◘€£ ¥₪Ω‫٭‬ Texte clair Clé publique du récepteur Clé privée du récepteur Emetteur Récepteur Voici le numéro de ma carte de crédit 111111, Texte clair Texte crypté Scénario: confidentialité
  • 39. Cryptage Internet Décryptage Voici le numéro de ma carte de crédit 111111, ☺☼♀☻ ♠♣▼╫◊ ♫◙◘€£ ¥₪Ω‫٭‬ Texte clair Clé privée de l’émetteur Clé publique de l’émetteur Emetteur Récepteur Voici le numéro de ma carte de crédit 111111, Texte clair Texte crypté Scénario: authenticité de l’émetteur et non répudiation d’envoi Cryptographie asymétrique: scénarios d’utilisation
  • 40. Chiffrement mixte Texte Clair Texte Chiffré Clé Aléatoire de Cryptage Symétrique Clé publique du destinataire Texte Clair Texte Chiffré Clé Aléatoire de Cryptage Symétrique Clé privée du destinataire
  • 41. Scénario: Distribution des clés de session (clés symétriques) Cryptographie asymétrique: scénarios d’utilisation
  • 43. 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.
  • 44. 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 »
  • 45. RSA: Exemple  p = 17, q = 11, n = p x q= 187  (n) = 16 x 10 =160,  Choisir e = 7,  d.e =1 (mod (n))  d = 23 Cryptage Décryptage Texte clair Texte crypté Texte clair
  • 46. Chiffrement asymétrique - RSA  Pour percer RSA, il “ suffit ” de pouvoir factoriser n. En effet, n est connu et si on le factorise, on obtient p et q puis j et connaissant j et d, on obtient e. Mais, la factorisation de n n’est pas une chose facile. La factorisation de grands nombres suffit ,à elle seule, à dissuader de nombreuses tentatives.  En pratique, il y a deux difficultés pour implémenter RSA. La première est la génération de grands nombres premiers (p et q) et la seconde est l’élévation de nombre à des puissances très grandes. Un standard de RSA est PKCS 1.
  • 47. RSA: formules de base  Fonction d'Euler φ(n) : représente le nombre d'entiers premiers avec n.  Exemples:  n est premier  φ(n) = n-1  n = p . q avec p et q premiers  φ(n) = (p-1).(q-1)  Théorème d'Euler:  a et n sont premiers entre eux  aφ(n) = 1 (mod n)
  • 48. Preuve de RSA  D(E(M)) = (Me mod n)d mod n = Me.d mod n  On a: e.d = 1 (mod φ(n) ) = z x φ(n) + 1  Me.d = M z x φ(n) + 1 = (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
  • 49. 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.
  • 50. 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
  • 51. 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é »
  • 52. Fonction de hashage Texte Clair Condensat
  • 53. Fonctions de Hachage: Principes Internet Hachage Texte clair Texte clair =? Empreinte reçue Empreinte recalculée Empreinte Empreinte reçue Empreinte recalculée = Le texte reçu est intègre 1) Empreinte reçue Empreinte recalculée ≠ Le texte reçu est altéré 2) Hachage
  • 54. Propriétés d’une fonction de 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).
  • 55. Fonctions de Hachage: Exemples  MD5 : Message Digest 5  Développé en 1991  Génère une empreinte de taille 128 bits en traitant les données d’entrée par blocs de 512 bits.  SHA-1 : Secure Hash algorithm  Génère une empreinte de taille 160 bits.  Plus fort que MD5.
  • 56. 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)))
  • 57. Signature Message Texte Chiffré Condensât Clé Privée de L'Expéditeur Signature Message
  • 59. Signature  La signature permet de mettre en œuvre les services: • Intégrité du message • Authentification • Non-répudiation • Génération d’une clé de chiffrement symétrique pour le service de Confidentialité
  • 60. Signature numérique: Génération Fonction de Hachage Texte clair Empreinte Clé privée du signataire Processus de Génération de la Signature numérique Signature numérique Cryptage Asymétrique
  • 61. Empreinte reçue Empreinte recalculée = La signature reçue est correcte 1) Signature numérique: Vérification Décryptage Hachage Texte clair =? Empreinte reçue Empreinte recalculée Empreinte reçue Empreinte recalculée ≠ La signature reçue est incorrecte 2) Signature numérique Clé publique de l’émetteur
  • 62. Emetteur Récepteur Transmission du message, du résultat de hachage crypté, et des informations relatives aux algorithmes utilisés Cryptage du résultat de hachage avec la clé privée de l’émetteur Décryptage avec la clé public de l’émetteur Résultats égaux Emetteur du message authentifié, message intègre, et l’émetteur ne peut pas répudier l’envoi Résultats différent Signature incorrecte
  • 63. Signature numérique VS Signature Manuscrite  Les deux signatures (numérique & manuscrite ) assurent:  Authentification du signataire  Non répudiation.  La signature numérique, seule, assure l’intégrité des données. Authentification Non Répudiation Intégrité
  • 64. Certificat (1/2)  Un certificat est un message signé avec la clé privé d ’une entité  On nomme cette entité une autorité de certification  Le certificat peut être vérifié avec la clé publique de l’autorité de certification  Les autorités de certification peuvent être organisées en arbre. Il suffit d ’avoir confiance en une seule pour pouvoir vérifier un certificat quelconque de la hiérarchie.
  • 65. Certificat (2/2) texte en clair Algorithme de hachage clé privée de l'émetteur condensât signature numérique (sceau) certificat de l'émetteur clé DES générée aléatoirement pour chaque message enveloppe numérique clé publique du destinataire message envoyé Message OAEP
  • 66. Benchmarks  Pentium II  cadencé à 233 MHz, API BSAFE 4.0 de RSA Opération à effectuer Durée du traitement DES :génération de la clé sec DES : chiffrement 3241 Koctets/s DES : déchiffrement 3333 Koctets/s MD5 : création d’un condensat 36 250 Koctets/s RSA : chiffrement 4,23 Koctet/s RSA : déchiffrement 2,87 Koctet/s SHA : création d’un condensât 36 250 Koctet/s
  • 67. Standards PKCS  PKCS : Public Key Cipher Systems  Standards de la compagnie RSA  Format de stockage des clés privées  Format et extensions des certificats  Requête pour l ’obtention d ’un certificat  etc, ...
  • 68. Les standards PKCS  PKCS#1 : RSA Encryption Standard  PKCS#3 : Diffie-Helman Key Agreement Standard  PKCS#5 : Password-Based Encryption Standard  PKCS#6 : Extended-Certificate Syntax Standard  PKCS#7 : Cryptographic Message Syntax Standard  PKCS#8 : Private-Key Information Syntax Standard  PKCS#9 : Selected Attribute Types  PKCS#10 : Certification Request Syntax Standard  PKCS#11 : Cryptographic Token Interface Standard  PKCS#12 : Personal Information Exchange Syntax Standard

Notes de l'éditeur

  • #43: Etapes Sélectionner deux entiers premiers entre eux « p » et « q » Calculer n = p x q Calculer φ(n)=(p-1)(q-1) Sélectionner « e » tel que: pgcd(φ(n),e)=1 ; 1<e<φ(n) En général « e » est un entier de petite taille. Calculer d=e-1 mod φ(n) En d’autre terme: d.e = 1 mod (φ(n)) Clé publique: Kpu={e,n} 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 »