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

Tendances

Mathématiques et codes secrets - Des mathématiques pour protéger les communic...
Mathématiques et codes secrets - Des mathématiques pour protéger les communic...Mathématiques et codes secrets - Des mathématiques pour protéger les communic...
Mathématiques et codes secrets - Des mathématiques pour protéger les communic...
Dany-Jack Mercier
 
Crypto camer
Crypto camerCrypto camer
Crypto camer
dilan23
 
Cours cryptographie
Cours cryptographie  Cours cryptographie
Cours cryptographie
Kràlj Karel Awouzouba
 
Fichecrypto 110
Fichecrypto 110Fichecrypto 110
Fichecrypto 110
nabilo15
 
Des
DesDes
Codes Convolutifs
Codes ConvolutifsCodes Convolutifs
Codes Convolutifs
Anouar Loukili
 
Musee
MuseeMusee
Musee
ekofficiel
 
Turbo code
Turbo codeTurbo code
Turbo code
n allali
 
Notions de sécurité à l'usage des développeurs (Soat, 6 nov. 2014)
Notions de sécurité à l'usage des développeurs (Soat, 6 nov. 2014)Notions de sécurité à l'usage des développeurs (Soat, 6 nov. 2014)
Notions de sécurité à l'usage des développeurs (Soat, 6 nov. 2014)
Noël Bardelot
 
Etude et implémentation de quelque algorithme de chiffrement et de signature
Etude et implémentation de quelque algorithme de chiffrement et de signatureEtude et implémentation de quelque algorithme de chiffrement et de signature
Etude et implémentation de quelque algorithme de chiffrement et de signatureYassine Nasser
 
Formation1 sockets
Formation1 socketsFormation1 sockets
Formation1 sockets
Mariem SOMRANI
 
Sthack 2015 - David Berard & Vincent Fargues - Attack the cache to get some cash
Sthack 2015 - David Berard & Vincent Fargues - Attack the cache to get some cashSthack 2015 - David Berard & Vincent Fargues - Attack the cache to get some cash
Sthack 2015 - David Berard & Vincent Fargues - Attack the cache to get some cash
StHack
 

Tendances (14)

Mathématiques et codes secrets - Des mathématiques pour protéger les communic...
Mathématiques et codes secrets - Des mathématiques pour protéger les communic...Mathématiques et codes secrets - Des mathématiques pour protéger les communic...
Mathématiques et codes secrets - Des mathématiques pour protéger les communic...
 
Crypto camer
Crypto camerCrypto camer
Crypto camer
 
Cours cryptographie
Cours cryptographie  Cours cryptographie
Cours cryptographie
 
Fichecrypto 110
Fichecrypto 110Fichecrypto 110
Fichecrypto 110
 
Des
DesDes
Des
 
Convolutif
ConvolutifConvolutif
Convolutif
 
Introduction aux-sockets
Introduction aux-socketsIntroduction aux-sockets
Introduction aux-sockets
 
Codes Convolutifs
Codes ConvolutifsCodes Convolutifs
Codes Convolutifs
 
Musee
MuseeMusee
Musee
 
Turbo code
Turbo codeTurbo code
Turbo code
 
Notions de sécurité à l'usage des développeurs (Soat, 6 nov. 2014)
Notions de sécurité à l'usage des développeurs (Soat, 6 nov. 2014)Notions de sécurité à l'usage des développeurs (Soat, 6 nov. 2014)
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
Etude et implémentation de quelque algorithme de chiffrement et de signatureEtude et implémentation de quelque algorithme de chiffrement et de signature
Etude et implémentation de quelque algorithme de chiffrement et de signature
 
Formation1 sockets
Formation1 socketsFormation1 sockets
Formation1 sockets
 
Sthack 2015 - David Berard & Vincent Fargues - Attack the cache to get some cash
Sthack 2015 - David Berard & Vincent Fargues - Attack the cache to get some cashSthack 2015 - David Berard & Vincent Fargues - Attack the cache to get some cash
Sthack 2015 - David Berard & Vincent Fargues - Attack the cache to get some cash
 

En vedette

Apprendre la cryptographie par l'attaque - Devoxx FR 2016
Apprendre la cryptographie par l'attaque - Devoxx FR 2016Apprendre la cryptographie par l'attaque - Devoxx FR 2016
Apprendre la cryptographie par l'attaque - Devoxx FR 2016
ThierryAbalea
 
La cryptographie asymétrique enfin expliquée simplement
La cryptographie asymétrique enfin expliquée simplementLa cryptographie asymétrique enfin expliquée simplement
La cryptographie asymétrique enfin expliquée simplement
Alice and Bob
 
