Introduction à la
cryptographie et à son
implémentation
Guillaume Duc
<guillaume.duc@telecom-paristech.fr>
2014–2015
Cryptographie
Algorithmes sans clé
• Fonction de hachage (MD5, SHA1, SHA2, SHA3...)
• Générateur de nombres aléatoires
Alg...
Algorithme de chiffrement par bloc
Block cipher
E : {0, 1}n
× {0, 1}k
→ {0, 1}n
P, K → C = EK (P)
n est la taille d’un blo...
Modes d’opération usuels
ECB — Electronic CodeBook
P1
EK
C1
P2
EK
C2
P3
EK
C3
C1
DK
P1
C2
DK
P2
C3
DK
P3
Chiffrement
Déchi...
Modes d’opération usuels
CBC — Cipher Block Chaining
IV
P1
EK
C1
P2
EK
C2
P3
EK
C3
IV C1
DK
P1
C2
DK
P2
C3
DK
P3
Chiffreme...
Modes d’opération usuels
CTR — Counter Mode
N
EK
P1
C1
N + 1
EK
P2
C2
N + 2
EK
P3
C3
N
EK
C1
P1
N + 1
EK
C2
P2
N + 2
EK
C3...
Modes d’opération
Le choix du mode d’opération est critique pour la sécurité
ECB est déconseillé (identification de motifs)...
Blocs de base
Selon Shannon, un algorithme de chiffrement est basé sur
deux propriétés : la diffusion et la confusion
Conf...
Blocs de base
La confusion est généralement réalisée par des tables de
substitution (Substitution Box (S-Box)) qui permett...
Schéma général
Les algorithmes classiques de chiffrement par bloc
présentent une structure itérative
Opération de base (to...
Implémentation matérielle itérative
Schéma général
K
P
C
SK
Data path
Key schedule
11/12 COMELEC / SEN Guillaume Duc 2014–...
Schéma de Feistel
Plaintext (64 bits)
IP
L0 R0
F
SK1
L1 R1
F
SK2
L2 R2
...
...
L16 R16
FP
Ciphertext (64 bits)
1 tour
16 t...
Prochain SlideShare
Chargement dans…5
×

Cours implementation-crypto

375 vues

Publié le

introduction à la cryptographie

Publié dans : Ingénierie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
375
Sur SlideShare
0
Issues des intégrations
0
Intégrations
7
Actions
Partages
0
Téléchargements
21
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Cours implementation-crypto

  1. 1. Introduction à la cryptographie et à son implémentation Guillaume Duc <guillaume.duc@telecom-paristech.fr> 2014–2015
  2. 2. Cryptographie Algorithmes sans clé • Fonction de hachage (MD5, SHA1, SHA2, SHA3...) • Générateur de nombres aléatoires Algorithmes à clé symétrique • Chiffrement – Par bloc (DES, AES...) – Par flux/flot (RC4...) • Fonction de hachage à clé ou MAC (Message Authentication Code) Algorithmes à clé publique (asymétrique) • Chiffrement (RSA...) • Signature (RSA, DSA...) 2/12 COMELEC / SEN Guillaume Duc 2014–2015
  3. 3. Algorithme de chiffrement par bloc Block cipher E : {0, 1}n × {0, 1}k → {0, 1}n P, K → C = EK (P) n est la taille d’un bloc (en bits) k la taille de la clé (en bits) P est le message en clair (plaintext) K est la clé C est le message chiffré (ciphertext) Si on veut chiffrer des messages dont la taille est différente de n, il faut utiliser un mode d’opération 3/12 COMELEC / SEN Guillaume Duc 2014–2015
  4. 4. Modes d’opération usuels ECB — Electronic CodeBook P1 EK C1 P2 EK C2 P3 EK C3 C1 DK P1 C2 DK P2 C3 DK P3 Chiffrement Déchiffrement Problème de sécurité avec ce mode (identification de motifs) 4/12 COMELEC / SEN Guillaume Duc 2014–2015
  5. 5. Modes d’opération usuels CBC — Cipher Block Chaining IV P1 EK C1 P2 EK C2 P3 EK C3 IV C1 DK P1 C2 DK P2 C3 DK P3 Chiffrement Déchiffrement IV (Initialization Vector) est généré aléatoirement pour chaque message chiffré et transmis (en clair) 5/12 COMELEC / SEN Guillaume Duc 2014–2015
  6. 6. Modes d’opération usuels CTR — Counter Mode N EK P1 C1 N + 1 EK P2 C2 N + 2 EK P3 C3 N EK C1 P1 N + 1 EK C2 P2 N + 2 EK C3 P3 Chiffrement Déchiffrement N est un nombre aléatoire, transmis en clair avec le message On ne doit jamais chiffrer deux blocs avec le même compteur 6/12 COMELEC / SEN Guillaume Duc 2014–2015
  7. 7. Modes d’opération Le choix du mode d’opération est critique pour la sécurité ECB est déconseillé (identification de motifs) CBC est vulnérable lorsqu’une collision survient (après en moyenne 2n/2 où n est la taille d’un bloc en bits) Mode compteur : ne jamais chiffrer deux blocs avec le même compteur 7/12 COMELEC / SEN Guillaume Duc 2014–2015
  8. 8. Blocs de base Selon Shannon, un algorithme de chiffrement est basé sur deux propriétés : la diffusion et la confusion Confusion : rendre la relation entre la clé symétrique et le texte chiffré la plus complexe possible Diffusion : la redondance statistique sur le texte en clair doit être dissipée dans les statistiques du texte chiffré (les statistiques du texte chiffré doivent donner le moins d’informations possible sur le texte clair) • L’inversion d’un bit en entrée doit changer chaque bit en sortie avec une probabilité 1/2 8/12 COMELEC / SEN Guillaume Duc 2014–2015
  9. 9. Blocs de base La confusion est généralement réalisée par des tables de substitution (Substitution Box (S-Box)) qui permettent d’introduire de la non linéarité dans les calculs • DES : 8 fonctions différentes 6 bits vers 4 bits • AES : 1 fonction 8 bits vers 8 bits • Simon : Fonction logique ET La diffusion est réalisée de diverses façons • DES : Permutations • AES : Opérations ShiftRows et MixColumns • Simon : Permutations 9/12 COMELEC / SEN Guillaume Duc 2014–2015
  10. 10. Schéma général Les algorithmes classiques de chiffrement par bloc présentent une structure itérative Opération de base (tour / ronde / round) répétée un certain nombre de fois (16 pour DES, 10, 12 ou 14 pour AES) Chaque ronde utilise une sous-clé dérivée de la clé principale grâce à un algorithme baptisé key schedule Structure idéale pour une implémentation matérielle itérative 10/12 COMELEC / SEN Guillaume Duc 2014–2015
  11. 11. Implémentation matérielle itérative Schéma général K P C SK Data path Key schedule 11/12 COMELEC / SEN Guillaume Duc 2014–2015
  12. 12. Schéma de Feistel Plaintext (64 bits) IP L0 R0 F SK1 L1 R1 F SK2 L2 R2 ... ... L16 R16 FP Ciphertext (64 bits) 1 tour 16 tours 12/12 COMELEC / SEN Guillaume Duc 2014–2015

×