Vous êtes sur la page 1sur 32

09/04/2022

Chronologie de la Cryptographie
Symétrique
Cryptographie Âge scientifique Asymétrique
quantique

Depuis 1984

Âge technique Âge artisanal

1936-1970

Antiquité
72

1
09/04/2022

Terminologie

Cryptographie: écriture secrète qui consiste généralement à transposer les lettres de


l'alphabet ou à les représenter par des signes convenus, de manière à ce que le sens de l'écrit
ne soit accessible qu'au destinataire en possession du code.
Cryptosystème: Système composé d'algorithmes cryptographiques, de tous les textes clairs
possibles, de tous les textes chiffrés et de toutes les clés.

Cryptanalyse: Ensemble des méthodes et procédés de décryptage visant à rétablir en clair un


cryptogramme, sans connaissance préalable de la clé de chiffrement.

Cryptologie: est l’ensemble formé de la cryptographie et de la cryptanalyse

Un algorithme cryptographique est l’ensemble des fonctions (mathématiques ou non) utilisées


pour le chiffrement et le déchiffrement.

Principes de Kerckhoffs
Les articles d'Auguste Kerckhoffs ( La cryptographie militaire , Journal des sciences militaires,
vol. IX, pp. 5 - 38, Janvier 1883, pp. 161 - 191, Février 1883) sont les précurseurs des fondements
de la cryptographie moderne.
Les règles de Kerckhoffs
les six règles de Kerckhoffs pour la conception de «cryptosystème militaire » :
1. Le système doit être matériellement, sinon mathématiquement, indéchiffrable ;
2. Il faut qu'il n'exige pas le secret, et qu'il puisse sans inconvénient tomber entre les
mains de l'ennemi ;
3. La clé doit pouvoir en être communiquée et retenue sans le secours de notes écrites,
et être changée ou modifiée au gré des correspondants ;
4. Il faut qu'il soit applicable à la correspondance télégraphique ;

5. Il faut qu'il soit portable, et que son maniement ou son fonctionnement n'exige pas le
concours de plusieurs personnes ;

6. il est nécessaire, vu les circonstances qui en commandent l'application, que le système


soit d'un usage facile, ne demandant ni tension d'esprit, ni la connaissance d'une longue
série de règles à observer.

2
09/04/2022

Les nombres premiers


Définition : Un entier naturel p est dit premier si il n’admet comme diviseur que 1 et lui-même.
Les autres nombres sont dits composés. (0 et 1 sont exclus)
Remarques :
1) Il n'y a pas de nombre pair (hormis 2) puisque tous les nombres pairs sont divisibles par 2.
2) Il n'y a pas de nombre se terminant par 0 ou par 5 (hormis 5) car il serait divisible par 5.

Théorème : Tout nombre entier supérieur à 1 peut se décomposer comme un produit unique
de nombres premiers
Décomposition en nombres premiers :
Pour décomposer un nombre en produits de nombres premiers, il faut trouver tous les
nombres premiers qui divisent ce nombre. Pratiquement on part du plus petit (2) et on
cherche les différents diviseurs jusqu'à obtenir 1.
Exemple
Décomposons 462 en nombres premiers
462 | 2 462 est pair
231 | 3 231 est divisible par 3 car 2+3+1 = 6 est divisible par 3
77 | 7
11 | 11
1
On écrit : 462 = 2 x 3 x 7 x 11

la multiplication est donc une fonction à sens unique (sous certaines conditions)
Si n=pq (p et q grand), connaissant p et q il est facile de calculer n
MAIS connaissant n il est difficile de trouver p et q

La division dans Z
Définition : Soient a et b deux éléments de Z. Nous dirons que a est divisible par b ou encore
que a est multiple de b s'il existe un élément q dans Z tel que a = bq. On note b|a.
Propriétés :
a|a, 1|a, a|0, a|ab
Si a|b et b|c alors a|c
Si d|a et d|b alors d|ab, d|(a+b), d|(a-b)

Théorème : Soit a un entier et b un entier non nul. Il existe un unique entier q et un unique
entier r tels que a = qb + r ou r est 0 ≤ r < |b|.

3
09/04/2022

Le pgcd
Définition : Parmi l’ensemble des diviseurs communs à deux entiers a et b, le PGCD, est le plus
grand commun diviseur.
I)1ère méthode : Listes de diviseurs
On cherche le Pgcd de 60 et 48
Etape 1 : On donne la liste des diviseurs de 60 : 1 2 3 4 5 6 10 12 15 20 30 60
Etape 2 : On donne la liste des diviseurs de 48 : 1 2 3 4 6 8 12 16 24 48

Etape 3 : On en déduit que 12 est le Plus Grand Commun diviseur, donc Pgcd (60;48)=12