Communication encrypter et méthode moderne investigation numérique légale
Communication encrypter et méthode moderne investigation numérique légaleCommunication encrypter et méthode moderne investigation numérique légale
Communication encrypter et méthode moderne investigation numérique légale
Dominic Gingras
 
Chiffrement affine et césar par Zellagui Amine
Chiffrement affine et césar par Zellagui AmineChiffrement affine et césar par Zellagui Amine
Chiffrement affine et césar par Zellagui Amine
Zellagui Amine
 
Introduction to Elliptic Curve Cryptography
Introduction to Elliptic Curve CryptographyIntroduction to Elliptic Curve Cryptography
Introduction to Elliptic Curve Cryptography
David Evans
 
Elliptic Curve Cryptography
Elliptic Curve CryptographyElliptic Curve Cryptography
Elliptic Curve Cryptography
Kelly Bresnahan
 
Secure hashing algorithm
Secure hashing algorithmSecure hashing algorithm
Secure hashing algorithm
Karteek Paruchuri
 
Secure Hash Algorithm
Secure Hash AlgorithmSecure Hash Algorithm
Secure Hash Algorithm
Vishakha Agarwal
 
Rapport sécurité
Rapport sécuritéRapport sécurité
Rapport sécurité
dihiaselma
 
Transpcrypto
TranspcryptoTranspcrypto
Transpcrypto
ekofficiel
 
Chapitre 6 hachage statique
Chapitre 6 hachage statiqueChapitre 6 hachage statique
Chapitre 6 hachage statique
Sana Aroussi
 
Plan de cours - hiver 2012
Plan de cours - hiver 2012Plan de cours - hiver 2012
Plan de cours - hiver 2012leclercconseil
 
Buenas Prácticas para Sitios Web orientados al ciudadano
Buenas Prácticas para Sitios Web orientados al ciudadanoBuenas Prácticas para Sitios Web orientados al ciudadano
Buenas Prácticas para Sitios Web orientados al ciudadano
Paulo Saavedra
 
Les GULL, une territorialité hybride ? Le cas de GiroLL
Les GULL, une territorialité hybride ? Le cas de GiroLLLes GULL, une territorialité hybride ? Le cas de GiroLL
Les GULL, une territorialité hybride ? Le cas de GiroLLM@rsouin
 
Aprendizaje
AprendizajeAprendizaje
Aprendizaje
Alex Gonzaga
 
Bibliotecas pasado presente y futuro
Bibliotecas pasado presente y futuroBibliotecas pasado presente y futuro
Bibliotecas pasado presente y futuro
Liz Pagan
 
Vieilles_photos_insolites
Vieilles_photos_insolitesVieilles_photos_insolites
Vieilles_photos_insoliteslyago
 
Palmarès 2015 Renaissance Micheroux
Palmarès 2015 Renaissance MicherouxPalmarès 2015 Renaissance Micheroux
Palmarès 2015 Renaissance Micheroux
Fabrice Carlier
 
Chantier lycee madame
Chantier lycee madameChantier lycee madame
Chantier lycee madame
Bernardino Vieira
 
Herramientas Google para la academia
Herramientas Google para la academiaHerramientas Google para la academia
Herramientas Google para la academia
Liz Pagan
 

En vedette (20)

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

Similaire à Cours implementation-crypto

dokumen.tips_cours-3-chiffrement-par-bloc-cole-normale-ferradi-1997-le-des-co...
dokumen.tips_cours-3-chiffrement-par-bloc-cole-normale-ferradi-1997-le-des-co...dokumen.tips_cours-3-chiffrement-par-bloc-cole-normale-ferradi-1997-le-des-co...
dokumen.tips_cours-3-chiffrement-par-bloc-cole-normale-ferradi-1997-le-des-co...
SamiraElMargae1
 
06-chiffsym2.pdf
06-chiffsym2.pdf06-chiffsym2.pdf
06-chiffsym2.pdf
MohamedMohamed688090
 
Codage_Information.pptx
Codage_Information.pptxCodage_Information.pptx
Codage_Information.pptx
OlyvierNzighou1
 
Tp1 architecture m.zarboubi
Tp1 architecture m.zarboubiTp1 architecture m.zarboubi
Tp1 architecture m.zarboubi
MOHAMED ZARBOUBI
 
Présentation sécurité open_ssl
Présentation sécurité open_sslPrésentation sécurité open_ssl
Présentation sécurité open_ssl
dihiaselma
 
