Vous êtes sur la page 1sur 32

16/11/2020

3ème LFSI

Sécurité
informatique
CHAPITRE 3 :
CRYPTOGRAPHIE SYMÉTRIQUE (À CLÉ SECRÈTE)

Les fonctions de hachage

SÉCURITÉ INFORMATIQUE 2

1
16/11/2020

Contexte et motivations
Importance de l’intégrité
Les données peuvent changer:
–Dans la même machine
–Durant leur transfert entre 2 machines
•Origines des changements:
–Erreurs d’inattention
–Altération malveillante
•Solutions déjà existantes:
–Bits de parité
–Code auto-correcteur (ex. Hamming)
–…

Contexte et motivations
Importance de l’intégrité:
Risques suite au manque d’intégrité:
–Falsification de messages
–Corruption du système d’exploitation
–Effacement des traces liées à une attaque
–…

2
16/11/2020

Contexte et motivations
Besoin d’une empreinte
Vérifier l’intégrité nécessite une comparaison avec la version originale
•Garder une copie intégrale de chaque donnée et l’utiliser pour vérifier
l’intégrité n’est pas une solution pratique
•Cependant, une alternative est de garder une empreinte, de taille
raisonnable, et la comparer avec l’empreinte de la version de la donnée
à vérifier
•Empreintes => fonctions de hachage

Contexte et motivations

3
16/11/2020

Fonction de
hachage/condensation
Fonction permettant d'obtenir un résumé d'un texte, c-à-d. une suite de
caractères assez courte représentant le texte qu‘elle résume
Une fonction de hachage "H" transforme une entrée d'une dimension
variable "m" et donne comme résultat une sortie de données inférieure
et fixe "h"

Processus de vérification

Données originales

Copie falcifiée

Copie intègre

4
16/11/2020

L’authentification?
Très importante dans l’échange de messages
–MITM (Man-In-The-Middle)
–Recevoir une paire (message, empreinte) n’assure aucune garantie de
leur origine

L’authentification?
Utiliser une clé secrète

10

5
16/11/2020

L’authentification?
Utiliser une clé secrète … MAIS attention aux anciens messages

Solution: voir protocoles


cryptographiques

11

Fonction de hachage/condensation

Une fonction de hachage doit remplir les


conditions:
◦ L'entrée peut être de dimension variable
◦ La sortie doit être fixe
◦ H(m) doit être une fonction à sens unique
◦ impossible de trouver m à partir de h
◦ H(m) doit être « sans collision »
◦ la moindre modification du document entraîne la
modification de son résumé

12

6
16/11/2020

Fonction de
hachage/condensation
Principales applications
◦ Signatures numériques
◦ Intégrité des données
◦ le changement d'une partie du document change son empreinte

Exemples d’algorithmes de hachage

13

Fonction de
hachage/condensation
Hachage=>Contrôler l’intégrité

14

7
16/11/2020

La crypthographie

SÉCURITÉ INFORMATIQUE 15

Définition de la cryptographie
Science mathématique permettant d’effectuer des opérations sur un
texte en clair afin d’assurer un ou plusieurs objectifs de la sécurité de
l’information
◦ Confidentialité
◦ Intégrité
◦ Authentification d'un tiers
◦ Non-répudiation

16

8
16/11/2020

Terminologie
La cryptologie est une science qui comporte deux branches: la
cryptographie et la cryptanalyse

Afin de protéger un message, on lui applique une transformation


paramétrée par une clé; c’est ce qu’on appelle le chiffrement, qui, à partir
d’un texte en clair donne un texte chiffré ou un cryptogramme
Chiffrement : Le chiffrement consiste à transformer une donnée (texte,
message, ...) afin de la rendre incompréhensible par une personne autre
que celui qui a créé le message et celui qui en est le destinataire. La
fonction permettant de retrouver le texte clair à partir du texte chiffré porte
le nom de déchiffrement.
La cryptographie est l’étude des méthodes donnant la possibilité d’envoyer
des données de manière confidentielle sur un support donné.

17