II) 2ème méthode: Méthode des soustractions successives


On cherche le Pgcd de 60 et 48
Etape 1 : Soustraire le plus petit des deux nombres au plus grand : 60-48=12

Etape 2 : Ensuite, on prend les deux plus petits nombres (dans ce cas 48 et12) et on
recommence: 48-12=36
Etape 3 : On continue jusqu'à obtenir un résultat nul : 36-12=24 ==> 24-12=12 ==>12-12=0

Etape 4 : Le Pgcd est le dernier résultat non nul :Donc Pgcd (60;48)=12

III) 3e méthode: Algorithme d'Euclide

Etape 1 : On fait la division euclidienne du plus grand nombre par le plus petit :

Etape 2 : On recommence avec le diviseur et le reste de la division précédente :

Etape 3 : On s'arrête lorsque le reste est nul :

Etape 4 : Le Pgcd est le dernier reste non nul : Donc Pgcd (494;143)=13

Propriétés :
pgcd(a; b) =pgcd(b; a) pgcd(a; 1) = 1

4
09/04/2022

Nombres premiers entre eux


Définition : lorsque pgcd (a,b)=1, on dit que a et b sont premiers entre eux.
Remarques :
cela signifie que leur seul diviseur commun est 1.
Un nombre premier est premier avec n’importe quel autre nombre
Théorème de Gauss
Soient a, b et c trois entiers. Si a divise le produit bc et s'il est premier avec b,
alors il divise c.
Théorème (Bezout)
Soient a et b deux entiers non nuls et d leur PGCD. Alors, il existe deux entiers u et v tels
que au + bv = d.

Congruences
Définition

5
09/04/2022

On peut exprimer que a et b sont congruents modulo n sous quatre formes :


a ≡ b (n) ; a ≡ b [n] ; a ≡ b (mod n) ; a ≡ b mod n (notation de Gauss)

Petit théorème de Fermat


Théorème :
Si p est un nombre premier, alors pour tout entier a on a :
ap ≡ a (mod p)
ap-1 ≡ 1 (mod p)

Définition
Un chiffrement par substitution est un algorithme par lequel chaque caractère du message clair
est substitué par un autre caractère dans le message chiffré .
En cryptographie classique, quatre types de chiffrement par substitution sont distingués:
Substitution simple
Substitution simple : Un caractère du message clair est substituer par un caractère unique du
message chiffré.
Cela correspond le plus souvent à une permutation des caractères de l'alphabet des messages
clairs.
Substitution homophonique
Un caractère du message clair correspond à plusieurs caractères du message chiffré.
Le principe est qu'à chaque caractère de l'alphabet des messages clairs est associé une liste
de lettre dans l'alphabet des messages chiffrés (qui est en général beaucoup plus gros que
celui pour les messages clairs), l'ensemble de ces listes formant une partition de l'alphabet des
messages chiffrés.
Par exemple on peut envoyer A vers un nombre de la liste {26; 40; 73; 58}, B vers un nombre
parmi {12; 7; 26; 41}, etc. On choisit alors soit aléatoirement, soit suivant une clé, les nombres
associés aux caractères de l'alphabet des messages clairs.
Substitution polygramique
le principe est de substituer des blocs de caractères, au lieu d'un seul caractère.

6
09/04/2022

Substitution polyalphabétique
Il s'agit d'un ensemble de substitutions simples. Suivant la position du caractère dans le message
clair, on applique une des substitutions simples. Ce sont des sortes de permutations à paramètres .
Ce changement de lettre tout au long du processus, s'obtient à l'aide d'une clé, qui indique le
nombre de décalage à réaliser à ce moment. Pour chiffrer la lettre suivante on utilise alors le
caractère suivant de la clé et ainsi de suite. On recommence au début de la clé quand tous ses
caractères sont épuisés

Pour ses communications importantes à son armée, cryptait ses messages. Ce que l’on appelle le
chiffrement de César est un décalage des lettres :
Exemple
pour crypter un message, A devient D, B devient E, C devient F,...

Pour prendre en compte aussi les dernières lettres de l’alphabet, il est plus judicieux de
représenté l’alphabet sur un anneau. Ce décalage est un décalage circulaire sur les lettres de
l’alphabet.

Pour déchiffrer le message de César, il suffit de


décaler les lettres dans l’autre sens

7
09/04/2022

Chiffrer et déchiffrer
Le chiffrement de César est simplement une addition dans
Fixons un entier k qui est le décalage (par exemple k = 3 dans l’exemple de César ci-dessus) et
définissons la fonction de chiffrement de César de décalage k qui va de l’ensemble
dans lui-même :

Par exemple, pour k = 3

