Vous êtes sur la page 1sur 9

Chapitre 3

Cryptographie

1. Termes, définition, concept et historique


1.1 La terminologie de la cryptographie
 Sécurité = sécurité informatique+cryptologie
 La cryptologie : Mécanisme permettant de camoufler des messages i.e., de le rendre
incompréhensible pour quiconque n’est pas autorisé. Elle fait partie d’une ensemble de
théories et de techniques liées à la transmission de l’information (théorie des ondes
électromagnétiques, théorie du signal, théorie des codes correcteurs d’erreurs, théorie
de l’information, théorie de la complexité,...).

Cryptologie = Cryptographie + Cryptanalyse

 La cryptographie : C’est l’art de rendre inintelligible, de crypter, de coder, un


message pour ceux qui ne sont pas habilités à en prendre connaissance.
 La cryptanalyse : C’est l’art de "casser" des cryptosystèmes.
 Protocole : description de l’ensemble des données nécessaires pour mettre en place le
mécanisme de cryptographie : ensemble des messages clairs, des messages cryptés,
des clés possibles, des transformations.
 Signature s : Chaîne de caractères associées à un message donné (et aussi
possiblement à une entité) et le caractérisant.
 Le chiffrement, noté Ek , est l’action de chiffrer un message en clair, noté M, en un
message chiffré, noté C, et cela de façon à ce qu’il soit impossible de retrouver le
message en clair à partir du message chiffré sans la clé ; cette clé s’appelle la clé
secrète et elle est unique ;

 L’action inverse du chiffrement est le déchiffrement. Cette action s’effectue


uniquement en possession de la clé secrète ; le déchiffrement d’un message chiffré
sans la clé secrète s’appelle le décryptage ;

1
 Un système de chiffrement s’appelle un cryptosystème ;
 Un cryptographe est une personne qui conçoit des cryptosystèmes ;
 un cryptanaliste est une personne qui tente de casser les cryptosystèmes.
 Terminologie :

1.2 Historique de la cryptographie


La cryptographie est utilisée depuis l’antiquité, il y a 4000 ans par les égyptiens
- Cryptographie ancienne : alphabet de la langue par exemple 26 lettres pour le français
Chiffrement de César, de Vigénère, Scytale, Enigma ….
 Il y a deux types :
Par substitution : remplacement de chaque caractère du texte clair par un caractère de
l’alphabet (chiffrement de césar, de Vigenère…)
Par transposition : remplacement de chaque caractère du texte clair par un caractère
du texte lui-même (changement de position des caractères) (eg: la scytale)
- Cryptographie moderne :
 L’apparition de l’informatique et prolifération des systèmes de communication
 Alphabet = {0,1}
 Chiffrement symétrique et asymétrique

1.2.1. Chiffrement de César :


- Il s’agit d’un décalage de l’alphabet par une nombre de cases prédefinit (César a commencé
par 3 cases). Le taux de décalage est la clé secrète :
o Alphabet normale : A, B, C,…..Z
o Alphabet décalée par 3 : D,E, F,………. Z, A, B, C
o Puis chaque lettre du texte claire doit être remplacée par le caractère correspondant
dans l’alphabet décalé
- le chiffrement de César consiste à remplacer le caractère du texte en prenant sa
position dans l’alphabet par un autre qui est dans la position :

Exemple : Soit le texte en clair

2
JE SUIS VENU, J’AI VU, J’AI VAINCU
Le texte codé avec le « chiffre de César » n = 3 :
MH VXLV YHQX, M’DL YX, M’DL YDLQFX

1.2.2. Chiffrement de vigenère :


- Vigenère est le premier à avoir introduit la notion de clé, on choisit un mot de code on
l’utilise pour chiffrer. Il est répété autant de fois que la taille du texte clair, ensuite chaque
lettre du texte est décalée en fonction de la valeur numérique correspondant au symbole de la
clé associé.
- Mathématiquement, on considère que les lettres de l’alphabet sont numérotées de 0 à 25
(A=0, B=1….). La transformation lettre par lettre se formalise simplement par :

- Déchiffrement de Vigenère : opération inverse du chiffrement avec :

2. Type de cryptosystème
On peut classer les algorithmes de cryptographie selon plusieurs critères :
- Selon le mode d’utilisation de la clé :
 Chiffrement symétrique : la même clé est utilisé pour le chiffrement et de
déchiffrement
 Chiffrement asymétrique : deux clés sont utilisées, l’une pour chiffrer (clé publique) et
l’autre pour déchiffrer (clé privé)

3
- Selon le mode d’opération :
 Chiffrement par bloc : le texte en clair est divisé en blocs de tailles identiques
 Chiffrement par flot : le texte est considéré comme un flot de bits (chiffrement
par bits)