Terminologie
Texte chiffré : Appelé également cryptogramme, le texte chiffré est le
résultat de l’application d’un chiffrement à un texte clair.
Clef : Il s’agit du paramètre impliqué et autorisant des opérations de
chiffrement et/ou déchiffrement. Dans le cas d’un algorithme
symétrique, la clef est identique lors des deux opérations. Dans le cas
d’algorithmes asymétriques, elle diffère pour les deux opérations.
La cryptanalyse est l’étude des procédés cryptographiques dans le but
de trouver des faiblesses et pouvoir décrypter un cryptogramme sans
connaître la méthode cryptographique et/ou ses paramètres
◦ C’est l’art de tenter de « casser » un cryptogramme

18

9
16/11/2020

Terminologie
Cryptosystème : Il est défini comme l’ensemble des clés possibles
(espace de clés), des textes clairs et chiffrés possibles associés à un
algorithme donné.

19

Terminologie
L’algorithme est en réalité un triplet d’algorithmes :
– l’un générant les clés K,
– un autre pour chiffrer M, et
– un troisième pour déchiffrer C.

20

10
16/11/2020

Terminologie

21

Histoire
La cryptographie est utilisée depuis l'Antiquité, mais
certaines de ses méthodes les plus importantes, comme la
cryptographie symétrique moderne et la cryptographie
asymétrique, datent de la fin du XXe siècle.
On peut dire que la cryptographie est un art ancien et une
science nouvelle

22

11
16/11/2020

Chiffrement symétrique
Appelé aussi chiffrement à clef secrète
Clef de chiffrement = clef de déchiffrement
C’est la clef secrète, qui doit être connue des tiers communicants et d’eux seuls

23

Chiffrement symétrique

24

12
16/11/2020

Chiffrement symétrique
On distingue deux types de chiffrement:
◦ Chiffrement par bloc (Block Cypher)
◦ Agit sur le texte en clair par groupes de bits appelés blocs
◦ Le bloc doit être entièrement disponible avant le traitement
◦ Chiffrement en flux continu (Stream cypher)
◦ Agit sur le texte en clair par bit ou par caractère (octet), lors du
cryptage ou décryptage (pas besoin d’attendre l’arrivée d’un bloc)

25

Chiffrement symétrique
Ce type de chiffrement existe depuis très longtemps
Principes de base
◦ Toute la crypto symétrique repose sur deux et seulement
deux principes :
◦ Substitution
◦ La substitution consiste à remplacer les caractères du texte clair par d’autres
caractères (lettres, chiffres ou autres caractères)
◦ Transposition
◦ Utilise le principe mathématique des permutations
◦ Toutes les lettres du message sont présentes, mais dans un ordre différent

26

13
16/11/2020

Chiffrement symétrique

Quelques algorithmes classiques


◦ Chiffrement par substitution
◦ Monoalphabétique
◦ Polyalphabétique

◦ Chiffrement par transposition


◦ Transposition simple de colonnes
◦ Transposition complexe de colonnes

27

Substitution
monoalphabétique
Le Chiffrement de César est un des plus anciennes
techniques de chiffrement monoalphabétique (60~50 av JC)
Consiste à décaler l’alphabet de 3 lettres vers la gauche

Exemple
◦ Texte en clair: attaquons demain dix heures
◦ Texte chiffré: dwwdtxrqvghpdlqglakhxuhv

Remarque: la connaissance de la langue permettra au destinataire de replacer les


espaces et la ponctuation.

28

14
16/11/2020

Chiffrement de César
Pour le chiffrement, on aura la formule
C = E(p) = (p + k) mod 26
Pour le déchiffrement, il viendra
p = D(C) = (C − k) mod 26

29

Chiffrement de César

Si le texte est suffisamment long, il est possible de trouver la


substitution en analysant la fréquence des lettres.
Donc, le texte en clair peut être retrouvé à partir du cryptogramme seul.

30

15
16/11/2020

Substitution
monoalphabétique
Le Chiffrement de César (extrêmement simple)
peut être généralisé
A B IlCsuffit
D E Fde
G définir
H I J Kl’alphabet
L M N O Pmonoalphabétique
Q R S T U V W X Y Z
Q W E R T Y U I O P A S D F G H J K L Z X C V B N M