Pour déchiffrer, Il suffit d’aller dans l’autre sens, c’est-à-dire ici de soustraire. La fonction de
déchiffrement de César de décalage k est :

En d’autres termes, si x est un nombre, on applique la fonction de chiffrement pour obtenir le


nombre crypté
ensuite la fonction de déchiffrement fait bien ce que l’on attend d’elle on retrouve
le nombre original x.

le principe du chiffrement
•Alice veut envoyer des messages secrets à Bob par exemple le mot "BONJOUR"
. Ils se sont d’abord mis d’accord sur une clé secrète k, par exemple k = 5.
Alice transforme le message "BONJOUR " en "1 14 13 9 14 20 17".
Elle applique la fonction de chiffrement

"6 19 18 14 19 25 22" ce qui correspond au mot crypté "GTSOTZW".

Elle transmet le mot crypté à Bob, qui selon le même principe applique la fonction de
déchiffrement
GTSOTZW BONJOUR
ALICE BONJOUR GTSOTZW BOB

1 14 13 9 14 20 17
1 14 13 9 14 20 17 6 19 18 14 19 25 22 6 19 18 14 19 25 22

8
09/04/2022

Analyse de sécurité
Combien existe-t-il de possibilités de chiffrement par la méthode de César ?
Il y a 26 fonctions différentes, k = 0,1,. .. ,25. Encore une fois, k appartient à .
Le décalage k s’appelle la clé de chiffrement, c’est l’information nécessaire pour crypter
le message.
Il y a donc 26 clés différentes et l’espace des clés est
Le chiffrement de César est d’une sécurité très faible.

L’attaque la plus simple pour Eve est de tester ce que donne chacune des 26 combinaisons
possibles et de reconnaître parmi ces combinaisons laquelle donne un message compréhensible.

Il est plus facile de manipuler des nombres que des lettres, aussi nous passons à une formulation
mathématique.
Nous associons à chacune des 26 lettres de A à Z un nombre de 0 à 25. En termes mathématiques,
nous définissons une bijection :

Exemple
Le mots "A L E A" devient "0 11 4 0"
Le chiffrement de César est un cas particulier de chiffrement mono-alphabétique

un chiffrement lettre à lettre

9
09/04/2022

Chiffrement mono-alphabétique
La faiblesse des codes de César et des systèmes analogues est que la fréquence des lettres est
conservée ce qui permet une cryptanalyse aisée par analyse de fréquences.
Au lieu de faire correspondre circulairement les lettres, on associe maintenant à chaque lettre
une autre lettre (sans ordre fixe ou règle générale).
Exemple :

Pour crypter le message

Se basant sur la correspondance et on remplace la lettre E par la lettre X, puis la lettre T par la
lettre G, puis la lettre R par la lettre K...
Le message crypté est alors :

Pour le décrypter, en connaissant les substitutions, on fait l’opération inverse


Avantage : nous allons voir que l’espace des clés est gigantesque et qu’il n’est plus question
d’énumérer toutes les possibilités.
Inconvénients : la clé à retenir est beaucoup plus longue, puisqu’il faut partager la clé constituée
des 26 lettres. Mais surtout, ce protocole de chiffrement est assez simple à « craquer »

Analyse de sécurité
Mathématiquement, le choix d’une clé revient au choix d’une bijection de l’ensemble
{A, B, .. ., Z} vers le même ensemble {A, B,. .. , Z} .
Il y a 26! choix possibles. •Pour la lettre A , il y a 26 choix
•Pour la lettre B , il y a 25 choix
•Pour la lettre C , il y a 24 choix
………………………………………………….
………………………………………………….
Au final il y a :
………………………………………………….
26 × 25 × 24 × · · · × 2 × 1
•Pour la lettre Z , il y a 1 choix
26! choix de clés.

Ce qui fait environ clés

Si un ordinateur pouvait tester 1 000 000 de clés par seconde, il lui faudrait alors 12 millions
d’années pour tout énumérer.

10
09/04/2022

La principale faiblesse du chiffrement mono-alphabétique est qu’une même lettre est
toujours chiffrée de la même façon. Par exemple, ici E devient X.
Dans les textes longs, les lettres n’apparaissent pas avec la même fréquence. Ces fréquences
varient suivant la langue utilisée.

Par exemple, en français, les lettres les plus rencontrées sont dans l’ordre :

avec les fréquences:

Le principe d’attaque
dans le texte crypté, on cherche la lettre qui apparaît le plus, et si le texte est assez long cela
devrait être le chiffrement du E,
la lettre qui apparaît ensuite dans l’étude des fréquences devrait être le chiffrement du S,
puis le chiffrement du A...
Par exemple, déchiffrons la phrase :

