Vous êtes sur la page 1sur 31

Cryptographie

1. Principes fondamentaux
1) Vocabulaire
 Le chiffrement est l’opération par laquelle on crypte un message, c’est une
opération de codage.
 Chiffrer ou crypter une information a pour but de la rendre incompressible en
l’absence d’un décodeur particulier.
 un cryptogramme est un message écrit en langage chiffré (message chiffré).
 La cryptographie est la science qui consiste à écrire l’ information (voix, son,
textes, image fixe ou animée) en la rendant incompressible à ceux ne possédant
pas les capacités de la déchiffrer.
 La cryptanalyse est l’ensemble des moyens qui permettent d’analyser une
information chiffrée, afin de la déchiffrer.
1. Principes fondamentaux
2) Algorithmes et clés des chiffrement
 Les systèmes de chiffrement utilisent des algorithmes de chiffrement qui
s’appuient sur des fonctions mathématiques souvent complexes qui, à l’ aide d’
une clé de chiffrement, modifient les données à protéger en générant des
données apparemment aléatoires.
 Le texte chiffré (cyphertext) peut alors être envoyé sur un réseau non sécurisé.
 Même s’ il est intercepté, le cryptogramme, est uniquement compréhensible par
un tiers qui possède la clé de déchiffrement permettant d’ obtenir le texte initial
en clair( plaintext).
2. Cryptographie
1) Introduction
 La cryptographie traditionnelle ou classique inclut tous les mécanismes et
algorithmes basés sur des fonctions mathématiques ou logiques.
 Elle comprend tous les systèmes de chiffrement utilisés depuis l’Egypte
ancienne jusqu’aux principaux systèmes de chiffrement actuellement en
vigueur.
Un ensemble de méthodes permettant de chiffrer un message numérique, grâce à
une clé.
Rend le message incompréhensible pour quiconque ne possédant pas la clé.
Chiffrement symétrique : une seule clé partagée pour chiffrer et déchiffrer
Chiffrement asymétrique : une clé pour chiffrer, une autre pour déchiffrer
2. Cryptographie

 Le chiffrement par substitution


• Le chiffrement par substitution consiste à remplacer dans un message une
ou plusieurs entités (généralement des lettres) par une ou plusieurs autres
entités.
• On distingue généralement plusieurs types de cryptosystèmes par
substitution :
• La substitution monoalphabétique consiste à remplacer chaque lettre du
message par une autre lettre de l'alphabet
• La substitution polyalphabétique consiste à utiliser une suite de chiffres
monoalphabétique réutilisée périodiquement
• La substitution homophonique permet de faire correspondre à chaque lettre
du message en clair un ensemble possible d'autres caractères
• La substitution de polygrammes consiste à substituer un groupe de
caractères (polygramme) dans le message par un autre groupe de caractères
2. Cryptographie
Chiffrement de César
Le chiffrement par substitution est le premier algorithme qui a été mise en place
pour rendre un message confidentiel. Le chiffre de César fonctionne par décalage
des lettres de l'alphabet par un nombre (clé) bien défini. Par exemple dans l'image
ci dessus, il y a une distance de 3 caractères, donc B devient E dans le texte codé.
2. Cryptographie
Chiffrement de César

Chiffrement par décalage : on décale les lettres du mot à chiffrer.


Exemple : décalage de 4 lettres.

Ici, la clé partagée KAB = 4.


On note le message chiffré grâce à la clé KAB : {message}KAB
Ici : {BONJOUR TOUT LE MONDE! }KAB = FSRNSYV XSYX PI
QSRHI !
Décalage de 4
2. Cryptographie
 Pour crypter un message, il faut décaler de trois lettres dans l’alphabet chaque
