SlideShare une entreprise Scribd logo
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
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
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
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
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
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
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
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
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
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
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
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

Contenu connexe

PPT
Le chiffrement
PPTX
Présentation Cryptographie
PPTX
Crypto graphy
ODP
Implémentation des principaux algorithmes de chiffrements en Java
PPTX
Le cryptage et le décryptage
PDF
Technique de Cryptographie AES, DES et RSA
PDF
Cryptographie
PDF
Cours si1
Le chiffrement
Présentation Cryptographie
Crypto graphy
Implémentation des principaux algorithmes de chiffrements en Java
Le cryptage et le décryptage
Technique de Cryptographie AES, DES et RSA
Cryptographie
Cours si1

Tendances (14)

PPSX
Mathématiques et codes secrets - Des mathématiques pour protéger les communic...
PDF
Crypto camer
DOCX
Cours cryptographie
PDF
Fichecrypto 110
PPTX
Convolutif
PDF
Introduction aux-sockets
PPTX
Codes Convolutifs
PDF
Musee
PDF
Turbo code
PDF
Notions de sécurité à l'usage des développeurs (Soat, 6 nov. 2014)
PDF
Etude et implémentation de quelque algorithme de chiffrement et de signature
PPTX
Formation1 sockets
PDF
Sthack 2015 - David Berard & Vincent Fargues - Attack the cache to get some cash
Mathématiques et codes secrets - Des mathématiques pour protéger les communic...
Crypto camer
Cours cryptographie
Fichecrypto 110
Convolutif
Introduction aux-sockets
Codes Convolutifs
Musee
Turbo code
Notions de sécurité à l'usage des développeurs (Soat, 6 nov. 2014)
Etude et implémentation de quelque algorithme de chiffrement et de signature
Formation1 sockets
Sthack 2015 - David Berard & Vincent Fargues - Attack the cache to get some cash
Publicité

En vedette (20)

PDF
Apprendre la cryptographie par l'attaque - Devoxx FR 2016
PDF
La cryptographie asymétrique enfin expliquée simplement
PPTX
Communication encrypter et méthode moderne investigation numérique légale
PPTX
Chiffrement affine et césar par Zellagui Amine
PPTX
Introduction to Elliptic Curve Cryptography
PDF
Elliptic Curve Cryptography
PPT
Secure hashing algorithm
PPTX
Secure Hash Algorithm
PDF
Rapport sécurité
PDF
Transpcrypto
PDF
Chapitre 6 hachage statique
DOC
Plan de cours - hiver 2012
PDF
Buenas Prácticas para Sitios Web orientados al ciudadano
PPT
Les GULL, une territorialité hybride ? Le cas de GiroLL
PPTX
Aprendizaje
PPT
Bibliotecas pasado presente y futuro
PPT
Vieilles_photos_insolites
PDF
Palmarès 2015 Renaissance Micheroux
PPTX
Chantier lycee madame
PPT
Herramientas Google para la academia
Apprendre la cryptographie par l'attaque - Devoxx FR 2016
La cryptographie asymétrique enfin expliquée simplement
Communication encrypter et méthode moderne investigation numérique légale
Chiffrement affine et césar par Zellagui Amine
Introduction to Elliptic Curve Cryptography
Elliptic Curve Cryptography
Secure hashing algorithm
Secure Hash Algorithm
Rapport sécurité
Transpcrypto
Chapitre 6 hachage statique
Plan de cours - hiver 2012
Buenas Prácticas para Sitios Web orientados al ciudadano
Les GULL, une territorialité hybride ? Le cas de GiroLL
Aprendizaje
Bibliotecas pasado presente y futuro
Vieilles_photos_insolites
Palmarès 2015 Renaissance Micheroux
Chantier lycee madame
Herramientas Google para la academia
Publicité

Similaire à Cours implementation-crypto (20)