Ici, au lieu d’un simple décalage, l’alphabet


substituant ne résulte plus d’un simple
décalage mais d’une permutation aléatoire

31

Substitution polyalphabétique
Chiffre de Vigenère (1568): C’est une amélioration décisive du chiffre de
César. Sa force réside dans l’utilisation non pas d’un, mais de 26
alphabets décalés pour chiffrer un message. On parle du carré de
Vigenère.
Ce chiffre utilise une clef qui définit le décalage pour chaque lettre du
message (A : décalage de 0 cran, B : 1 cran, C : 2 crans, ..., Z : 25 crans).

32

16
16/11/2020

Substitution polyalphabétique
Exemple : chiffrer le texte "CHIFFRE DE VIGENERE" avec la clef
"BACHELIER" (cette clef est éventuellement répétée plusieurs fois pour
être aussi longue que le texte clair)

33

Substitution polyalphabétique
La grande force du chiffre de Vigenère est que la même lettre sera
chiffrée de différentes manières d’où perte de la fréquence des lettres,
ce qui rend inutilisable l’analyse de fréquence classique.
Pour utiliser le chiffrement de Vigenère, on a recours au Carré de
Vigenère, illustré à la figure suivante:

34

17
16/11/2020

35

Substitution polyalphabétique
La lettre de la clef est dans la colonne la plus à gauche, la lettre du
message clair est dans la ligne tout en haut. La lettre chiffrée est à
l’intersection des deux.
L’emploi du carré de Vigenère est souvent sujet à erreurs : la lecture en
est pénible et, à la longue, fatigante. Beaucoup de cryptologues
préfèrent se servir d’une "réglette", facile à construire, et d’un
maniement plus rapide.
Si le texte est suffisamment long, il est possible de trouver les
substitutions en découpant le texte selon la longueur présumée de la
clé puis en analysant les fréquences des lettres. Donc, le texte en clair
peut être retrouvé à partir du cryptogramme seul. Même si le nombre
de clés est grand,

36

18
16/11/2020

Transposition simple de
colonnes
Il est possible d’utiliser les tableaux bidimensionnels pour créer des
codages par transposition simple d’un message entier en un seul bloc
Exemple: écrivons " Ceci est un texte à chiffrer de la plus haute
importance" dans une matrice 6x8

37

Transposition simple
C E C I E S T U
N T E X T E À C
H I F F R E R D
E L A P L U S H
A U T E I M P O
R T A N C E Ø Ø

Le texte codé est alors:


CNHEARETILUTCEFATAIXFPENETRLICSEEUMETÀRSPØUCDHOØ

38

19
16/11/2020

Transposition simple de
colonnes
Le déchiffrement consiste à écrire en colonnes le message chiffré dans
une matrice 6x8 puis à lire les lignes les unes à la suite des autres
Cette méthode de codage est appelée transposition simple de colonnes
Permute le texte clair pour obtenir comme texte codé un de ses
anagrammes

39

Transposition complexe de colonnes


Il s’agit de complexer davantage la transposition de colonnes en lisant
les colonnes dans un ordre différent
Il faut d’abord changer l’ordre des colonnes puis les lire de gauche à
droite

40

20
16/11/2020

Transposition complexe de colonnes


position 1 2 3 4 5 6 7 8
permutation 4 2 8 3 1 7 5 6

C E C I E S T U
N T E X T E À C
H I F F R E R D
E L A P L U S H
A U T E I M P O
R T A N C E Ø Ø

41

Transposition complexe de colonnes


Tableau résultant
E E I C T U S C
T T X N À C E E
R I F H R D E F
L L P E S H U A
I U E A P O M T
C T N R Ø Ø E A

Le texte chiffré est: ETRLICETILUTIXFPENCNHEAR…

42

21
16/11/2020

Transposition complexe de colonnes


Alphabets transposés par mot clé
◦ La clé permet de définir
◦ Le nombre de colonnes
◦ L’ordre de permutation: cet ordre est lié à la précédence des lettres de la clé dans l’alphabet
◦ Exemple:
◦ Texte en clair: transférer un million de dollars sur mon compte en suisse
◦ Clé: GASTON