lettre du message à transmettre. Pour décrypter un message chiffré, il suffit de
décaler chacune des lettres de 3 positions dans le sens inverse de l’alphabet.
Exemple numérique:
- La clé : 3
- Texte en clair : salam
- Texte chiffré : vdodp (décaler en arrière de trois lettres dans l’alphabet)
2. Cryptographie
Chiffrement de Végenere
Le chiffre de Vigenère est un système de chiffrement polyalphabétique, c'est un
chiffrement par substitution, mais une même lettre du message clair peut, suivant
sa position dans celui-ci, être remplacée par des lettres différentes, contrairement
à un système de chiffrement monoalphabétique comme le chiffre de César (qu'il
utilise cependant comme composant). Cette méthode résiste ainsi à l'analyse de
fréquences, ce qui est un avantage décisif sur les chiffrements
monoalphabétiques.
Ce chiffrement introduit la notion de clé. Une clé se présente généralement sous
la forme d'un mot ou d'une phrase. Pour pouvoir chiffrer notre texte, à chaque
caractère nous utilisons une lettre de la clé pour effectuer la substitution.
Évidemment, plus la clé sera longue et variée et mieux le texte sera chiffré. Il faut
savoir qu'il y a eu une période où des passages entiers d'œuvres littéraires étaient
utilisés pour chiffrer les plus grands secrets. Les deux correspondants n'avaient
plus qu'à avoir en leurs mains un exemplaire du même livre pour s'assurer de la
bonne compréhension des messages.
2. Cryptographie

 Cryptographie par transposition - Transpositions rectangulaires


•   Les méthodes de cryptographie par transposition sont celles pour lesquelles on
chiffre le message en permutant l'ordre des lettres du message suivant des
règles bien définies. Autrement dit, on produit un anagramme du message
initial.
•   Du fait qu'on ne change pas les lettres du message initial, on pourrait imaginer
que ces procédés de chiffrement ne sont pas sûrs du tout. C'est effectivement le
cas si on chiffre de petits messages, comme des mots, où le nombre
d'anagrammes est très réduit. Mais dès que l'on s'intéresse à des messages assez
grands, le nombre de transpositions possibles est extrêmement grand, et il est
impossible de tester toutes les permutations possibles.
2. Cryptographie

•  Cela dit, il faut que l'expéditeur et le destinataire se mettent d'accord sur


une façon de permuter les caractères de façon assez régulière pour qu'elle
puisse s'appliquer à n'importe quel message. C'est ce choix qui va rendre le
chiffrement par transposition plus ou moins résistant aux attaques. Nous
décrivons ci-dessous une méthode pour se mettre d'accord sur la
transposition effectuée à l'aide d'un unique mot clé.
2. Cryptographie

Les transpositions rectangulaires


•   Pour effectuer un chiffrement par transposition rectangulaire, on
commence par se mettre d'accord sur un mot-clé. Choisissons pour notre
exemple le mot BIBMATH. On classe alors les lettres du mot BIBMATH
par ordre alphabétique, et on attribue à chaque lettre son numéro dans
l'ordre alphabétique. Ainsi, on donne à A le numéro 1, au premier B le
numéro 2, au deuxième B le numéro 3, au H le numéro 4, etc….
•   On crée ensuite un tableau de la façon suivante : la première ligne est
constituée par les lettres de la clé;
• la deuxième ligne est constituée par les numéros qui leur sont associés;
• on complète ensuite le tableau en le remplissant avec les lettres du message
à chiffrer. On écrit sur chaque ligne autant de lettres que de lettres dans la
clé. Eventuellement,la dernière ligne n'est pas complète.
2. Cryptographie

• Ensuite, on écrit d'abord le contenu de la colonne numérotée 1, puis le


contenu de la colonne numérotée 2, etc…Le message chiffré obtenu est
alors ILMJN AISTE EEREI VAUAC SIA
•   Pour faire l'opération inverse (déchiffrer), il faut d'abord reconstituer pour
chaque colonne le nombre de lignes que le tableau comprenait. Pour cela,
on note n le nombre de lettres du message et c le nombre de lettres de la
clé, qui est aussi le nombre de colonnes du tableau de chiffrement. Si n est
un multiple de c, alors on a affaire à un tableau où toutes les colonnes ont
la même hauteur, qui vaut n/c. Sinon, on note q le quotient dans la divison
euclidienne de n par c, et r le reste. Il y aura alors r colonnes (les
premières) qui auront pour hauteur q+1, et c−r colonnes (les dernières), qui
auront pour hauteur q.
•   Ensuite, on remplit le tableau en écrivant dans la colonne numérotée 1 les
premières lettres du message, puis dans la colonne numérotée 2 les
suivantes, et ainsi de suite… Le message clair se lit alors directement sur le
tableau.
2. Cryptographie
2)Chiffrement symétrique
Principe :
Les 2 individus voulant communiquer de façon sécurisée (Alice et Bob) se
mettent
d’accord sur une même clé secrète qui leur permet de chiffrer et déchiffrer leurs
messages.
Mode opératoire
 Pour crypter ou décrypter un texte, il faut détenir une clé et un algorithme de