3. Cryptographique symétrique
3.1. Principe
- Chiffrer un message clair m en utilisant une clé secrète Sk
- Seule la clé Sk peut être utilisée pour retrouver le message clair m.

3.2. Types des algorithmes

Chiffrement par blocs


- Le texte clair m est divisé en blocs de taille identique n avant d’etre chiffré : DES (64bits),
AES (128, 256bits)….
- Le dernier bloc est complété par d’autres caractères en cas ou sa taille est inférieure à n.
Chiffrement par flots
- Le texte claire m est chiffré directement en le traitant bit par bit : RC4,…
- il n’y a pas de besoin pour compléter le texte clair m

Tous les algorithmes symétriques sont basés sur le réseau Feistel

 Réseau Feistel  :

- C’est une sorte de transformation d’un mot binaire d’une taille n découpé en deux mots de
taille identique n/2 appelés respectivement (Li,Ri)
- Cette transformation se fait comme suit :

4
3.3. L’algorithme DES (Data Encryption Standard):

3.3.1. Principe :

- Utilise le réseau de Feistel sur des blocs de taille 64bits et une clé de taille 56 bits.
- Représenter par un ensemble complexe de permutations et substitution entre les bits du
même blocs
- Chaque bloc est chiffré en 16 tours.

- P est une permutation


- S est une boite permettant la génération d’un mot binaire de taille 4 bits à partir d’un
mot binaire de taille 6 bits.
- E est fonction d’expansion

3.3.2. Inconvénients DES :

- DES présente quelques faiblesses réside principalement dans sa taille de clé (56bits)
qui donne 256 clés possible ce qui est relativement vulnérable contre les attaques par
recherche exhaustive.
- Des solutions ont été adoptées à ce problème en améliorant DES : triple -DES
 Triple –DES  :
Une version améliorée de DES en utilisant deux chiffrements du même bloc en utilisant la
même clé Sk1 séparés par un déchiffrement en utilisant une autre clé Sk2.
La clé est donc composée de deux clés de 56 bits=112 bits qui est largement hors de portée
des attaques par recherche exhaustive.

5
3.3.3. Exemples des algorithmes symétriques :
a) Algorithme AES (Advanced Encryption Standard) :

- proposé comme une solution au problème de temps d’exécution du DES et triple-DES


en utilisant 4 types d’opérations en 4 tours sur les blocs.
- Il utilise des clés de longue taille : 128, 192 et 256 bits.

b) Algorithme blowfish :

- qui manipule des blocs de 64 bits et une clé de taille variante entre 32 et 448 bits
- proposé aussi en différents variantes : blowfish, twofish…etc

c) Algorithme IDEA :

- qui manipule des blocs de 64 bits et une clé de taille 128 bits

3.4. Avantages et inconvénients

 Avantages :
- taux de calcul réduit (on a besoin de calculer une seule clé)
- sécurité sure (sans la clé Sk, le déchiffrement est quasi-impossible)
 Inconvénients :

- Difficulté d’utilisation dans des communications (difficulté de partage de clé secrète)


- Pour les communications de plus de 2 entités, il fallait :
- Utiliser la même clé secrète donc difficulté d’identification d’émetteur de
l’information
- Utiliser une clé pour chaque 2 entités donc beaucoup de ressources

4. Cryptographique asymétrique

4.1. Principe :

- Chiffrer un message clair m en utilisant une clé publique Pk.


- Seule une clé secrète Sk déduite à partir de Pk peut être utilisée pour retrouver le
message clair m

6
- fondé sur le principe de fonction à trappe, ou bien fonction a sens unique ou à brèche
secrète :

- peu de gens qui connaissent une certaine information peuvent revenir en arrière.

 Scénario de communication :
A en vert : clé publique
A en rouge : clé secrète

4.2. Exemples algorithmes asymétriques :

- chacun d’eux se repose sur un problème mathématique d’une fonction à trappe.


- al-Gamal et Diffie-Hellman se reposent sur le problème de logarithme discret

4.2.1. L’algorithme RSA  (Rivest–Shamir–Adleman) :

- RSA se repose sur le problème de factorisation des entiers en nombres premiers


- Utilise des grands entiers (jusqu’à 1024 bits)

7
Exemple :

4.2.2. L’algorithme Diffie-Hellman :

- est un algorithme de partage de clé secrète entre deux entités


- Il se base sur le problème de logarithme discret

4.2.3. L’algorithme Al-Gamal :

8
- est un algorithme de chiffrement à clé publique
- il se base aussi sur le problème de logarithme discret

4.3. Avantages et inconvénients :

 Avantages :

- peut être facilement utilisé dans les communications à cause de possibilité de


publication des clés publiques

 Inconvénients :
- lourd en terme de calcul (besoin de calculer plusieurs clés)
- problèmes de non-répudiation des clés publiques