Vous êtes sur la page 1sur 19

Sécurité des données

Ali KARTIT : Docteur en Sécurité des Réseaux Informatiques alikartit@gmail.com


Sommaire
A. Cryptographie classique
A.1 principe de la cryptographie classique
A.2 chiffrement par substitution
A.3 chiffrement par transposition
B. Cryptographie moderne symétrique
B.1. Généralités & Définitions
B.2. Chiffrement par flux
B.2.1 mode de chiffrement de VERNAM
B.2.2 mode de chiffrement RC4
B.2.3 mode de chiffrement LFSR

B.3. Chiffrement par bloc


B.3.1 mode de chiffrement ECB
B.3.2 mode de chiffrement CBC
B.3.3 mode de chiffrement CFB
B.3.4 mode de chiffrement OFB
B.3.5 mode de chiffrement CTR
B.3.6 mode de chiffrement DES
B.3.7 mode de chiffrement AES
Ali KARTIT : Docteur en Sécurité des Réseaux Informatiques alikartit@gmail.com
Sommaire (suite)

C. Cryptographie moderne asymétrique


C.1. Généralités & Définitions
C.2. Rappel mathématiques
C.2.1 congruences
C.2.2 fonctions à sens unique
C.2.3 permutations
C.2.4 fonctions de hachage
C.3. Algorithmes Cryptographiques Asymétriques
C.3.1 RSA
C.3.2 Diffie-Hellman
C.3.3 El Gamal
C.4. Signature Numérique
C.5. Certificats Électroniques
D. Cryptographie à l’aide des Courbes elliptiques
Ali KARTIT : Docteur en Sécurité des Réseaux Informatiques alikartit@gmail.com
La cryptographie moderne

La cryptographie moderne repose sur :

1) Un algorithme utilisé qui n'est pas secret. Il peut être diffusé


librement, cela ne doit avoir aucun impact sur la facilité ou non à
déchiffrer le message.

2) Une clé de chiffrage utilisée qui est secrète.

Principe de Kerckhoffs
Aucun secret ne doit résider dans l’algorithme mais plutôt dans la clé.
Sans celle-ci, il doit être impossible de retrouver le texte clair à partir
du texte chiffré. Par contre, si on connaît la clé K, le déchiffrement est
immédiat.
Ali KARTIT : Docteur en Sécurité des Réseaux Informatiques alikartit@gmail.com
La cryptographie moderne symétrique
Généralités & Définitions
Définition : Un cryptosystème à clé secrète est la donnée de trois algorithmes
(K,C,D) :
K est appelé le générateur de clés
C est appelé l’algorithme de chiffrement
D est appelé l’algorithme de déchiffrement

K renvoie des données aléatoires, appelées clés.


C prend en entrée une clé k et un message m appelé clair puis renvoie un message
appelé chiffré.
D prend en entrée une clé et un message chiffré puis renvoie un message clair.
D(k,C(k,m)) = m
Le terme chiffrement symétrique vient de l’usage symétrique de la clé : c’est la
même clé qui sert « à ouvrir et à fermer la porte »
Le terme cryptographie à clé secrète vient de la nécessité de garder cette clé
secrète : celui qui connait la clé pourra « ouvrir la porte »

Ali KARTIT : Docteur en Sécurité des Réseaux Informatiques alikartit@gmail.com


La cryptographie moderne symétrique
Généralités & Définitions
Algorithmes à clef secrète

K1 peut être calculée à partir K2 et vice versa.


On a souvent K1=K2
K1 et K2 doivent être secrètes

Clé secret
Texte en Texte en
Texte
clair clair
chiffré

Les algorithmes symétriques

•Le chiffre de Vernam