chiffrement. S’il s’agit de la même clé pour effectuer ces deux opérations, le
système de chiffrement est dit symétrique.
 L’ émetteur et le récepteur doivent posséder la même clé secrète pour rendre
confidentielles des données et pouvoir les comprendre (chiffrer et déchiffrer).
On note KAB la clé
partagée par Alice et
Bob.
Clé secrète connue
d’eux seuls.
2. Cryptographie
Emetteur
Clé secrète Texte en clair

Algorithme de chiffrement DES, IDEA, AES, Blowfish, RC4, RC5, …


symétrique

Texte chiffré Réseau Texte chiffré

Clé secrète

Algorithme de chiffrement
symétrique

Texte en clair

Destinataire
1. Principes fondamentaux
Robustesse du système
 La taille de la clé utilisée, la puissance de l’algorithme et la capacité à garder
les clés secrètes de façon sécurisé, déterminent la robustesse d’un système de
chiffrement.
 L’algorithme n’a pas besoin d’ être secret. Il est même recommandé qu’il soit
publié afin que la communauté scientifique puisse tester sa résistance aux
attaques et trouver les failles avant qu’un attaquant ne les exploite.
 Il n’est pas facile de garder des clés secrètes alors garder secret un algorithme
l’est encore moins dans la mesure ou les algorithmes sont utilisées par un grand
nombre d’ utilisateurs et durant de longues périodes.
 Un système de chiffrement est dit fiable, robuste, sûr ou sécurisé s’il reste
inviolable indépendamment de la puissance de calcul ou du temps dont dispose
un attaquant.
 Le système est opérationnellement sécurisé (computational secure) si sa
sécurité dépend d’une série d’opérations réalisables en théorie, mais irréalisable
pratiquement (temps de traitement top long en appliquant les méthodes connues
et en utilisant la puissance de calcul disponible).
1. Principes fondamentaux
 Notes :
- Plus une clé est spécifique et son utilisation est limitée dans le temps, voir à
usage unique, meilleure est la sécurité du système de chiffrement.
- La robustesse d’un système de chiffrement réside dans l’algorithme de
chiffrement lui même et non sur la clé (l’ algorithme est incassable), modifier
fréquemment les clés de chiffrement le rend encore plus sûr.
- Si l’ algorithme constitue le maillon faible du système de chiffrement, changer
la clé fréquemment n’ augmente pas sa robustesse.
2. Cryptographie
Principaux algorithmes
 DES (Data Encryption Standard) a été elaboré par le NIST(National Institute of
Standards and Technology) en 1977. Les informations sont chiffrées par blocs
de 64 bits avec une clé de 56 bits. Cet algorithme est largement utilisé pour les
applications financières. Il est generalement mis en œuvre en un mode dit de
chainage de blocs (CBC, Cipher Block Chaining) ou le chiffrement d’ un bloc
dépend du précédent.
 Les algorithmes Triple DES, DESX (DES XORed), GDES (Generalized DES),
RDES(Randomized DES) sont déduites de l’algorithme DES, elle exploitent
des clés plus longues, rendant ainsi l’ algorithme plus puissant. Le triple DES
tire son nom du fait que l’on réalise trois niveau de chiffrement ce qui donne
une clé effective de chiffrement de 168 bits (56 bits trois trois).
 RC2, RC4 et RC5 sont des algorithmes propriétaires élaborés par Ronald Rivest
et diffusé par la société RSA Security Inc. Ces algorithmes utilisent des clés de
longueur variable pouvant aller jusqu’à 2048 bits. Ils sont utilisés
principalement pour rendre confidentielle des flux applicatifs.
2. Cryptographie
 IDEA (International Data Encryption Algorithm) elaboré conjointement par
des chercheurs de l’ école polytechnique fédéral de Zurich et de la société
Ascom, utilise une clé de 128 bits pour coder des blocs de données de 64 bits. Il
est principalement utiliser par le protocole de messagerie sécurisée PGP (Pretty
Good Privacy).
 Blowfish est un algorithme de chiffrement symétrique implimanté par Bruce
