5. 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.
Intégrité
Authentification
Non Répudiation
Confidentialité
5
6. La sécurité d’un système cryptographique ne doit pas
reposer sur la non divulgation des fonctions de
chiffrement et de déchiffrement utilisées
mais sur la non divulgation des clés utilisées
pour les paramétrer.
6
8.
Aussi dit « à clé secrète »
Permet à partir d’une seul clé secrète de chiffrer et de
déchiffrer des données
Problème de distribution des clés (canaux sécurisés)
Exigences:
Un algorithme de cryptage solide.
Une clé secrète partagée et connue entre l’émetteur et le
récepteur.
Suppose que l’algorithme de cryptage est connu à l’avance
Exemples :
Algorithmes : ROT13, DES, IDEA, AES
Taille des clés : 56-128-192-256-… bits
8
9. Transmission par canal sécurisé
Clé
Clé
01010000111
01010000111
Cryptanalyste
Texte clair
Voici le
numéro
de ma
carte de
crédit
111111,
Cryptage
Internet
Décryptage
Texte clair
Voici le
numéro
de ma
carte de
crédit
111111,
☺☼♀☻
♠♣▼╫◊
♫◙◘€£
¥₪Ω٭
Texte crypté
Émetteur
Récepteur
9
11.
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.
11
12. Algorithme symétrique : 2 modes
Mi-1
E
Ci-1
Mi
E
Ci
ECB
Mode
Mi-1
E
Mi
E
CBC Mode
Chiffrement symétrique
en stream
Chiffrement symétrique
en bloc :
ECB : Electric Code
Block
CBC : Cipher Block
Chaining
Ci-1
Ci
12
13.
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.
13
14.
Cette méthode correspond à substituer un caractère ou un
groupe de caractères par un autre dans le texte à chiffrer.
Plusieurs types de crypto-systèmes par substitution :
monoalphabétique (code César) consiste à remplacer chaque lettre du
message par une autre lettre de l'alphabet
homophonique permet de faire correspondre à chaque lettre du
message en clair un ensemble possible d'autres caractères c'est un
peu similaire aux méthodes employées par les mordus de SMS ;
polyalphabétique (code Vigenère) consiste à utiliser une suite de
chiffrement, monoalphabétique réutilisée périodiquement ;
polygrammes consiste à substituer un groupe de caractères
(polygramme) dans le message par un autre groupe de caractères.
14
15.
Exemple: ROT13 (code de César sur Internet )
Site : http://www.apprendre-en-ligne.net/crypto/cesar/
Décalage de chaque lettre de l’alphabet latin de 13 lettres
15
16. Phase de déchiffrement
Phase de chiffrement
b aa tt ee aa u
u
b
Message en clair
a
Clé de chiffrement
Message en chiffré
b
c
n o p
n o
n o
…
b
b
o
m
n
z
a b
…
x
y
z
k
l
m
g rr n h
g
n h
16
17.
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.
17
18.
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
Plaintext: a t t
o s t
d u n
w o a
Ciphertext: TTNA
2 5 6 7
a c k p
p o n e
t i l t
m x y z
APTM TSUO AODW COIX KNLY PETZ
Cryptanalyse possible vue que l’algorithme préserve la
fréquence de distribution des lettres du texte original.
18
19.
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).
19
20. Algorithme
Nom et commentaires
Type de chiffrement
Longueur de Normalisé
la clé
DES
Data Encryption Standard
en bloc de 64 bits
56 bits
IDEA
International
Algorithm,
RC2
dévelopé par Ronald Rivest
en bloc de 64 bits
variable,
40
b.export.
RC4
dévelopé par R. Rivest
enfilé
variable
Non, mais divulgé sur
40/
128 l’Internet en 1994
bits
RC5
dévelopé par R. Rivest
en bloc de 32, 64 ou variable
128 bits
jusqu’à
2048 bits
SKIPJACK
Confidentiel développé aux États en bloc de 64 bits
Unis par la NSA (National Security
- Agence de sécurité
Agency
nationale des États Unis) pour des
applications sur la carte PCMCIA
Fortezza.
Triple DES
en bloc de 64 bits
Data
Encryption en bloc de 64 bits
FIPS Pub 81,1981 ANSI
X3.92, X3.105, X3.106
ISO
8372
ISO/IEC
10116
128 bits
Non et propriétaire
Non et propriétaire
80 bits
Secret défence aux ÉtatsUnis
112 bits
ANSI X9.52
20
21.
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²).
21
23.
DES pour « Data Encryption Standard ».
Introduit en 1977.
Chiffrage symétrique par blocs
Dérivé de l’algorithme Lucifer d’IBM
Fonctionne sur des blocs de 64 bits et des clés de 56 bits
Adapté aux besoins techniques de l’époque. Aujourd’hui les
capacités et efficacités matérielles sont meilleures.
Matériel spécialisé peut déterminer une clé DES 56 bits en
seulement quelques heures.
Besoin évident d’un nouveau standard de chiffrement.
23
24.
1997: NIST(National Institute of Standards and Technology) lance la
sélection de l’Advanced Encryption Standard qui remplacera le DES
Sélection des algorithmes s’est faite par :
Sécurité prouvé contre des classes d’attaques
Rapport coût-efficacité (matériel et logiciel)
Architecture algorithmique
Propriété intellectuelle
Présenté sous forme de concours:
Deux tours de sélection
21 candidats (grandes entreprises, universitaires, et individus)
5 finalistes (MARS, RC6, Rijndael, Serpent, Twofish)
Ouverture à la communauté par le biais de groupes de discussion et de
conférences
24
25. Joan Daeman et Vincent Rijmen
Concepteurs belges:
Vincent Rijmen
Joan Daeman
Publié en 1998
Chiffrage symétrique par blocs
Dérivé de l’algorithme Square (des mêmes concepteurs)
Le Rijndael: blocs de 128, 160, 192, 224 ou 256 bits, clé de 128,
160, 192, 224 ou 256 bits, et un nombre de rondes allant de 10
à 14.
L’AES est un sous-ensemble: blocs de 128bits, clés de 128, 192, 256 bits,
et 10, 12 ou 14 rondes.
25
26. Taille clé
(bits)
Taille de bloc (bits)
128
192
256
A
E
S
256
10
128
192
12
14
12
12
14
14
14
14
Tableau de nombre de rondes pour le Rijndael, déterminé en fonction de
la taille des blocs et de la taille de la clé
26
27. DES
AES
Taille de clé
56 bits
128, 192 ou 256 bits
Type de chiffre
Chiffre à bloc symétrique
Chiffre à bloc symétrique
Taille de bloc
64 bits
128, 192 ou 256 bits
Résistance à la cryptanalyse
Vulnérable à la cryptanalyse
linéaire et différentielle; tables de
substitution faibles
Résistant contre des attaques
différentielles, linéaires et par
interpolation.
Sécurité
Prouvé comme inadéquat
Considéré sécurisé
Clés possibles
256
2128,2192 ou 2256
Clés possibles composées de
caractères ASCII affichables*
957
9516, 9524 ou 9532
Recherche sur toutes les clés
possibles à 50 milliard de clés par
seconde**
Pour une clé de 56 bits: 400 jours
Pour une clé de 128 bits:
5 x 1021 years
* - Il y a 95 caractères ASCII affichables
** - Temps affiché pour une recherche sur 100% des clés. ¨En théorie, une clé peut être trouvée après 50%
de recherche.
Source :
27
28. bloc départ
Clé de chiffrage
ronde initiale
AddRoundKey
AddRoundKey
SubBytes
SubBytes
ShiftRows
ShiftRows
MixColumns
MixColumns
Le chiffrement se fait sur 10 rondes
composées de 4 étapes.
9 rondes
Clé de ronde n
AddRoundKey
AddRoundKey
SubBytes
SubBytes
ShiftRows
ShiftRows
Clé de ronde 10
ronde finale
AddRoundKey
AddRoundKey
bloc arrivé
0
ronde 10
9
7
4
3
2
8
6
5
28
29. Animation basée sur une
réalisation d’Enrique Zabala.
d4
19
e0
a0
b8
9a
e9
1e
d4
3d
27
bf
f4
b4
c6
41
f8
e3
11
98
e2
8d
5d
48
52
be
ae
2b
f1
2a
e5
08
30
S-BOX
Substituer chaque élément du bloc de données par l’élément correspondant dans la table de
substitution (notée S-Box) telles que définie par Rijndael.
29
30. Animation basée sur une
réalisation d’Enrique Zabala.
d4
e0
b8
1e
27
bf
b4
41
Décalage d’un octet
11
98
5d
52
Décalage de 2 octets
ae
f1
e5
30
Décalage de 3 octets
Effectuer un décalage cyclique sur chaque ligne en partant de la gauche, de 0 éléments pour la
première ligne, puis 1 élément pour la deuxième, en incrémentant le nombre d’élément à
chaque ligne.
30
31. Animation basée sur une
réalisation d’Enrique Zabala.
d4
e0
b8
48
28
1e
bf
b4
cb
41
f8
06
27
5d
52
19
d3
11
26
98
30
9a
ae
7a
f1
e5
4c
04
.
=
66
81
e5
Multiplier chaque colonne du bloc par un polynôme de degré 3 modulo un polynôme de degré 4
(tous deux constants et inversibles, tels que définis par Rijndael), ce qui revient à faire une
multiplication matricielle pour chacune des colonnes.
31
32. Animation basée sur une
réalisation d’Enrique Zabala.
04
a4
68
e0
6b
48
02
28
a0
88
23
2a
66
9c
cb
9f
5b
f8
06
6a
fa
54
a3
6c
81
7f
19
35
ea
d3
26
50
fe
2c
39
76
e5
f2
2b
9a
43
7a
49
4c
17
b1
39
05
(XOR)
Clé de ronde
Application d’un XOR terme-à-terme avec la clé de ronde.
32
34.
Chiffrement de documents confidentiels
L’algorithme AES est utilisé pour protéger des documents
confidentiels.
Voix sur IP: Skype
The Committee on National
Security Systems
“Skype uses AES (Advanced Encryption Standard), […]
which is used by U.S. Government organizations to protect
sensitive, information.”
WiFi: pour le WPA2 (norme IEEE 802.11i)
Utilise l’algorithme AES plutôt que RC4 (utilisé par WEP et
WPA)
Compression de fichiers: WinRAR et WinZip
34
35.
NESSIE (New European Schemes
for Signatures, Integrity and
Encryption)
Standard définit par l’Union
Européenne
CRYPTREC (Cryptography
Research and Evaluation
Committee)
Standard japonais
Recommandent tous deux
l’utilisation de l’AES
35
36. Attaque exhaustive (brute force)
Key Size
1995
2005
2015
2030
40 bit key
.2 seconds
2 milliseconds
.02 milliseconds
.02 microseconds
56 bit key
3.6 hours
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
2 minutes
36
37.
Attaques sur des versions simplifiées
Certaines attaques effectuées avec succès en
réduisant le nombre de rondes à 7, 8, et 9 (en
ajoutant une contrainte supplémentaire sur la clé)
publiées en 2000
Attaques sur la version complète
Méthode XSL a suscité un débat au sein de la communauté de la
cryptologie
37
38.
Publiée par Nicolas Courtois et Josef Pieprzyk en 2002 sousentend pouvoir casser AES.
Attaque porte sur l’architecture de chiffrage du Rijndael.
Si possible, est une « certificational weakness »: requiert un
nombre trop important de ressources, donc ne pose
(actuellement) pas de problème à la sécurité réelle d’un
système.
Démontré en 2004 par Claus Diem comme ne pouvant pas
casser l’AES.
38
39.
En 2004, lors de la conférence AES 4 à Bonn
Vincent Rijmen, co-concepteur du Rijndael: "The XSL attack is not an
attack. It is a dream.“
Nicolas Courtois, auteur de la méthode XSL, répond: "It will become
your nightmare".
Sources :
39
42.
Initié dans les années 70
Whyfield Diffie
Martin Hellman
Ralph Merkle
But : Permettre les échanges chiffrés sans entente préalable
sur une clé commune
42
43.
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.
43
44.
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.
Exemples :
RSA (Rivest, Shamir & Adleman)
El-Gamal
Diffie-Hellman
ECC (Elliptic curve cryptography)…
44
45. Scénario: confidentialité
Clé publique
du récepteur
Texte clair
Cryptage
Voici le
numéro
de ma
carte de
crédit
111111,
Clé privée
du récepteur
Internet
Internet
Décryptage
Texte clair
Voici le
numéro
de ma
carte de
crédit
111111,
☺☼♀☻
♠♣▼╫◊
♫◙◘€£
¥₪Ω٭
Texte crypté
Émetteur
Récepteur
45
46. Scénario: authenticité de l’émetteur et non répudiation d’envoi
Clé publique
de l’émetteur
Clé privée
de l’émetteur
Texte clair
Cryptage
Voici le
numéro
de ma
carte de
crédit
111111,
Internet
Internet
Décryptage
Voici le
numéro
de ma
carte de
crédit
111111,
☺☼♀☻
♠♣▼╫◊
♫◙◘€£
¥₪Ω٭
Émetteur
Texte clair
Texte crypté
Récepteur
46
48.
Basé sur une paire de clés (publique et privée)
Fonction mathématique « à sens unique » liant l’une à l’autre
Multiplication vs. Factorisation
Exponentiation vs. Logarithme
Plus dur est l’opération inverse (« reverse ») par rapport à
l’opération de base (« forward »), plus l’algorithme peut être
qualifié de sûr
48
49.
Exemple Multiplication vs. Division :
165*285 = 47025
47025 = x * y ?
Exemple Exponentiation vs. Logarithme :
17^13 = 9904578032905937
logx 9904578032905937 = y ?
49
51. Clé publique de Bob
Clé publique de Bob
Clé privée de Bob
Clé privée de Bob
Alice peut verrouiller un message avec le cadenas de Bob
Seul Bob peut ouvrir le cadenas
51
55.
Permet la discussion sans accord préalable sur une clé
commune
Peut être utilisé pour communiquer une clé de chiffrage
symétrique de façon confidentielle (algorithmes symétriques
plus efficaces)
55
57.
Idée d’utiliser les courbes elliptiques pour la cryptographie
née en 1985
Victor Miller (IBM)
Neal Koblitz (University of Washington)
Libre, grand potentiel, mais trop lent
Certicom
N. Koblitz
Société Canadienne crée en 1985
Nouvelles implémentations des algorithmes ECC
Premier produit commercial basé sur ECC en 1997
Place prépondérante dans l’exploitation de l’ECC
En relation avec N. Koblitz
57
58.
Les courbes elliptiques sont définies sur tous les ensembles
possibles (réels, complexes, entiers, …)
Equation d’une courbe Elliptique:
y² = x³ + ax + b
58
63. Alice
E(a,b,K)
P
kA = 2
PkA
kAPkB
Les valeurs
utilisées ici sont
très réduites afin
de simplifier la
compréhension
et la lisibilité.
-6P
y
4P
P
kBPkA
Pirate
E(a,b,K)
P
3P = PkB
PkA
PkB
Bob
E(a,b,K)
P
kB = 3
PkB
x
2P = PkA
Clé ???
5P
A et B calculent le produit de leur clé privée et de la clé publique de l’autre. Le résultat est
identiqueB au hasard etsurclé et le domaine utilisé niveau
A et A et B s’accordentA etla courbe utiliséd’origineclé pour l’échange.
B choisissent calculentB unes’échangent leur cléselonpour Pk.de sécurité.
A et Bpour sur puissera point comme de l’échange.
A et s’accordent
le privée de x bits publique l’échange.
6P = kBPkA = kAPkB
63
65.
La difficulté de casser l’algorithme est basée sur le problème
des logarithmes discrets (DLP)
Pour l’ECC, rallonger la clé permet d’augmenter le temps de
cassage de tn
En comparaison RSA (Factorisation), DSA (Petit Théorème
de Fermat), Diffie-Hellman (DLP) le temps augmente de t√n
65
69.
Parfait pour périphériques mobiles
Facile à gérer en hardware
Clés réduites, réduit bande passante
Faible consommation (chaleur, batterie)
Intérêts serveurs
Faible consommation de ressource système (plus de requêtes
satisfaites)
Consommation électrique réduite
Cryptographie conçue pour durer
69
70.
Motorola
Alcatel-Lucent :Certicom's technology
enables operators to offer virtual private
network (VPN) solutions to the growing
base of DSL users
RIM : large-scale deployment of
Certicom's high-performance, highly
efficient ECC within its secure wireless
devices
NSA
70
71.
Le « ECC/TLS Interoperability Forum » a été créé en 2006
pour promouvoir l’usage de l’ECC dans le cadre du protocole
HTTPS. Les membres actuels sont des représentants de
Apache/OpenSSL, Certicom, IBM, Microsoft, Mozila/Firefox,
NSA, Red Hat, RSA, Sun et Verisign.
71