•Le chiffrement par bloc
•Le chiffrement par flux
Ali KARTIT : Docteur en Sécurité des Réseaux Informatiques alikartit@gmail.com
La cryptographie moderne symétrique
Chiffrement de Vernam (masque jetable)
En 1917, Gilbert Vernam mit au point un algorithme de chiffrement-basé sur une clé secrète- parfaitement
sûr, tellement sûr qu'il a longtemps protégé le fameux "téléphone rouge", qui reliait la Maison Blanche au
Kremlin.
Principe
•La clé est de la taille du message à envoyer
•Les lettres de cette clé sont choisies de façon totalement aléatoire
•La clé ne doit servir qu'une seule et unique fois (d'où le nom de masque jetable).
Illustration du principe par un exemple
(1) Alice veut transmettre à Bob un message M. A l'aide de la clé secrète K (convenue avec B), elle va
crypter M pour arriver à sa version cryptée C. Ecrivons : C = K XOR M
(2) Alice va donc écrire son message sous forme binaire, puis générer une grande quantité de bits
réellement aléatoires (par exemple, en tirant à pile ou face) qui vont constituer la clé. Elle pourra alors
procéder au cryptage :
Soient M = 1000011 et K = 1101000,
Le message crypté C est donc : C = K XOR M = 1101000 XOR 1000011 = 0101011
(3) Alice transmet C à Bob par un canal quelconque, tel que la radio. Bob, pour obtenir le message
original, va utiliser l'opération inverse de celle qui a permis le cryptage. Ici, comme XOR est son propre
inverse :
M = K (*)-1 C = k XOR C = k XOR K XOR M = 0 XOR M = M
K = M XOR C
M = 1101000 XOR 0101011
M = 1000011, ce qui constitue bien le message de départ
Ali KARTIT : Docteur en Sécurité des Réseaux Informatiques alikartit@gmail.com
La cryptographie moderne symétrique
Chiffrement par Vernam
Limites :
Pour qu'un message puisse être transmis, il est nécessaire que son émetteur et son destinataire disposent
d'une clé de même longueur que le message.
Les clés utilisées pour le chiffrement Vernam ne peuvent être utilisées qu'une seule fois.
Problème de la transmission des clés: L'échange de clés entre correspondants nécessite un canal parfaitement
sûr, or les clés sont de même taille que les messages à échanger. Le masque jetable n'a donc d'intérêt que si ce
canal existe au moment de l'échange des clés et plus au moment de l'échange des messages.
Problème de l'utilisation unique de chaque clé:
Le risque que fait courir la réutilisation d'une clé est facile à montrer.
Soit un message M1 masqué grâce à la clé K, nous obtenons le chiffré C1. Supposons qu'un autre message M2
soit chiffré avec le même masque K, fournissant le chiffré C2. Nous avons les relations suivantes :
Supposons qu'un adversaire applique l'opération XOR aux deux chiffrés C1 et C2, et réutilisons les propriétés de
la fonction XOR :

On obtient le XOR des deux messages en clair. C'est très dangereux, car tout effet de masque de la clé K a
disparu.
Si par exemple un adversaire connaît les deux messages chiffrés et l'un des messages en clair, il peut trouver
instantanément le deuxième message en clair par le calcul :

En fait, même sans connaître l'un des clairs, des méthodes plus complexes permettent souvent de retrouver M1
et M2.

Ali KARTIT : Docteur en Sécurité des Réseaux Informatiques alikartit@gmail.com


La cryptographie moderne symétrique
Chiffrement par bloc
a) Définition
L’algorithme de chiffrement par bloc consiste à découper des données en blocs de
taille généralement fixe.
La taille de bloc est comprise entre 32 et 512 bits. Les blocs sont ensuite chiffrés
les uns après les autres.

b) Les modes de chiffrement par bloc

 Le mode ECB
 Le mode CBC
 Le mode CFB
 Le mode OFB
 Le mode CTR
 Le mode DES
 Le mode AES

Ali KARTIT : Docteur en Sécurité des Réseaux Informatiques alikartit@gmail.com


La cryptographie moderne symétrique
Chiffrement par bloc
Le mode ECB (Electronic CodeBook) : Dictionnaire de codes