43

Alphabets transposés par mot


clé Clé G A S T O N
Permutation 2 1 5 6 4 3
T R A N S F
E R E R U N
M I L L I O
N D E D O L
L A R S S U
R M O N C O
M P T E E N
S U I S S E
Texte chiffré:
RRIDAMPUTEMNLRMSFNOLUONESUIOSCSESAELEROTINRLDSNES

44

22
16/11/2020

Alphabets transposés par mot


clé
Pour décoder, il suffit de découper le texte en blocs de même longueur
que celle du mot clé et d’appliquer la transposition inverse

45

La cryptographie symétrique moderne

Les premiers algorithmes utilisés pour le chiffrement


d'une information étaient
◦ assez faibles (facilement cassables)
◦ souvent, on repose aussi sur la confidentialité de
l'algorithme de chiffrement pour éviter un décryptement
rapide
La cryptographie symétrique moderne
◦ La cryptographie symétrique a entré dans son ère moderne
avec l'utilisation intensive des ordinateurs
◦ utilise les mêmes principes de substitution et transposition
◦ des algorithmes plus robustes

46

23
16/11/2020

La cryptographie symétrique moderne

Se base parfaitement sur la règle fondamentale de la


cryptographie

◦ « L'opposant connaît le système cryptographique et toute la sécurité d'un système


cryptographique doit reposer sur la clé, et pas sur le système lui-même» -- Auguste
Kerckhoff, ``La cryptographie militaire'', février 1883
◦ Il faut distinguer les termes "Secret" et "Robustesse" d’un algorithme. Le secret de
l’algorithme revient à cacher les concepts de celui-ci, ainsi que les méthodes utilisées
(fonctions mathématiques).
◦ La robustesse quant à elle désigne la résistance de l’algorithme à diverses attaques qui
seront explicitées dans la suite de ces notes.

47

La cryptographie symétrique moderne