Réseaux partie 2.ppt
Réseaux partie 2.pptRéseaux partie 2.ppt
Réseaux partie 2.ppt
MohammedErritali2
 
FR - Les réseaux Ethernet - le format des trames.pdf
FR - Les réseaux Ethernet - le format des trames.pdfFR - Les réseaux Ethernet - le format des trames.pdf
FR - Les réseaux Ethernet - le format des trames.pdf
mouradslilem1
 
Protocoles SSL/TLS
Protocoles SSL/TLSProtocoles SSL/TLS
Protocoles SSL/TLS
Thomas Moegli
 
Chapitre 6 - Protocoles TCP/IP, UDP/IP
Chapitre 6  - Protocoles TCP/IP, UDP/IPChapitre 6  - Protocoles TCP/IP, UDP/IP
Chapitre 6 - Protocoles TCP/IP, UDP/IP
Tarik Zakaria Benmerar
 
Inf_theory_lect4.pdf
Inf_theory_lect4.pdfInf_theory_lect4.pdf
Inf_theory_lect4.pdf
kohay75604
 
Sthack 2015 - Aris "@aris_ada" Adamantiadis - DUAL_EC_DRBG : Une histoire de ...
Sthack 2015 - Aris "@aris_ada" Adamantiadis - DUAL_EC_DRBG : Une histoire de ...Sthack 2015 - Aris "@aris_ada" Adamantiadis - DUAL_EC_DRBG : Une histoire de ...
Sthack 2015 - Aris "@aris_ada" Adamantiadis - DUAL_EC_DRBG : Une histoire de ...
StHack
 
Cours reseaux lan
Cours reseaux lanCours reseaux lan
Cours reseaux lan
sarah Benmerzouk
 
2 codage source
2 codage source2 codage source
2 codage source
Abdou Obado
 
introCOA6-Intro_VHDL_AMS.ppt
introCOA6-Intro_VHDL_AMS.pptintroCOA6-Intro_VHDL_AMS.ppt
introCOA6-Intro_VHDL_AMS.ppt
AbdelRani
 
chap4 codes-en-ligne
chap4 codes-en-lignechap4 codes-en-ligne
chap4 codes-en-ligne
BAKKOURY Jamila
 
Cours programmation en langage C.pdf
Cours  programmation  en  langage  C.pdfCours  programmation  en  langage  C.pdf
Cours programmation en langage C.pdf
khalidmoussaid4
 
Seance 4- Programmation en langage C
Seance 4- Programmation en langage CSeance 4- Programmation en langage C
Seance 4- Programmation en langage C
Fahad Golra
 
sujet 1.pptx
sujet 1.pptxsujet 1.pptx
sujet 1.pptx
AYOUBBENHAMOU4
 
Cours6-AdressageIPtgths2wjioy5gvi86tjk.pdf
Cours6-AdressageIPtgths2wjioy5gvi86tjk.pdfCours6-AdressageIPtgths2wjioy5gvi86tjk.pdf
Cours6-AdressageIPtgths2wjioy5gvi86tjk.pdf
bapapambaye4
 

Similaire à Cours implementation-crypto (20)

dokumen.tips_cours-3-chiffrement-par-bloc-cole-normale-ferradi-1997-le-des-co...
dokumen.tips_cours-3-chiffrement-par-bloc-cole-normale-ferradi-1997-le-des-co...dokumen.tips_cours-3-chiffrement-par-bloc-cole-normale-ferradi-1997-le-des-co...
dokumen.tips_cours-3-chiffrement-par-bloc-cole-normale-ferradi-1997-le-des-co...
 
06-chiffsym2.pdf
06-chiffsym2.pdf06-chiffsym2.pdf
06-chiffsym2.pdf
 
Codage_Information.pptx
Codage_Information.pptxCodage_Information.pptx
Codage_Information.pptx
 
Tp1 architecture m.zarboubi
Tp1 architecture m.zarboubiTp1 architecture m.zarboubi
Tp1 architecture m.zarboubi
 
Présentation sécurité open_ssl
Présentation sécurité open_sslPrésentation sécurité open_ssl
Présentation sécurité open_ssl
 
Réseaux partie 2.ppt
Réseaux partie 2.pptRéseaux partie 2.ppt
Réseaux partie 2.ppt
 
Cours6 cdmm suite
Cours6 cdmm suiteCours6 cdmm suite
Cours6 cdmm suite
 