Il s'agit du mode le plus simple. Le message à chiffrer est subdivisé en plusieurs blocs qui sont
chiffrés séparément les uns après les autres. Le gros défaut de cette méthode est que deux blocs
avec le même contenu seront chiffrés de la même manière, on peut donc tirer des informations à
partir du texte chiffré en cherchant les séquences identiques. On obtient dès lors un « dictionnaire
de codes » avec les correspondances entre le clair et le chiffré d'où le terme codebook.
Ce mode est pour ces raisons fortement déconseillé dans toute application cryptographique. Le
seul avantage qu'il peut procurer est un accès rapide à une zone quelconque du texte chiffré et la
possibilité de déchiffrer une partie seulement des données. Mais un mode bien plus sûr basé sur
un compteur permet également ces accès aléatoires et les déchiffrements partiels.
Ali KARTIT : Docteur en Sécurité des Réseaux Informatiques alikartit@gmail.com
La cryptographie moderne symétrique
Chiffrement par bloc
Le mode ECB (Electronic codebook) : Dictionnaire de codes
Sécurité :
+/- indépendance des blocs
- conservation des formats m = m2  c = c2
- clé non-réutilisable (d’un message à un autre)  une clé par un message donné (masque jetable)

Efficacité :
+ parallélisme possible
+ accès aléatoire possible
+ bonne vitesse de chiffrement

Propagation des erreurs :


+ une erreur dans mi(ci) n’affecte que le ci(mi) correspondant
+ la perte d’un bloc ci n’affecte qu’un bloc de M
- la perte ou l’ajout d’un bit de ci affecte tous les blocs suivants (mi,mi+1,...)
- Une erreur dans Ci affecte un bloc Mi entier

Ali KARTIT : Docteur en Sécurité des Réseaux Informatiques alikartit@gmail.com


La cryptographie moderne symétrique
Chiffrement par bloc
Le mode CBC (Cipher Block Chaining) : Enchaînement des blocs
Dans ce mode, on applique sur chaque bloc un ‘OU exclusif’ avec le chiffrement du bloc précédent avant
qu’il soit lui-même chiffré. Il y a donc un effet d’avalanche (un ci est dépendant de mi et ci-1). De plus,
afin de rendre chaque message unique, un vecteur d'initialisation (IV) est utilisé.

Ali KARTIT : Docteur en Sécurité des Réseaux Informatiques alikartit@gmail.com


La cryptographie moderne symétrique
Chiffrement par bloc
Le mode CBC (Cipher Block Chaining) : Enchaînement des blocs
Sécurité :
+ IV unique et aléatoire
+ il n’y a plus de risque de répétition de bloc
+ clé réutilisable (si IV différents)

Efficacité :
+ même vitesse de chiffrement que ECB
- pas de parallélisme
- IV doit être connu des 2 cotés (problème pour sa communication)

Propagation des erreurs :


+ la perte d’un ci n’affecte qu’un bloc de M
Soit C1 perdu : M1 = DK(C1) • IV
M2 = DK(C2) • C1
+ une erreur dans mi affecte tous les ci suivants mais ne se retrouve que dans le mi correspondant
- une erreur dans ci affecte un bloc entier de mi et le bit correspondant dans mi+1
- la perte ou l’ajout d’un bit de ci affecte tous les blocs mi, mi+1,... suivants (perte des limites de
bloc)

Ali KARTIT : Docteur en Sécurité des Réseaux Informatiques alikartit@gmail.com


La cryptographie moderne symétrique
Chiffrement par bloc
Le mode CFB (Cipher FeedBack) : Chiffrement à rétroaction
Ce mode et les suivants agissent comme un chiffrement par flux. Ils génèrent un flux de clés qui est
ensuite appliqué au document original.
Dans ce mode, le flux de clé est obtenu en chiffrant le précédent bloc chiffré. CFB est un chiffrement par
flot. Son grand intérêt est qu'il ne nécessite que la fonction de chiffrement, ce qui le rend moins cher à
câbler ou programmer pour les algorithmes ayant une fonction de chiffrement différente de la fonction
de déchiffrement (exemple: AES).