On compte les apparitions des lettres :

On suppose donc que le H crypte la lettre E, le F la lettre S, ce qui donne

D’après les statistiques P et Z devraient se décrypter en A et I (ou I et A).


Le quatrième mot "HFFPZ", pour l’instant décrypté en "ESS**", se complète donc en "ESSAI"
ou "ESSIA".
La première solution semble correcte !

Ainsi P crypte A, et Z crypte I.

En réfléchissant un peu, on décrypte le message :

11
09/04/2022

Le chiffrement de Vigenère
L’espace des clés du chiffrement mono-alphabétique est immense, mais le fait qu’une lettre
soit toujours cryptée de la même façon représente une trop grande faiblesse.
Le chiffrement de Vigenère remédie à ce problème. On regroupe les lettres de notre texte par
blocs
par exemple ici par blocs de longueur 4 :

les espaces sont purement indicatifs, dans la première phrase ils séparent les mots, dans la
seconde ils séparent les blocs
Si k est la longueur d’un bloc, alors on choisit une clé constituée de k nombres de 0 à 25 :
(n1, n2,. .. , nk)
Le chiffrement consiste à effectuer un chiffrement de César, dont le décalage dépend du rang de
la lettre dans le bloc :

un décalage de n1 pour la première lettre de chaque bloc,


un décalage de n2 pour la deuxième lettre de chaque bloc,
…………..
un décalage de nk pour la k-ème et dernière lettre de chaque bloc.
Pour notre exemple, si on choisit comme clé (3, 1,5, 2) alors pour le premier bloc "CETT" :
•un décalage de 3 pour C donne F,
•un décalage de 1 pour E donne F,
•un décalage de 5 pour le premier T donne Y,
•un décalage de 2 pour le deuxième T donne V

•les deux lettres T ne sont pas cryptées par la même lettre


"CETT" de vient "FFYV".
•les deux F ne cryptent pas la même lettre

On continue ensuite avec le deuxième bloc...

12
09/04/2022

L’élément de base n’est plus une lettre mais un bloc, c’est-à-dire un regroupement de lettres.
La fonction de chiffrement associe à un bloc de longueur k, un autre bloc de longueur k,

Chacune des composantes de cette fonction est un chiffrement de César.

La fonction de déchiffrement est juste:


Analyse de sécurité
•Il y a 26k choix possibles de clés, lorsque les blocs sont de longueur k.
•Pour des blocs de longueur k = 4 cela en donne déjà 456 976
•même si un ordinateur teste toutes les combinaisons possibles sans problème, il n’est pas
question de parcourir cette liste pour trouver le message en clair, c’est-à-dire celui qui est
compréhensible !
•Il persiste tout de même une faiblesse du même ordre que celle rencontrée dans le chiffrement
mono-alphabétique : la lettre A n’est pas toujours cryptée par la même lettre, mais si deux
lettres A sont situées à la même position dans deux blocs différents (comme par exemple "ALLO
Aller") alors elles seront cryptées par la même lettre

Une attaque possible :


on découpe notre message en plusieurs listes, les premières lettres de chaque bloc, les
deuxièmes lettres de chaque bloc... et on fait une attaque statistique sur chacun de ces
regroupements.
Ce type d’attaque n’est possible que si la taille des blocs est petite devant la longueur du
texte.

13
09/04/2022

Chiffrement polygraphique: Il s’agit ici de chiffrer un groupe de n lettres par un autre groupe de n
symboles. On citera notamment le chiffre de Playfair et le chiffre de Hill. Ce type de chiffrement
porte également le nom de substitutions polygrammiques.
le chiffre de Hill généralise celui de Vigenère. Il a été publie par Lester Hill en 1929.
Son idée est de continuer à utiliser des décalages du même type que celui du chiffre de César,
mais en effectuant ces décalages simultanément sur des groupes de m lettres! Bien sûr, plus m
est grand, plus les analyses statistiques deviennent difficiles!
•nous remplaçons chaque lettre par son ordre dans l'alphabet
Les lettres deviennent

•Les composantes de cette matrice doivent être des entiers positifs.


•De plus la matrice doit être inversible dans Z26.

•Cependant, sa taille n’est pas fixée à 2. Elle grandira selon le nombre de lettres à chiffrer
simultanément.

Chaque digramme clair (P1 et P2) sera chiffré (C1 et C2) selon :
en effectuant des combinaisons
linéaires : y1=ax1+bx2
y2=cx1+dx2
Exemple de chiffrement :
On souhaite coder le mot ELECTION avec le chiffre de Hill, pour m=2, a=3, b=5, c=1 et d=2.
Etape 1 : On partage en blocs de 2 : EL EC TI ON.
Etape 2 : On remplace les lettres par leur nombre associé : 4-11 | 4-2 | 19-8 | 14-13.
Etape 3 : On effectue les combinaisons linéaires pour chaque bloc. Par exemple, pour le
premier bloc, où x1=4 et x2=11, on a :
y1=3×4+5×11=67.
y2=1×4+2×11=26.
De même
y3=22 y4=8 y5=97 y6=35 y7=107 y8=40

Etape 4 : On prend les restes modulo 26,


on trouve : z1=15, z2=0, z3=22, z4=8, z5=19, z6=9, z7=3, z8=14.
Etape 5 : On reconvertit en lettres
on trouve : PAWITJDO.

14
09/04/2022

On peut remarquer que le premier E de ELECTION est transformé en P, tandis que le second
est transformé en W.
Le critère des chiffrements polyalphabétiques est bien respecté : les analyses statistiques
directes sur la fréquence des lettres sont impossibles.
Déchiffrement
Pour déchiffrer un message codé connaissant la clé, on procède exactement de la même façon.
En découpe donc en blocs de m lettres, mais cette fois il faut inverser les relations
données par les combinaisons linéaires

Un secret parfait

L’inconvénient des chiffrements précédents est qu’une même lettre est régulièrement
chiffrée de la même façon, car la correspondance d’un alphabet à un ou plusieurs autres est
fixée une fois pour toutes, ce qui fait qu’une attaque statistique est toujours possible
Nous allons voir qu’en changeant la correspondance à chaque lettre, il est possible de créer
un chiffrement parfait !
Pour deux entiers a et b tels que a + b = 50. Que vaut a ?

impossible de répondre car il y a plusieurs possibilités


0 + 50, 1 + 49, 2 + 48,...
Par contre, si je vous donne aussi b alors vous trouvez a immédiatement a = 50 - b .
Alice veut envoyer à Bob le message secret M suivant : ATTAQUE
Alice a d’abord choisi une clé secrète C qu’elle a transmise à Bob.
Cette clé secrète est de la même longueur que le message

15
09/04/2022

Un secret parfait
La clé doit composée d’entiers de 0 à 25, tirés au hasard.
Par exemple C : [4, 18, 2, 0, 21, 12, 18]
Elle crypte le message par le décalage de César
ATTAQUE
Alice obtient le message chiffré:
A E Q L
T L U G ELVALGW
T V
E W
A A

Pour le décrypter, Bob, qui connaît la clé, n’a qu’à faire le décalage dans l’autre sens.
On identifie A avec 0, B avec 1, ..., Z avec 25.
Alors le message crypté X est juste la "somme" du message M avec la
clé secrète C, la somme s’effectuant lettre à lettre, terme à terme,
modulo 26.

Un secret parfait
Bob reçoit X et connaît C, il effectue donc X - C = M

ce système est-il inviolable?

Il y a trois principes à respecter pour que ce système reste inviolable :

1. La longueur de la clé est égale à la longueur du message.


2. La clé est choisie au hasard.
3. La clé ne sert qu’une seule fois.

Ce système appelé "masque jetable"

Afin de s’approcher de ce protocole de chiffrement parfait, il faut trouver un moyen de


générer facilement de longues clés, comme si elles avaient été générées au hasard.

16
09/04/2022

Histoire de la machine Enigma


Enigma est une machine à chiffrer inventée initialement par Arthur Scherbius et Richard Ritter
en 1918.
L’armée allemande, qui sait l'importance du renseignement dans les conflits modernes, se
dote alors massivement d'une version militaire de cette machine. Elle se présente sous la
forme d'une caisse en bois .
Elle est composée:
•d'un clavier alphabétique
•d'un tableau de connexion
•de 3 rotors mobiles à 26 positions
•d'un rotor renvoi à 26 positions (le réflecteur)
•d'un tableau de 26 ampoules correspondant aux 26
lettres de l'alphabet.

Le principe de fonctionnement
Nous symbolisons l’élément de base de la machine Enigma par deux anneaux :
Un anneau extérieur contenant l’alphabet "ABCDE..." symbolisant le clavier de saisie des
messages. Cet anneau est fixe .
Un anneau intérieur contenant un alphabet dans le désordre

Cet anneau est mobile et effectue une rotation à


chaque touche tapée au clavier. Il représente la clé
secrète.

17
09/04/2022

Exemple:
Le chiffrement du mot "BAC"
Etape 1: Choix du position initiale
L’opérateur tourne l’anneau intérieur de sorte que le A extérieur et fixe soit en face du G
intérieur (et donc B en face de W).

Etape 2: Première lettre


L’opérateur tape la première lettre du message : B, la machine affiche la correspondance W.

Etape 3: Rotation
L’anneau intérieur tourne de 1/26ème de tour, maintenant le A extérieur et fixe est en face
du W, le B en face du Q,..

Etape 4: Deuxième lettre

L’opérateur tape la deuxième lettre du message A, la machine affiche la correspondance,


c’est de nouveau W.

18
09/04/2022

Etape 5: Rotation
L’anneau intérieur tourne de 1/26ème de tour, maintenant le A extérieur et fixe est en face du
Q, le B en face du R, le C en face du U,...

Etape 6: Troisième lettre


L’opérateur tape la troisième lettre du message C, la machine affiche la correspondance U.
Etape 7: Rotation.
L’anneau intérieur effectue sa rotation.

Le message crypté est donc "WWU"

La machine Enigma génère mécaniquement un alphabet différent à chaque caractère crypté,


tentant de se rapprocher d’un chiffrement parfait.

Les cryptosystèmes symétriques


Le terme de cryptosystème symétrique s'applique lorsque les clés de chiffrement et
déchiffrement peuvent se déduire (en temps polynômial) l'une de l'autre.
En pratique la clé utilisée pour le déchiffrement est identique à celle utilisée pour le
chiffrement.
Caractéristiques :
Les clés sont identiques : KE = KD = K,
La clé doit rester secrète,
Les algorithmes les plus répandus sont le DES, AES, ...
Au niveau de la génération des clés, elle est choisie aléatoirement dans l’espace des clés,
Ces algorithmes sont basés sur des opérations de transposition et de substitution des bits
du texte clair en fonction de la clé,
La taille des clés est souvent de l’ordre de 128 bits. Le DES en utilise 56, mais l’AES peut
aller jusque 256,
L’avantage principal de ce mode de chiffrement est sa rapidité,

19
09/04/2022

 Pour une meilleure sécurité, on préfèrera l’échange manuel. Malheureusement, pour de grands
systèmes, le nombre de clés peut devenir conséquent. C’est pourquoi on utilisera souvent des
échanges sécurisés pour transmettre les clés.

Pour n interlocuteurs puissent échanger des informations d’ où un problème de fabrication et


d’´echange de clés fiables.

sans tiers de confiance le partage des clés est impossible

Les cryptosystèmes asymétriques


Ce sont des algorithmes dont la clé de chiffrement est différente de la clé de déchiffrement
Le principe de la cryptographie à clé public a été introduit par Whitfield Diffie et Martin
Hellman en 1976 (aussi introduit séparément par Ralph Merkle)
Fonctions à sens unique
En d’autres termes, étant donnée une fonction f , il est possible connaissant x de calculer
«facilement» f (x) ; mais connaissant un élément de l’ensemble image de f , il est «difficile» ou
impossible de trouver son antécédent.
Dans le cadre de la cryptographie, posséder une fonction à sens unique qui joue le rôle de
chiffrement n’a que peu de sens.
En effet, il est indispensable de trouver un moyen efficace afin de pouvoir déchiffrer les
messages chiffrés .
On parle alors de fonction à sens unique avec trappe secrète.
Prenons par exemple le cas de la fonction f suivante :

Connaissant x, trouver y = f (x) est facile.


Connaissant y image par f d’un élément x ( y = f (x)), retrouver x est difficile.

20
09/04/2022

Tentons de résoudre le problème suivant : trouver x tel que

soit faire une recherche exhaustive, c’est-à-dire essayer successivement 1, 2, 3, ..., 99, on trouve
alors :

soit utiliser la trappe secrète : qui fournit directement le résultat:

le problème est dur à résoudre, sauf pour ceux qui connaissent la trappe secrète.

Chiffrement à clé publique


Les fonctions à sens unique à trappe donnent naissance à des protocoles de chiffrement à
clé publique .
L’association «clé» et «publique» peut paraître incongrue, mais il signifie que le principe de
chiffrement est accessible à tous mais que le déchiffrement nécessite une clé qu’il faut bien
sûr garder secrète.

Caractéristiques :
Une clé publique PK
Une clé privée secrète SK
La connaissance de PK ne permet pas de déduire SK
Le principe de ce genre d’algorithme est qu’il s’agit d’une fonction unidirectionnelle à trappe.
La taille des clés s’étend de 512 bits à 2048 bits en standard.
La distribution des clés est grandement facilitée car l’échange de clés secrètes n’est plus
nécessaire .

21
09/04/2022

Nous allons voir une autre méthode, cette fois numérique: le DES (Data Encryption Standard) .
Le DES est un protocole de chiffrement par blocs.
Il a été, entre 1977 et 2001, le standard de chiffrement pour les organisations du gouvernement
des États-Unis et par extension pour un grand nombre de pays dans le monde.

C’est un système cryptographique produit, basé sur un schéma de Feistel


Schema de Feistel
L’objective du schéma de Feistel est de construire des bijections aléatoires.

on suppose par exemple qu’on a une fonction f presque aléatoire


F prend comme argument un mot de n bits, et renvoie un mot de n bits (qui donne
l’impression d’avoir été choisi au hasard).

L’algorithme de chiffrement va procéder en chiffrant des blocs de 2n bits, qu’on partage


en 2, partie gauche G, partie droite D.

L’image du bloc (G,D) par le schéma de Feistel est le bloc (L,R), avec L = D, et R = G⊕f(D)
où ⊕ est l’operation XOR
Cette transformation est cette fois bijective, car si on a un tel couple (L,R), on retrouve
(G,D) par D = L et G = R ⊕ f(L).
La partie droite n’a pas été transformée (juste envoyée à gauche). C’est pourquoi on répété
le schéma de Feistel un certain nombre de fois (on parle de tour - le DES en comporte 16).

22
09/04/2022

Aspects techniques de DES


DES est un cryptosystème par blocs qui travaille sur des blocs de 64 bits.
L'algorithme consiste à effectuer des combinaisons, des substitutions et des permutations
entre le texte à chiffrer et la clé, en faisant en sorte que les opérations puissent se faire dans
les deux sens (pour le déchiffrement).
La combinaison entre substitutions et permutations est appelée code produit
La clé est codée sur 64 bits et formée de 16 blocs de 4 bits, généralement notés k1 à k16.
Etant donné que « seuls » 56 bits servent effectivement à chiffrer, il peut exister 256

23
09/04/2022

Générer les clés


La première opération de ce traitement est une transposition, dite "transposition ou
permutation initiale" connue sous le nom de « IP » (« Initial Permutation »), transposition qui
mélange suivant une liste de transposition les 64 bits du bloc traité.

Etape 1: La permutation initial du clé (56 bits)

Etape 2: divisé la clé en deux parties droite et gauche

Etape 3: Permutation du clé (16 clés) droite et gauche se basant sur le tableau suivant

Etape 4: fusionner les 16 clés droites avec les clés gauches

Etape 5: compresser les 16 clés se basant sur la matrice suivante

24
09/04/2022

Fonction d'expansion
Les 32 bits du bloc D0 sont étendus à 48 bits grâce à une table (matrice) appelé table
d'expansion (notée E), dans laquelle les 48 bits sont mélangés et 16 d'entre eux sont
dupliqués :
32 1 2 3 4 5
4 5 6 7 8 9
8 9 10 11 12 13
12 13 14 15 16 17
16 17 18 19 20 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 31 32 1

S1
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7
1 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8
2 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0
3 15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13

S2

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

0 15 1 8 14 6 11 3 4 9 7 2 13 12 0 5 10

1 3 13 4 7 15 2 8 14 12 0 1 10 6 9 11 5

2 0 14 7 11 10 4 13 1 5 8 12 6 9 3 2 15

3 13 8 10 1 3 15 4 2 11 6 7 12 0 5 14 9

S3

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

0 10 0 9 14 6 3 15 5 1 13 12 7 11 4 2 8

1 13 7 0 9 3 4 6 10 2 8 5 14 12 11 15 1

2 13 6 4 9 8 15 3 0 11 1 2 12 5 10 14 7

3 1 10 13 0 6 9 8 7 4 15 14 3 11 5 2 12

S4

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

0 7 13 14 3 0 6 9 10 1 2 8 5 11 12 4 15

1 13 8 11 5 6 15 0 3 4 7 2 12 1 10 14 9

2 10 6 9 0 12 11 7 13 15 1 3 14 5 2 8 4

3 3 15 0 6 10 1 13 8 9 4 5 11 12 7 2 14

25
09/04/2022

S5
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 2 12 4 1 7 10 11 6 8 5 3 15 13 0 14 9
1 14 11 2 12 4 7 13 1 5 0 15 10 3 9 8 6
2 4 2 1 11 10 13 7 8 15 9 12 5 6 3 0 14
3 11 8 12 7 1 14 2 13 6 15 0 9 10 4 5 3

S6

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

0 12 1 10 15 9 2 6 8 0 13 3 4 14 7 5 11

1 10 15 4 2 7 12 9 5 6 1 13 14 0 11 3 8

2 9 14 15 5 2 8 12 3 7 0 4 10 1 13 11 6

3 4 3 2 12 9 5 15 10 11 14 1 7 6 0 8 13

S7

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

0 4 11 2 14 15 0 8 13 3 12 9 7 5 10 6 1

1 13 0 11 7 4 9 1 10 14 3 5 12 2 15 8 6

2 1 4 11 13 12 3 7 14 10 15 6 8 0 5 9 2

3 6 11 13 8 1 4 10 7 9 5 0 15 14 2 3 12

S8

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

0 13 2 8 4 6 15 11 1 10 9 3 14 5 0 12 7

1 1 15 13 8 10 3 7 4 12 5 6 11 0 14 9 2

1 7 11 4 1 9 12 14 2 0 6 10 13 15 3 5 8

1 2 1 14 7 4 10 8 13 15 12 9 0 3 5 6 11

Chaque bloc de 6 bits est ainsi substitué en un bloc de 4 bits. Ces bits sont
regroupés pour former un bloc de 32 bits.

Permutation
Le bloc de 32 bits obtenu est enfin soumis à une permutation P dont voici la table

P
16 7 20 21 29 12 28 17
1 15 23 26 5 18 31 10
2 8 24 14 32 27 3 9
19 13 30 6 22 11 4 25

OU Exclusif
L'ensemble de ces résultats en sortie de P est soumis à un OU Exclusif avec le G0 de départ
(comme indiqué sur le premier schéma) pour donner D1, tandis que le D0 initial donne G1.

26
09/04/2022

L'algorithme du DES Permutation d’un


Fractionnement du texte en blocs de 64 bits; bloc de 64 bits
Permutation initiale des blocs ; Séparation en bloc de 32 bits

G0 K0 D0
Découpage des blocs en deux parties: G et D ; + f Première permutation
G1=D0 K1 D1=G0 + f(D0,K0)

+ f
Etapes de permutation et de substitution Seconde permutation
répétées 16 fois (appelées rondes) ;
………………………………………………………………..
K15
G15=D14 D15=G14 + f(D14,K14)
+ f
Seizième permutation
G16=D15 D16=G15 + f(D15,K15)

Message chiffré de 64 bits Permutation final

Attaques sur le DES


Plusieurs attaques existent pour casser le DES :

La recherche exhaustive par force brute : on teste toutes les clés possibles, l’une après
l’autre, afin de déchiffrer un bloc de données On a besoin, en moyenne, de essais.

Une machine dédiée au calcul des clés : Deep Crack (Des Cracker, élaboré par l’Electronic
Frontier Foundation) a coûté moins de 250’000 dollars. Elle disposait de 1850 processeurs en
parallèle pour un temps de recherche de 56 heures (1998).

Le calcul distribué : un regroupement d’ordinateurs par Internet qui partagent leur
puissance de calcul. En 1998, Distributed.net a pu décrypter un message en 39 jours. Le 19
janvier 1999, EFF et Distributed.net ont cassé en travaillant conjointement une clé en 22
heures et 15 minutes.

27
09/04/2022

La progression de la puissance des ordinateurs a causé la mort du DES.


Ce dernier n’est plus jamais utilisé lorsque la sécurité demandée est forte (utilisation militaire,
documents “secrets”, etc.).
Le véritable nom de l’AES est le Rijndael, nom résultant de la contraction des noms de ses
inventeurs : Rijmen et Deamen.
Cahier des charges

La sécurité générale


Le coût en terme de calculs (rapidité),
La simplicité de l’algorithme et ses facilités d’implémentation,
Une lecture facile de l’algorithme, puisqu’il est destiné à être rendu public,
La résistance aux attaques connues,
Flexibilité - Portabilité : l’algorithme devant remplacer le DES, il est destiné à servir aussi bien
dans les cartes à puces, aux processeurs 8 bits peu puissants, que dans des processeurs
spécialisés pour chiffrer des milliers de télécommunications à la volée.
Techniquement, le chiffrement doit se faire par blocs de 128 bits, les clés comportant 128, 192
ou 256 bits.

Texte Clair
À chaque ronde, quatre transformations sont appliquées :
1. substitution d’octets dans le tableau d’état
2. décalage de rangées dans le tableau d’état
3. déplacement de colonnes dans le tableau d’état (sauf à la
dernière ronde)
4. addition d’une "clé de ronde" qui varie à chaque ronde
Cycle de cryptage
Dernier tour

Texte chiffré

28
09/04/2022

1. AddRoundKey

2. SuBytes

29
09/04/2022

3. SiftRows

4. MixColumns

*
La matrice utilisée est définie par Rijndael.

30
09/04/2022

Nombre de rondes
Selon la taille des blocs à traiter et la taille de la clé, le nombre de rondes évolue.

Exemple
Two One Nine Two
Texte en hexadécimal (128 bits):

décalage circulaire gauche de


Byte Substitution (S-Box):

31
09/04/2022

Ajout un rond constant

1. AddRoundKey
2. SuBytes
3. SiftRows
4. MixColumns

32

Vous aimerez peut-être aussi