Schneierr en 1993.
 AES (Advanced Encryption Standard) est un algorithme qui a été publié pour
la première fois en 1998 par les Belges Vincent Rijmen et Joan Daemen. Il
exploite des clés de 128 bits, 192 ou 256 bits sur des blocs de 128 bits. L’ AES
est considéré rapide, facile à implémenter et ne requiert que peu de ressource
mémoire. Actuellement, ce système demeure incassable et reste le plus sûr des
systèmes de chiffrement symétrique.
2. Cryptographie
Limites du chiffrement symétrique
 Chaque personne doit posséder autant de clés secrètes qu’ elle a d’
interlocuteurs. Il faut disposer d’ autant de paires différentes de clés qu’il y a de
paires de correspondants! Ce qui devient vite impossible à implémenter et
inadapté aux communications multipartenaires et aux services d’ Internet.
 Un système de chiffrement symétrique pose donc le problème de la gestion et
notamment de la distribution des clés secrètes. Cela aspect constitue une
faiblesse des systèmes de chiffrement symétrique.
 C’est pour pallier la complexité du problème de la gestion et la distribution des
clés des systèmes de chiffrement symétrique qu’un autre type de système de
chiffrement, qualifié de chiffrement asymétrique ou chiffrement à clé
publique a été conçu et est actuellement largement utilisé dans le monde d’
Internet.

Sécurité informatique 183


2. Cryptographie
3)Chiffrement asymétrique
Principe :
Une clé pour chiffrer clé publique de Bob (tout le monde peut chiffrer)
Une clé pour déchiffrer clé privée que seul Bob possède (seul Bob peut
déchiffrer les messages chiffrés avec sa clé publique)

KB : clé publique de Bob,


KB^-1 : clé privée de Bob.

• Si Alice veut aussi recevoir des messages, elle utilise le même principe
(avec KA sa clé publique, et KA^-1 sa clé privée).
2. Cryptographie
Mode opératoire
 Un système de chiffrement asymétrique est basé sur l’ utilisation d’un couple
unique de deux clés complémentaires, calculées l’une par rapport à l’autre.
Cette biclé est constituée d’une clé publique (connue par tous) et d’une clé
privée (connu par son propriétaire). Seule la clé publique peut être connue de
tous, tandis que la clé privée doit être confidentielle et traitée comme un secret.
 On doit connaitre la clé publique d’ une destinataire pour lui envoyer des
informations chiffrées. Ce dernier les décryptera à leur réception avec sa clé
privée qu’il est le seul à connaitre . Le message est confidentiel pour le
destinataire dans le mesure ou lui seul peut le déchiffrer par sa clé privée.
 De cette façon, pour transmettre des données de manière confidentielle avec un
système de chiffrement asymétrique, l’ émetteur chiffre un message avec la clé
publique du destinataire du message et le destinataire le déchiffre avec sa clé
privée.
2. Cryptographie
Emetteur Le destinataire possède deux clés :
Clé publique du Clé publique + clé
Texte en clair
destinataire privée

Algorithme de chiffrement RSA, Diffie-Hellman, ElGamal, …


asymétrique

Texte chiffré Réseau Texte chiffré


Clé privée
du
destinataire
Algorithme de chiffrement
asymétrique

Texte en clair

Destinataire
2. Cryptographie
Principaux algorithmes
 Les principaux algorithmes de chiffrement à clé publique, dont le nom est celui
de leur inventeurs, exploitent le plus souvent des clés de longueur variant de
512 à 1024 bits voir 2048. Nous retiendrons les algorithmes importants :
 RSA (pour Ron Rivest, Adi Shamir, Len Adelman) qui est basé su la difficulté
de factorisation des nombre premiers.
 ElGamal qui est basé sur le problème mathématique de calcul de logarithmes
discrets.
 Certains algorithmes basés sur les équations de calcul de circonférences des
ellipses sont à l’origine de la cryptographie à courbe elliptique (ECC, Elliptic
Curve Cryptography), qui pourrait remplacer les algorithmes actuels.
2. Cryptographie