Ali KARTIT : Docteur en Sécurité des Réseaux Informatiques alikartit@gmail.com


La cryptographie moderne symétrique
Chiffrement par bloc
Le mode CFB (Cipher FeedBack) : Chiffrement à rétroaction

Sécurité :
+ même fonction pour le chiffrement et le déchiffrement
+ pas de répétition de bloc si IV différents

Efficacité :
+ même vitesse de chiffrement que ECB
+ CFB peut débuter le chiffrement après réception de sous-blocs  utilisation réseaux
- pas de parallélisme

Propagation des erreurs :


+ la perte d’un bloc de ci : le synchronisme est récupéré dès que le ci est sorti du registre
+ une erreur dans mi affecte tous les ci suivants mais uniquement le mi correspondant lors
du déchiffrement
- une erreur dans ci affecte le mi correspondant et les 64 blocs suivants

Ali KARTIT : Docteur en Sécurité des Réseaux Informatiques alikartit@gmail.com


La cryptographie moderne symétrique
Chiffrement par bloc
Le mode OFB (Output FeedBack ): chiffrement à rétroaction de sortie.
Dans ce mode, le flux de clé est obtenu en chiffrant le précédent flux de clé.

C'est un mode de chiffrement de flot qui possède les mêmes avantages que CFB. De plus, il est possible de le
précalculer en chiffrant successivement le vecteur d'initialisation. Il n'est donc sûr que si la fonction de
chiffrement alliée à la clé forme une bonne suite pseudo-aléatoire.
Ce mode est très fragile vis-à-vis d'une attaque au clair. En effet, à l'unique condition de connaitre le vecteur
d'initialisation d'un message chiffré et de connaitre le clair d'un autre message chiffré, l'attaquant peut
reconstituer aisément la chaine ayant chiffré le premier message et donc déchiffrer ce dernier. Cette fragilité
se retrouve dans le mode CFB, à ceci près que seul le premier bloc du message peut être reconstitué de
cette manière, l'attaquant a besoin de déchiffrer le message bloc à bloc, en fournissant à chaque fois
l'ensemble des blocs précédents, de manière à récupérer la chaine ayant chiffré le bloc suivant (attaque au
clair choisi).
Ali KARTIT : Docteur en Sécurité des Réseaux Informatiques alikartit@gmail.com
La cryptographie moderne symétrique
Chiffrement par bloc
Le mode OFB (Output Feedback ): chiffrement à rétroaction de sortie.

Sécurité :
+ IV unique et aléatoire
+ clé réutilisable
+ pas de répétition de blocs
- le chiffrement ne consiste qu’en un XOR

Efficacité :
+ même vitesse de chiffrement que les autres
- pas de parallélisme

Propagation des erreurs :


+ une erreur dans ci affecte uniquement le bit correspondant de mi
- pas de mécanisme de récupération de synchronisation (il faut que les shifts
registers soient identiques pour les fonctions E et D)

Ali KARTIT : Docteur en Sécurité des Réseaux Informatiques alikartit@gmail.com


La cryptographie moderne symétrique
Chiffrement par bloc
Le mode CTR (CounTeR): chiffrement basé sur un compteur.
Dans ce mode, le flux de clé est obtenu en chiffrant les valeurs successives d’un compteur.
Ce mode combine de nombreux avantages, car il permet le chiffrement par flot, est précalculable, permet
un accès aléatoire aux données, est parallélisable, et n'utilise que la fonction de chiffrement. Le compteur
utilisé peut être une suite pseudo-aléatoire qu'il sera facile de retrouver à partir de la graine (vecteur
d'initialisation).

Sécurité : Efficacité :
+ Sécurité démontrable + Parallélisme
+ Accès aléatoire possible

Ali KARTIT : Docteur en Sécurité des Réseaux Informatiques alikartit@gmail.com


La cryptographie moderne symétrique
Chiffrement par bloc
Tableau récapitulatif des différents modes

Ali KARTIT : Docteur en Sécurité des Réseaux Informatiques alikartit@gmail.com

Vous aimerez peut-être aussi