PDF
dokumen.tips_cours-3-chiffrement-par-bloc-cole-normale-ferradi-1997-le-des-co...
PDF
Cryptographie de la théorie à la pratique.pdf
PDF
detest test test teZtest test test test test st test s-aes.pdf
PPT
cryptographie_sécurité_informatique__.ppt
PDF
chapitre 6 - crypto.ppt.pdfchapitre 6 - crypto.ppt.pdfchapitre 6 - crypto.ppt...
PPTX
Reseaux et SEcurite - Chapitre 3-Cryptographie.pptx
PPTX
Cours2_INtroduction-aux-techniques-de-La-cryptographie.pptx
PDF
Cryotographie
PDF
06-chiffsym2.pdf
PPT
notions de base de la cryptographie symétrique
PDF
Cours_Cryptographie__Cours_Cryptographie.pdf
PPTX
Algorithme-DES security cryptography algorithm
PDF
Etude et implémentation de quelle que
PDF
cours_cryptographie_pour_les_debutant.pdf
PPTX
CH1-CRYPTOGRAPHIE sécurité informatique.pptx
PPTX
5-M206??????????_Introduction_Part5.pptx
PPTX
Cryptosystéme de ElGamal
PDF
PPT
Signatures numériques
PPTX
cryptographie avancée cours licence iplformations
dokumen.tips_cours-3-chiffrement-par-bloc-cole-normale-ferradi-1997-le-des-co...
Cryptographie de la théorie à la pratique.pdf
detest test test teZtest test test test test st test s-aes.pdf
cryptographie_sécurité_informatique__.ppt
chapitre 6 - crypto.ppt.pdfchapitre 6 - crypto.ppt.pdfchapitre 6 - crypto.ppt...
Reseaux et SEcurite - Chapitre 3-Cryptographie.pptx
Cours2_INtroduction-aux-techniques-de-La-cryptographie.pptx
Cryotographie
06-chiffsym2.pdf
notions de base de la cryptographie symétrique
Cours_Cryptographie__Cours_Cryptographie.pdf
Algorithme-DES security cryptography algorithm
Etude et implémentation de quelle que
cours_cryptographie_pour_les_debutant.pdf
CH1-CRYPTOGRAPHIE sécurité informatique.pptx
5-M206??????????_Introduction_Part5.pptx
Cryptosystéme de ElGamal
Signatures numériques
cryptographie avancée cours licence iplformations

Plus de ابو محمدوعبدالرحمن عبد الملك (12)

Dernier (19)

PDF
ENSEIGNEMENT/APPRENTISSAGE ET COMPETENCE
PPTX
mon_expose_de_geophysique_disposotif_de_wener.pptx
PPT
Icc courant de court circuit explication
PDF
Manuel cswa-simulation (6) (1).pdf..........
PPTX
Introduction aux Systèmes temps réel.pptx
PDF
TP L’analyse granulométrique par tamisage
PPTX
mon_expose_de_geophysique_dispositif_de_schlumberger.pptx
PDF
Regles sur la gestion de l’Eclairage public
PDF
TP de La Masse Volumique apparente et absolue
PPTX
Chapitre7-java------------------ Exception.pptx
PPTX
Logique séquentielle : les fondamentaux
PDF
FAQ_FORAGE_EAU_SUNRISE_ENGINEERING_GROUP_SARL2025.pdf
PDF
famille ................................
PDF
Visite de chantier – Projet de Polyclinique à Laghouat
PDF
Arouna Toure - Senior Ingénieur Logiciel Et Chef De Produit
PPT
620118449-1-Introduction-de-La-MOCN.pptT
PDF
Proposition de contenu pouvant résoudre les problèmes détectés à partir des é...
PPT
Présentation de l’Analyse et Concepti SI
PDF
Expansion du Réseau de Gazoducs de Gaz Naturel au Brésil _ Analyse Technique ...
ENSEIGNEMENT/APPRENTISSAGE ET COMPETENCE
mon_expose_de_geophysique_disposotif_de_wener.pptx
Icc courant de court circuit explication
Manuel cswa-simulation (6) (1).pdf..........
Introduction aux Systèmes temps réel.pptx
TP L’analyse granulométrique par tamisage
mon_expose_de_geophysique_dispositif_de_schlumberger.pptx
Regles sur la gestion de l’Eclairage public
TP de La Masse Volumique apparente et absolue
Chapitre7-java------------------ Exception.pptx
Logique séquentielle : les fondamentaux
FAQ_FORAGE_EAU_SUNRISE_ENGINEERING_GROUP_SARL2025.pdf
famille ................................
Visite de chantier – Projet de Polyclinique à Laghouat
Arouna Toure - Senior Ingénieur Logiciel Et Chef De Produit
620118449-1-Introduction-de-La-MOCN.pptT
Proposition de contenu pouvant résoudre les problèmes détectés à partir des é...
Présentation de l’Analyse et Concepti SI
Expansion du Réseau de Gazoducs de Gaz Naturel au Brésil _ Analyse Technique ...

Cours implementation-crypto

  • 1. Introduction à la cryptographie et à son implémentation Guillaume Duc <guillaume.duc@telecom-paristech.fr> 2014–2015
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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