3)Comparaison symétrique/asymétrique
Chiffrement symétrique : chiffrement plus rapide, mais nécessite de se "rencontrer"
pour pourvoir s’échanger la clé commune
Chiffrement asymétrique : algorithmes de cryptages plus complexes, donc
plus lent, mais communication sans échange préalable de clé
En pratique, sur internet, mélange des 2 :
1 D’abord le chiffrement asymétrique pour s’échanger une clé commune
2 Puis chiffrement symétrique à l’aide de la clé commune échangée pour
communiquer plus rapidement
3. Clés secrètes
L'échange de clés Diffie-Hellman est une méthode de cryptage spécifique
développée par Whitfield Diffie et Martin Hellman et publiée en 1976, l'une des
premières mises en œuvre dans le domaine de la cryptographie.

La méthode d'échange de clés Diffie-Hellman permet à deux parties, qui ne se


connaissent pas a priori, de partager une clé secrète sous un canal de
communication non sécurisé. Une telle clé peut être employée pour chiffrer les
messages ultérieurs en utilisant un schéma de chiffrement à clé symétrique .
4. Hachage

Qu'est-ce qu'une fonction de hachage ?


Une fonction de hachage (parfois appelée fonction de condensation) est une
fonction permettant d'obtenir un condensé (appelé aussi condensat ou haché ou
en anglais message digest) d'un texte, c'est-à-dire une suite de caractères assez
courte représentant le texte qu'il condense. La fonction de hachage doit être telle
qu'elle associe un et un seul haché à un texte en clair (cela signifie que la moindre
modification du document entraîne la modification de son haché). D'autre part, il
doit s'agir d'une fonction à sens unique (one-way function) afin qu'il soit
impossible de retrouver le message original à partir du condensé. S’il existe un
moyen de retrouver le message en clair à partir du haché, la fonction de hachage
est dite « à brèche secrète ».
4. Hachage

Ainsi, le haché représente en quelque sorte l'empreinte digitale (en anglais finger
print) du document.
Les algorithmes de hachage les plus utilisés actuellement sont  :
MD5 (MD signifiant Message Digest). Développé par Rivest en 1991, MD5 crée
une empreinte digitale de 128 bits à partir d'un texte de taille arbitraire en le
traitant par blocs de 512 bits. Il est courant de voir des documents en
téléchargement sur Internet accompagnés d'un fichier MD5, il s'agit du condensé
du document permettant de vérifier l'intégrité de ce dernier)
SHA (pour Secure Hash Algorithm, pouvant être traduit par Algorithme de
hachage sécurisé) crée des empreintes d'une longueur de 160 bits
SHA-1 est une version améliorée de SHA datant de 1994 et produisant une
empreinte de 160 bits à partir d'un message d'une longueur maximale de 264 bits
en le traitant par blocs de 512 bits.
4. Hachage
Vérification d'intégrité
En expédiant un message accompagné de son haché, il est possible de garantir
l'intégrité d'un message, c'est-à-dire que le destinataire peut vérifier que le
message n'a pas été altéré (intentionnellement ou de manière fortuite) durant la
communication.

Lors de la réception du message, il suffit au destinataire de calculer le haché du


message reçu et de le comparer avec le haché accompagnant le document. Si le
message (ou le haché) a été falsifié durant la communication, les deux empreintes ne
correspondront pas.
5. Signature électronique
Le paradigme de signature électronique (appelé aussi signature numérique) est un
procédé permettant de garantir l'authenticité de l'expéditeur (fonction
d'authentification) et de vérifier l'intégrité du message reçu.
La signature électronique assure également une fonction de non-répudiation,
c'est-à-dire qu'elle permet d'assurer que l'expéditeur a bien envoyé le message
(autrement dit elle empêche l'expéditeur de nier avoir expédié le message).
5. Certificat Numérique
Un certificat numérique est une sorte de passeport électronique qui permet à une
personne, un ordinateur ou une organisation d’échanger de manière sûre des
informations sur Internet en s’appuyant sur une infrastructure à clé publique
(PKI).

Un certificat électronique (aussi appelé certificat numérique ou certificat de clé


publique) peut être vu comme une carte d'identité numérique. Il est utilisé
principalement pour identifier et authentifier une personne physique ou morale,
mais aussi pour chiffrer des échanges1.

Il est signé par un tiers de confiance qui atteste du lien entre l'identité physique et
l'entité numérique (virtuelle). Pour un site web il s'agit d'un certificat SSL2.

Le standard le plus utilisé pour la création des certificats numériques est le


X.509.

Vous aimerez peut-être aussi