FR - Les réseaux Ethernet - le format des trames.pdf
FR - Les réseaux Ethernet - le format des trames.pdfFR - Les réseaux Ethernet - le format des trames.pdf
FR - Les réseaux Ethernet - le format des trames.pdf
 
Protocoles SSL/TLS
Protocoles SSL/TLSProtocoles SSL/TLS
Protocoles SSL/TLS
 
Chapitre 6 - Protocoles TCP/IP, UDP/IP
Chapitre 6  - Protocoles TCP/IP, UDP/IPChapitre 6  - Protocoles TCP/IP, UDP/IP
Chapitre 6 - Protocoles TCP/IP, UDP/IP
 
Inf_theory_lect4.pdf
Inf_theory_lect4.pdfInf_theory_lect4.pdf
Inf_theory_lect4.pdf
 
Sthack 2015 - Aris "@aris_ada" Adamantiadis - DUAL_EC_DRBG : Une histoire de ...
Sthack 2015 - Aris "@aris_ada" Adamantiadis - DUAL_EC_DRBG : Une histoire de ...Sthack 2015 - Aris "@aris_ada" Adamantiadis - DUAL_EC_DRBG : Une histoire de ...
Sthack 2015 - Aris "@aris_ada" Adamantiadis - DUAL_EC_DRBG : Une histoire de ...
 
Cours reseaux lan
Cours reseaux lanCours reseaux lan
Cours reseaux lan
 
2 codage source
2 codage source2 codage source
2 codage source
 
introCOA6-Intro_VHDL_AMS.ppt
introCOA6-Intro_VHDL_AMS.pptintroCOA6-Intro_VHDL_AMS.ppt
introCOA6-Intro_VHDL_AMS.ppt
 
chap4 codes-en-ligne
chap4 codes-en-lignechap4 codes-en-ligne
chap4 codes-en-ligne
 
Cours programmation en langage C.pdf
Cours  programmation  en  langage  C.pdfCours  programmation  en  langage  C.pdf
Cours programmation en langage C.pdf
 
Seance 4- Programmation en langage C
Seance 4- Programmation en langage CSeance 4- Programmation en langage C
Seance 4- Programmation en langage C
 
sujet 1.pptx
sujet 1.pptxsujet 1.pptx
sujet 1.pptx
 
Cours6-AdressageIPtgths2wjioy5gvi86tjk.pdf
Cours6-AdressageIPtgths2wjioy5gvi86tjk.pdfCours6-AdressageIPtgths2wjioy5gvi86tjk.pdf
Cours6-AdressageIPtgths2wjioy5gvi86tjk.pdf
 

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

Odoo new-api-guide-line
Odoo new-api-guide-lineOdoo new-api-guide-line
La communauté-open erp
La communauté-open erpLa communauté-open erp
Installation open erp-sous-windows1
Installation open erp-sous-windows1Installation open erp-sous-windows1
Installation open erp-sous-windows1
ابو محمدوعبدالرحمن عبد الملك
 
Installation d openerp
Installation d openerpInstallation d openerp
Guide technique-open erp
Guide technique-open erpGuide technique-open erp
Criteres evalformatscompressioncicmhd3d
Criteres evalformatscompressioncicmhd3dCriteres evalformatscompressioncicmhd3d
Criteres evalformatscompressioncicmhd3d
ابو محمدوعبدالرحمن عبد الملك
 

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

Odoo new-api-guide-line
Odoo new-api-guide-lineOdoo new-api-guide-line
Odoo new-api-guide-line
 
Macros
MacrosMacros
Macros
 
Lecon5
Lecon5Lecon5
Lecon5
 
La communauté-open erp
La communauté-open erpLa communauté-open erp
La communauté-open erp
 
Kaprykowsky rapport
Kaprykowsky rapportKaprykowsky rapport
Kaprykowsky rapport
 
Installation open erp-sous-windows1
Installation open erp-sous-windows1Installation open erp-sous-windows1
Installation open erp-sous-windows1
 
Installation d openerp
Installation d openerpInstallation d openerp
Installation d openerp
 
Guide technique-open erp
Guide technique-open erpGuide technique-open erp
Guide technique-open erp
 
Gloutons
GloutonsGloutons
Gloutons
 
Gestion de la_production
Gestion de la_productionGestion de la_production
Gestion de la_production
 
Dijkstra kshortest
Dijkstra kshortestDijkstra kshortest
Dijkstra kshortest
 
Criteres evalformatscompressioncicmhd3d
Criteres evalformatscompressioncicmhd3dCriteres evalformatscompressioncicmhd3d
Criteres evalformatscompressioncicmhd3d
 

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