Chiffrement par bloc (Block Cypher)
◦ Exemples d’algorithmes
◦ DES: Data Encryption Standard (IBM 1976)
◦ IDEA: International Data Encryption Algorithm (Lai et Massey 1992)
◦ TDES: Triple DES (1977)
◦ AES: Advanced Encryption Standard (1999)
◦ RC5 (Rivest's Code 5) (1994)

48

24
16/11/2020

La cryptographie symétrique moderne


 Exemples d’algorithmes de chiffrement en flux continu
◦ RC4
◦ Développé par Ronald Rivest en 1987
◦ Divulgué sur l’Internet en 1994
◦ SEAL (Software-optimized Encryption Algorithm)
◦ Développé par Don Coppersmith et Phillip Rogaway (IBM) en 1993
◦ Plus rapide que RC4

49

DES: Data Encryption Standard

◦ Inventé par IBM en 1976


◦ Adopté comme standard de chiffrement aux USA en 1977

50

25
16/11/2020

DES: Caractéristiques
DES est un algorithme de cryptographie par blocs
◦ Il opère généralement sur des blocs de 64 bits
◦ Découpe le texte clair en blocs de 64 bits (8 octets)
◦ Code les blocs séparément,
◦ Les concatène

Algorithme à clef secrète


◦ La clef sert à la fois pour chiffrer et déchiffrer le message
◦ La clé est sur 56 bits
◦ La clé sera transformée en 16 sous-clés de 48 bits chacune.

Algorithme assez simple


◦ ne combine que des permutations et des substitutions
51

DES: Description générale de l’Algorithme

Les grandes lignes de l'algorithme sont les suivantes :


1. Fractionnement du texte en blocs de 64 bits (8 octets) ;
2. Permutation initiale des blocs (IP);
3. Découpage des blocs en deux parties: gauche et droite,
nommées G et D ;
4. Étapes de permutation et de substitution répétées 16 fois
(appelées rondes) ;
5. Recollement des parties gauche et droite puis
permutation initiale inverse (IP-1).

52

26
16/11/2020

DES: Description générale de l’Algorithme


1. Fractionnement du texte

2. Permutation initiale des blocs (IP)

Bloc de 64 bits
3. Découpage des blocs en deux parties: gauche et droite

53

DES: Description générale de l’Algorithme


4. Étapes de permutation et de substitution répétées 16 fois
(appelées rondes ou rounds) ;

54

27
16/11/2020

DES: Description générale de l’Algorithme

5. Recollement des parties gauche et droite puis


permutation initiale inverse (IP-1).
32 bits 32 bits

64 bits

55

DES: Description générale de l’Algorithme

56

28
16/11/2020

A quel point le DES est sûr ?


Plusieurs attaques ont été découvertes sur DES
◦ Exemple en 1997 par des utilisateurs d'Internet sous la bannière
de Distributed.net et Electronic Frontier Foundation
En effet
◦ Espace de clés relativement petit (256 solutions possibles) permettant
une recherche exhaustive des clés en un temps raisonnable
◦ De nombreux processeurs permettent de calculer plus de 106 clés par
seconde
◦ utilisés parallèlement sur un très grand nombre de machines, il devient
possible de trouver la bonne clé ...

◦ Difficile de résister à une technique de cryptanalyse différentielle lorsque


le texte clair est chiffré avec la même clé
De nos jours, le DES ne subsiste que dans d'anciennes
applications et son emploi n'est plus recommandé

57

Le triple DES
Le Triple DES (aussi appelé 3DES) a été construit dans le but
d’augmenter la sécurité du DES sans réécrire un nouvel
algorithme

Il s’agit d’enchaîner 3 applications successives de


l'algorithme DES sur le même bloc de données de 64 bits,
avec 2 ou 3 clés DES différentes

Une attaque brutale devrait tester 2 112 ou 2 168 clés


possibles  augmenter la sécurité
◦ Mais demande également plus de ressources pour le
chiffrement et le déchiffrement

58

29
16/11/2020

AES
Concours lancé par le NIST (National Institute of
Standards and Technology) en janvier 1997
◦ 15 participants
◦ Octobre 2000 : gagnant Rijindael
◦ conçu par les cryptologues belges Vincent Rijmen et Joan
Daemen

AES est un sous-ensemble de Rijndael


AES était choisi en octobre 2000 par le NIST pour
être un standard de chiffrement pour les
organisations du gouvernement des États-Unis

59

AES
Algorithme à clé secrète :
◦ Clés de 128, 192 ou 256 bits
Algorithme de chiffrement par blocs
◦ Blocs de 128 bits
◦ Traitement itératif de ces blocs en fonction de la taille de la clé
secrète :
◦ 10 itérations pour des clés de 128 bits
◦ 12 itérations (clés de 192 bits)
◦ 14 itérations (clés de 256 bits)
◦ Chaque itération fait appel à :
◦ Des opérations de substitutions
◦ Une sous-clé générée initialement à partir de la clé secrète

60

30
16/11/2020

AES: les atouts


Robustesse
◦ Il existe beaucoup plus de clés possibles :
◦ 2128 clés de 128 bits contre 256 clés pour le DES, soit environ 1021 fois
plus de solutions
◦ Aucune clé « faible » n’est connue actuellement : toutes les
clés sont utilisables
Implémentation
◦ Facile
◦ Hardware et software : il est possible d'implémenter l'AES
aussi bien sous forme logicielle que matérielle (cablée)
◦ Flexible : plusieurs longueurs de clés
◦ Une grande rapidité de traitement

61

La cryptographie symétrique moderne


Avantages
◦ Les algorithmes de chiffrement symétriques sont relativement rapides
◦ Peuvent s'appliquer à un fort débit de données à transmettre

62

31
16/11/2020

La cryptographie symétrique moderne

Inconvénients
◦ Le principal inconvénient d'un cryptosystème à clé
secrète provient de l'échange de la clé. Le chiffrement
symétrique repose sur l'échange d'un secret (la clé)

63

La cryptographie symétrique moderne


Inconvénients
◦ Problème de gestion des clés
◦ Lors d'échange entre plusieurs intervenants : une clé est partagée que par
2 interlocuteurs, donc pour N interlocuteurs il faut N*(N-1)/2 clés

64

32

Vous aimerez peut-être aussi