Vous êtes sur la page 1sur 163

Cryptographie

à clef secrète

Introduction

Vocabulaire

Algorithme à
tours

AES Cryptographie à clef secrète


Attaque de
Shannon

1 / 41
Cryptographie
à clef secrète
Table des matières
Introduction

Vocabulaire

Algorithme à
tours 1 Introduction
AES

Attaque de
Shannon 2 Vocabulaire

3 Algorithme à tour

4 AES

5 Cryptanalyse de l’AES : l’attaque de Shannon

2 / 41
Cryptographie
à clef secrète
Un peu de terminologie
Introduction

Vocabulaire

Algorithme à
tours

AES

Attaque de
Shannon

3 / 41
Cryptographie
à clef secrète
Un peu de terminologie
Introduction

Vocabulaire

Algorithme à
tours

AES 1 Cryptologie :
Attaque de
Shannon

3 / 41
Cryptographie
à clef secrète
Un peu de terminologie
Introduction

Vocabulaire

Algorithme à
tours

AES 1 Cryptologie : Cela signifie la « science du secret ».


Attaque de
Shannon

3 / 41
Cryptographie
à clef secrète
Un peu de terminologie
Introduction

Vocabulaire

Algorithme à
tours

AES 1 Cryptologie : Cela signifie la « science du secret ». La


Attaque de cryptologie se partage entre la cryptographie et la
Shannon
cryptanalyse;

3 / 41
Cryptographie
à clef secrète
Un peu de terminologie
Introduction

Vocabulaire

Algorithme à
tours

AES 1 Cryptologie : Cela signifie la « science du secret ». La


Attaque de cryptologie se partage entre la cryptographie et la
Shannon
cryptanalyse;
2 Cryptographie :

3 / 41
Cryptographie
à clef secrète
Un peu de terminologie
Introduction

Vocabulaire

Algorithme à
tours

AES 1 Cryptologie : Cela signifie la « science du secret ». La


Attaque de cryptologie se partage entre la cryptographie et la
Shannon
cryptanalyse;
2 Cryptographie : Étude des mécanismes destinés à assurer -
entre autres - la confidentialité des communications;

3 / 41
Cryptographie
à clef secrète
Un peu de terminologie
Introduction

Vocabulaire

Algorithme à
tours

AES 1 Cryptologie : Cela signifie la « science du secret ». La


Attaque de cryptologie se partage entre la cryptographie et la
Shannon
cryptanalyse;
2 Cryptographie : Étude des mécanismes destinés à assurer -
entre autres - la confidentialité des communications;
3 Cryptanalyse :

3 / 41
Cryptographie
à clef secrète
Un peu de terminologie
Introduction

Vocabulaire

Algorithme à
tours

AES 1 Cryptologie : Cela signifie la « science du secret ». La


Attaque de cryptologie se partage entre la cryptographie et la
Shannon
cryptanalyse;
2 Cryptographie : Étude des mécanismes destinés à assurer -
entre autres - la confidentialité des communications;
3 Cryptanalyse : Conception des techniques mises en œuvre
pour déjouer les protections cryptographiques mises en
place.

3 / 41
Cryptographie
à clef secrète

Introduction

Vocabulaire

Algorithme à Plus précisément,


tours

AES

Attaque de
Shannon

4 / 41
Cryptographie
à clef secrète

Introduction

Vocabulaire

Algorithme à Plus précisément,


tours

AES
1 Cryptographie :
Attaque de
Shannon

4 / 41
Cryptographie
à clef secrète

Introduction

Vocabulaire

Algorithme à Plus précisément,


tours

AES
1 Cryptographie : Étude et conception des procédés de
Attaque de
chiffrement des informations;
Shannon

4 / 41
Cryptographie
à clef secrète

Introduction

Vocabulaire

Algorithme à Plus précisément,


tours

AES
1 Cryptographie : Étude et conception des procédés de
Attaque de
chiffrement des informations;
Shannon
2 Cryptanalyse :

4 / 41
Cryptographie
à clef secrète

Introduction

Vocabulaire

Algorithme à Plus précisément,


tours

AES
1 Cryptographie : Étude et conception des procédés de
Attaque de
chiffrement des informations;
Shannon
2 Cryptanalyse :
• Analyse des textes chiffrés pour retrouver des informations
dissimulées,

4 / 41
Cryptographie
à clef secrète

Introduction

Vocabulaire

Algorithme à Plus précisément,


tours

AES
1 Cryptographie : Étude et conception des procédés de
Attaque de
chiffrement des informations;
Shannon
2 Cryptanalyse :
• Analyse des textes chiffrés pour retrouver des informations
dissimulées,
• Analyse des procédés de chiffrement afin d’en découvrir les
failles de sécurité.

4 / 41
Cryptographie
à clef secrète
Cryptographie VS stéganographie
Introduction

Vocabulaire

Algorithme à
tours

AES

Attaque de
Shannon

5 / 41
Cryptographie
à clef secrète
Cryptographie VS stéganographie
Introduction

Vocabulaire

Algorithme à
tours Il faut distinguer la cryptographie de la stéganographie.
AES

Attaque de
Shannon

5 / 41
Cryptographie
à clef secrète
Cryptographie VS stéganographie
Introduction

Vocabulaire

Algorithme à
tours Il faut distinguer la cryptographie de la stéganographie.
AES

Attaque de La cryptographie permet de transformer un message « clair »


Shannon
en un cryptogramme (message « chiffré ») de sorte que le
message originel soit complétement incompréhensible.

5 / 41
Cryptographie
à clef secrète
Cryptographie VS stéganographie
Introduction

Vocabulaire

Algorithme à
tours Il faut distinguer la cryptographie de la stéganographie.
AES

Attaque de La cryptographie permet de transformer un message « clair »


Shannon
en un cryptogramme (message « chiffré ») de sorte que le
message originel soit complétement incompréhensible.

La stéganographie permet de dissimuler l’existence même de


l’information secrète. Dit autrement le message clair n’est pas
transformé mais seulement plongé (ou noyé) dans un autre
message.

5 / 41
Cryptographie
à clef secrète
Cryptographie VS stéganographie
Introduction

Vocabulaire

Algorithme à
tours Il faut distinguer la cryptographie de la stéganographie.
AES

Attaque de La cryptographie permet de transformer un message « clair »


Shannon
en un cryptogramme (message « chiffré ») de sorte que le
message originel soit complétement incompréhensible.

La stéganographie permet de dissimuler l’existence même de


l’information secrète. Dit autrement le message clair n’est pas
transformé mais seulement plongé (ou noyé) dans un autre
message. Par ex. l’encre sympathique ou encore la lettre de
George Sand à Alfred de Musset.

5 / 41
Cryptographie
à clef secrète
Table des matières
Introduction

Vocabulaire

Algorithme à
tours 1 Introduction
AES

Attaque de
Shannon 2 Vocabulaire

3 Algorithme à tour

4 AES

5 Cryptanalyse de l’AES : l’attaque de Shannon

6 / 41
Cryptographie
à clef secrète

Introduction

Vocabulaire
Les protagonistes traditionnels d’une communication chiffrée :
Algorithme à
tours

AES

Attaque de
Shannon

7 / 41
Cryptographie
à clef secrète

Introduction

Vocabulaire
Les protagonistes traditionnels d’une communication chiffrée :
Algorithme à
tours

AES 1 Alice et Bob :


Attaque de
Shannon

7 / 41
Cryptographie
à clef secrète

Introduction

Vocabulaire
Les protagonistes traditionnels d’une communication chiffrée :
Algorithme à
tours

AES 1 Alice et Bob : ils souhaitent se transmettre des


Attaque de
Shannon
informations de façon confidentielle.

7 / 41
Cryptographie
à clef secrète

Introduction

Vocabulaire
Les protagonistes traditionnels d’une communication chiffrée :
Algorithme à
tours

AES 1 Alice et Bob : ils souhaitent se transmettre des


Attaque de
Shannon
informations de façon confidentielle. Ce sont les
interlocuteurs légitimes ;

7 / 41
Cryptographie
à clef secrète

Introduction

Vocabulaire
Les protagonistes traditionnels d’une communication chiffrée :
Algorithme à
tours

AES 1 Alice et Bob : ils souhaitent se transmettre des


Attaque de
Shannon
informations de façon confidentielle. Ce sont les
interlocuteurs légitimes ;

2 Oscar :

7 / 41
Cryptographie
à clef secrète

Introduction

Vocabulaire
Les protagonistes traditionnels d’une communication chiffrée :
Algorithme à
tours

AES 1 Alice et Bob : ils souhaitent se transmettre des


Attaque de
Shannon
informations de façon confidentielle. Ce sont les
interlocuteurs légitimes ;

2 Oscar : un opposant (ou ennemi, espion, adversaire) qui a


pour but d’espionner les communications entre Alice et
Bob.

7 / 41
Cryptographie
à clef secrète
Objectif de la cryptographie
Introduction

Vocabulaire

Algorithme à
tours

AES

Attaque de
Shannon

8 / 41
Cryptographie
à clef secrète
Objectif de la cryptographie
Introduction L’objectif fondamental de la cryptographie :
Vocabulaire

Algorithme à
tours

AES

Attaque de
Shannon

8 / 41
Cryptographie
à clef secrète
Objectif de la cryptographie
Introduction L’objectif fondamental de la cryptographie :
Vocabulaire
Permettre à Alice et Bob de communiquer sur un canal public
Algorithme à
tours peu sûr de telle façon qu’Oscar ne soit pas en mesure de
AES
comprendre les données échangées.
Attaque de
Shannon

8 / 41
Cryptographie
à clef secrète
Objectif de la cryptographie
Introduction L’objectif fondamental de la cryptographie :
Vocabulaire
Permettre à Alice et Bob de communiquer sur un canal public
Algorithme à
tours peu sûr de telle façon qu’Oscar ne soit pas en mesure de
AES
comprendre les données échangées.
Attaque de
Shannon
Un canal public est un canal de communication auquel tout le
monde à accès

8 / 41
Cryptographie
à clef secrète
Objectif de la cryptographie
Introduction L’objectif fondamental de la cryptographie :
Vocabulaire
Permettre à Alice et Bob de communiquer sur un canal public
Algorithme à
tours peu sûr de telle façon qu’Oscar ne soit pas en mesure de
AES
comprendre les données échangées.
Attaque de
Shannon
Un canal public est un canal de communication auquel tout le
monde à accès et dont les commications sont susceptibles d’être
écoutées par n’importe qui, sans difficulté technique
insurmontable.

8 / 41
Cryptographie
à clef secrète
Objectif de la cryptographie
Introduction L’objectif fondamental de la cryptographie :
Vocabulaire
Permettre à Alice et Bob de communiquer sur un canal public
Algorithme à
tours peu sûr de telle façon qu’Oscar ne soit pas en mesure de
AES
comprendre les données échangées.
Attaque de
Shannon
Un canal public est un canal de communication auquel tout le
monde à accès et dont les commications sont susceptibles d’être
écoutées par n’importe qui, sans difficulté technique
insurmontable. Par exemple, le réseau téléphonique, un réseau
informatique local, ...

8 / 41
Cryptographie
à clef secrète
Objectif de la cryptographie
Introduction L’objectif fondamental de la cryptographie :
Vocabulaire
Permettre à Alice et Bob de communiquer sur un canal public
Algorithme à
tours peu sûr de telle façon qu’Oscar ne soit pas en mesure de
AES
comprendre les données échangées.
Attaque de
Shannon
Un canal public est un canal de communication auquel tout le
monde à accès et dont les commications sont susceptibles d’être
écoutées par n’importe qui, sans difficulté technique
insurmontable. Par exemple, le réseau téléphonique, un réseau
informatique local, ...

8 / 41
Cryptographie
à clef secrète
Terminologie (bis repetita)
Introduction
1 Texte (ou message) clair :
Vocabulaire

Algorithme à
tours

AES

Attaque de
Shannon

9 / 41
Cryptographie
à clef secrète
Terminologie (bis repetita)
Introduction
1 Texte (ou message) clair : Information qu’Alice souhaite
Vocabulaire
transmettre à Bob.
Algorithme à
tours

AES

Attaque de
Shannon

9 / 41
Cryptographie
à clef secrète
Terminologie (bis repetita)
Introduction
1 Texte (ou message) clair : Information qu’Alice souhaite
Vocabulaire
transmettre à Bob. Par exemple, un texte en français ou
Algorithme à
tours des données numériques;
AES

Attaque de
Shannon

9 / 41
Cryptographie
à clef secrète
Terminologie (bis repetita)
Introduction
1 Texte (ou message) clair : Information qu’Alice souhaite
Vocabulaire
transmettre à Bob. Par exemple, un texte en français ou
Algorithme à
tours des données numériques;
AES

Attaque de
Shannon
2 Chiffrement :

9 / 41
Cryptographie
à clef secrète
Terminologie (bis repetita)
Introduction
1 Texte (ou message) clair : Information qu’Alice souhaite
Vocabulaire
transmettre à Bob. Par exemple, un texte en français ou
Algorithme à
tours des données numériques;
AES

Attaque de
Shannon
2 Chiffrement : Processus de transformation d’un message
clair M de façon à le rendre incompréhensible (sauf aux
interlocuteurs légitimes).

9 / 41
Cryptographie
à clef secrète
Terminologie (bis repetita)
Introduction
1 Texte (ou message) clair : Information qu’Alice souhaite
Vocabulaire
transmettre à Bob. Par exemple, un texte en français ou
Algorithme à
tours des données numériques;
AES

Attaque de
Shannon
2 Chiffrement : Processus de transformation d’un message
clair M de façon à le rendre incompréhensible (sauf aux
interlocuteurs légitimes). Il est basé sur une fonction de
chiffrement E qui permet de générer un message chiffré
C := E (M);

9 / 41
Cryptographie
à clef secrète
Terminologie (bis repetita)
Introduction
1 Texte (ou message) clair : Information qu’Alice souhaite
Vocabulaire
transmettre à Bob. Par exemple, un texte en français ou
Algorithme à
tours des données numériques;
AES

Attaque de
Shannon
2 Chiffrement : Processus de transformation d’un message
clair M de façon à le rendre incompréhensible (sauf aux
interlocuteurs légitimes). Il est basé sur une fonction de
chiffrement E qui permet de générer un message chiffré
C := E (M);

3 Déchiffrement :

9 / 41
Cryptographie
à clef secrète
Terminologie (bis repetita)
Introduction
1 Texte (ou message) clair : Information qu’Alice souhaite
Vocabulaire
transmettre à Bob. Par exemple, un texte en français ou
Algorithme à
tours des données numériques;
AES

Attaque de
Shannon
2 Chiffrement : Processus de transformation d’un message
clair M de façon à le rendre incompréhensible (sauf aux
interlocuteurs légitimes). Il est basé sur une fonction de
chiffrement E qui permet de générer un message chiffré
C := E (M);

3 Déchiffrement : Processus de reconstruction du message


clair à partir du message chiffré.

9 / 41
Cryptographie
à clef secrète
Terminologie (bis repetita)
Introduction
1 Texte (ou message) clair : Information qu’Alice souhaite
Vocabulaire
transmettre à Bob. Par exemple, un texte en français ou
Algorithme à
tours des données numériques;
AES

Attaque de
Shannon
2 Chiffrement : Processus de transformation d’un message
clair M de façon à le rendre incompréhensible (sauf aux
interlocuteurs légitimes). Il est basé sur une fonction de
chiffrement E qui permet de générer un message chiffré
C := E (M);

3 Déchiffrement : Processus de reconstruction du message


clair à partir du message chiffré. Il est basé sur une
fonction de déchiffrement D telle que

9 / 41
Cryptographie
à clef secrète
Terminologie (bis repetita)
Introduction
1 Texte (ou message) clair : Information qu’Alice souhaite
Vocabulaire
transmettre à Bob. Par exemple, un texte en français ou
Algorithme à
tours des données numériques;
AES

Attaque de
Shannon
2 Chiffrement : Processus de transformation d’un message
clair M de façon à le rendre incompréhensible (sauf aux
interlocuteurs légitimes). Il est basé sur une fonction de
chiffrement E qui permet de générer un message chiffré
C := E (M);

3 Déchiffrement : Processus de reconstruction du message


clair à partir du message chiffré. Il est basé sur une
fonction de déchiffrement D telle que si C est le message
chiffré correspondant au message clair M,

9 / 41
Cryptographie
à clef secrète
Terminologie (bis repetita)
Introduction
1 Texte (ou message) clair : Information qu’Alice souhaite
Vocabulaire
transmettre à Bob. Par exemple, un texte en français ou
Algorithme à
tours des données numériques;
AES

Attaque de
Shannon
2 Chiffrement : Processus de transformation d’un message
clair M de façon à le rendre incompréhensible (sauf aux
interlocuteurs légitimes). Il est basé sur une fonction de
chiffrement E qui permet de générer un message chiffré
C := E (M);

3 Déchiffrement : Processus de reconstruction du message


clair à partir du message chiffré. Il est basé sur une
fonction de déchiffrement D telle que si C est le message
chiffré correspondant au message clair M, alors
D(C ) = M.
9 / 41
Cryptographie
à clef secrète
Propriété essentielle au
Introduction déchiffrement (1ère version)
Vocabulaire

Algorithme à
tours

AES

Attaque de
Shannon

10 / 41
Cryptographie
à clef secrète
Propriété essentielle au
Introduction déchiffrement (1ère version)
Vocabulaire

Algorithme à
tours Pour que l’on puisse réaliser le déchiffrement,
AES

Attaque de
Shannon

10 / 41
Cryptographie
à clef secrète
Propriété essentielle au
Introduction déchiffrement (1ère version)
Vocabulaire

Algorithme à
tours Pour que l’on puisse réaliser le déchiffrement, il est nécessaire
AES
que les fonctions E et D vérifient la propriété suivante :
Attaque de
Shannon

10 / 41
Cryptographie
à clef secrète
Propriété essentielle au
Introduction déchiffrement (1ère version)
Vocabulaire

Algorithme à
tours Pour que l’on puisse réaliser le déchiffrement, il est nécessaire
AES
que les fonctions E et D vérifient la propriété suivante :
Attaque de
Shannon
Soit M un message clair.

10 / 41
Cryptographie
à clef secrète
Propriété essentielle au
Introduction déchiffrement (1ère version)
Vocabulaire

Algorithme à
tours Pour que l’on puisse réaliser le déchiffrement, il est nécessaire
AES
que les fonctions E et D vérifient la propriété suivante :
Attaque de
Shannon
Soit M un message clair. Si C = E (M),

10 / 41
Cryptographie
à clef secrète
Propriété essentielle au
Introduction déchiffrement (1ère version)
Vocabulaire

Algorithme à
tours Pour que l’on puisse réaliser le déchiffrement, il est nécessaire
AES
que les fonctions E et D vérifient la propriété suivante :
Attaque de
Shannon
Soit M un message clair. Si C = E (M), alors

D(C ) = D(E (M)) = M.

10 / 41
Cryptographie
à clef secrète
Propriété essentielle au
Introduction déchiffrement (1ère version)
Vocabulaire

Algorithme à
tours Pour que l’on puisse réaliser le déchiffrement, il est nécessaire
AES
que les fonctions E et D vérifient la propriété suivante :
Attaque de
Shannon
Soit M un message clair. Si C = E (M), alors

D(C ) = D(E (M)) = M.

Mathématiquement cela signifie que D est une fonction


surjective et que E est une fonction injective.

10 / 41
Cryptographie
à clef secrète
Propriété essentielle au
Introduction déchiffrement (1ère version)
Vocabulaire

Algorithme à
tours Pour que l’on puisse réaliser le déchiffrement, il est nécessaire
AES
que les fonctions E et D vérifient la propriété suivante :
Attaque de
Shannon
Soit M un message clair. Si C = E (M), alors

D(C ) = D(E (M)) = M.

Mathématiquement cela signifie que D est une fonction


surjective et que E est une fonction injective. Dit autrement :
les messages chiffrés de deux messages clairs distincts sont
distincts,

10 / 41
Cryptographie
à clef secrète
Propriété essentielle au
Introduction déchiffrement (1ère version)
Vocabulaire

Algorithme à
tours Pour que l’on puisse réaliser le déchiffrement, il est nécessaire
AES
que les fonctions E et D vérifient la propriété suivante :
Attaque de
Shannon
Soit M un message clair. Si C = E (M), alors

D(C ) = D(E (M)) = M.

Mathématiquement cela signifie que D est une fonction


surjective et que E est une fonction injective. Dit autrement :
les messages chiffrés de deux messages clairs distincts sont
distincts, et tout message chiffré est obtenu à partir d’un
message clair (!).

10 / 41
Cryptographie
à clef secrète
Notion de clef
Introduction

Vocabulaire

Algorithme à
tours

AES

Attaque de
Shannon

11 / 41
Cryptographie
à clef secrète
Notion de clef
Introduction

Vocabulaire

Algorithme à En pratique, et pour plus de sécurité, les fonctions E et D sont


tours
paramétrées par des clefs Ke et Kd , où Ke est la clef de
AES
chiffrement et Kd est la clef de déchiffrement.
Attaque de
Shannon

11 / 41
Cryptographie
à clef secrète
Notion de clef
Introduction

Vocabulaire

Algorithme à En pratique, et pour plus de sécurité, les fonctions E et D sont


tours
paramétrées par des clefs Ke et Kd , où Ke est la clef de
AES
chiffrement et Kd est la clef de déchiffrement.
Attaque de
Shannon

Dire que E et D sont paramétrées signifie qu’elles dépendent


fonctionnellement de la clef, i.e., qu’elles sont fonctions des
clefs.

11 / 41
Cryptographie
à clef secrète
Notion de clef
Introduction

Vocabulaire

Algorithme à En pratique, et pour plus de sécurité, les fonctions E et D sont


tours
paramétrées par des clefs Ke et Kd , où Ke est la clef de
AES
chiffrement et Kd est la clef de déchiffrement.
Attaque de
Shannon

Dire que E et D sont paramétrées signifie qu’elles dépendent


fonctionnellement de la clef, i.e., qu’elles sont fonctions des
clefs. On note cette dépendance EKe ou DKd .

11 / 41
Cryptographie
à clef secrète
Notion de clef
Introduction

Vocabulaire

Algorithme à En pratique, et pour plus de sécurité, les fonctions E et D sont


tours
paramétrées par des clefs Ke et Kd , où Ke est la clef de
AES
chiffrement et Kd est la clef de déchiffrement.
Attaque de
Shannon

Dire que E et D sont paramétrées signifie qu’elles dépendent


fonctionnellement de la clef, i.e., qu’elles sont fonctions des
clefs. On note cette dépendance EKe ou DKd .

En résumé, on a deux fonctions Ke 7→ EKe et Kd 7→ DKd où


(Ke , Kd ) parcourent l’espace des clefs K, i.e., l’ensemble de
toutes les paires (clef de chiffrement, clef de déchiffrement)
possibles.

11 / 41
Cryptographie
à clef secrète
Propriété de déchiffrement (2nde
Introduction version)
Vocabulaire

Algorithme à
tours
Pour permettre le déchiffrement, la propriété suivante, dite
AES

Attaque de
propriété de déchiffrement, doit être satisfaite.
Shannon

12 / 41
Cryptographie
à clef secrète
Propriété de déchiffrement (2nde
Introduction version)
Vocabulaire

Algorithme à
tours
Pour permettre le déchiffrement, la propriété suivante, dite
AES

Attaque de
propriété de déchiffrement, doit être satisfaite.
Shannon

Pour toute paire (Ke , Kd ) ∈ K, quel que soit le message clair


M,

12 / 41
Cryptographie
à clef secrète
Propriété de déchiffrement (2nde
Introduction version)
Vocabulaire

Algorithme à
tours
Pour permettre le déchiffrement, la propriété suivante, dite
AES

Attaque de
propriété de déchiffrement, doit être satisfaite.
Shannon

Pour toute paire (Ke , Kd ) ∈ K, quel que soit le message clair


M,
EKe (M) = C ⇒ DKd (C ) = M
ou encore
DKd (EKe (M)) = M.

12 / 41
Cryptographie
à clef secrète
Propriété de déchiffrement (2nde
Introduction version)
Vocabulaire

Algorithme à
tours
Pour permettre le déchiffrement, la propriété suivante, dite
AES

Attaque de
propriété de déchiffrement, doit être satisfaite.
Shannon

Pour toute paire (Ke , Kd ) ∈ K, quel que soit le message clair


M,
EKe (M) = C ⇒ DKd (C ) = M
ou encore
DKd (EKe (M)) = M.
Cela signifie que EKe est une fonction injective, alors que DKd
est une fonction surjective.

12 / 41
Cryptographie
à clef secrète
Procédé de chiffrement
Introduction

Vocabulaire

Algorithme à
tours

AES

Attaque de
Shannon

13 / 41
Cryptographie
à clef secrète
Procédé de chiffrement
Introduction
Un système cryptographique ou procédé (ou algorithme) de
Vocabulaire
chiffrement est la donnée
Algorithme à
tours

AES

Attaque de
Shannon

13 / 41
Cryptographie
à clef secrète
Procédé de chiffrement
Introduction
Un système cryptographique ou procédé (ou algorithme) de
Vocabulaire
chiffrement est la donnée
Algorithme à
tours

AES 1 d’un espace des clefs K, i.e., d’un ensemble de paires


Attaque de
Shannon
(Ke , Kd ) de clefs de chiffrement et de déchiffrement
possibles ;

13 / 41
Cryptographie
à clef secrète
Procédé de chiffrement
Introduction
Un système cryptographique ou procédé (ou algorithme) de
Vocabulaire
chiffrement est la donnée
Algorithme à
tours

AES 1 d’un espace des clefs K, i.e., d’un ensemble de paires


Attaque de
Shannon
(Ke , Kd ) de clefs de chiffrement et de déchiffrement
possibles ;

2 de fonctions de chiffrement EKe et de déchiffrement DKd


paramétrées par des éléments de K, et qui vérifient la
propriété de déchiffrement : si (Ke , Kd ) ∈ K, alors

DKd ◦ EKe = id.

Soit encore : si (Ke , Kd ) ∈ K, alors pour tout message


clair M, DKd (EKe (M)) = M.

13 / 41
Cryptographie
à clef secrète
Deux catégories de cryptosystèmes
Introduction

Vocabulaire
Il existe deux grandes catégories de systèmes cryptographiques :
Algorithme à
tours

AES

Attaque de
Shannon

14 / 41
Cryptographie
à clef secrète
Deux catégories de cryptosystèmes
Introduction

Vocabulaire
Il existe deux grandes catégories de systèmes cryptographiques :
Algorithme à 1 systèmes à clef secrète (ou symétriques) :
tours

AES
(Ke , Kd ) ∈ K ⇒ Ke = Kd ,
Attaque de
Shannon

14 / 41
Cryptographie
à clef secrète
Deux catégories de cryptosystèmes
Introduction

Vocabulaire
Il existe deux grandes catégories de systèmes cryptographiques :
Algorithme à 1 systèmes à clef secrète (ou symétriques) :
tours

AES
(Ke , Kd ) ∈ K ⇒ Ke = Kd , et la clef K = Ke = Kd ,
Attaque de
appelée clef secrète, est un secret partagé par Alice et Bob,
Shannon et eux uniquement ;

14 / 41
Cryptographie
à clef secrète
Deux catégories de cryptosystèmes
Introduction

Vocabulaire
Il existe deux grandes catégories de systèmes cryptographiques :
Algorithme à 1 systèmes à clef secrète (ou symétriques) :
tours

AES
(Ke , Kd ) ∈ K ⇒ Ke = Kd , et la clef K = Ke = Kd ,
Attaque de
appelée clef secrète, est un secret partagé par Alice et Bob,
Shannon et eux uniquement ;

2 systèmes à clef publique (ou asymétriques) :

14 / 41
Cryptographie
à clef secrète
Deux catégories de cryptosystèmes
Introduction

Vocabulaire
Il existe deux grandes catégories de systèmes cryptographiques :
Algorithme à 1 systèmes à clef secrète (ou symétriques) :
tours

AES
(Ke , Kd ) ∈ K ⇒ Ke = Kd , et la clef K = Ke = Kd ,
Attaque de
appelée clef secrète, est un secret partagé par Alice et Bob,
Shannon et eux uniquement ;

2 systèmes à clef publique (ou asymétriques) : l’ensemble K


vérifie la propriété calculatoire suivante.

14 / 41
Cryptographie
à clef secrète
Deux catégories de cryptosystèmes
Introduction

Vocabulaire
Il existe deux grandes catégories de systèmes cryptographiques :
Algorithme à 1 systèmes à clef secrète (ou symétriques) :
tours

AES
(Ke , Kd ) ∈ K ⇒ Ke = Kd , et la clef K = Ke = Kd ,
Attaque de
appelée clef secrète, est un secret partagé par Alice et Bob,
Shannon et eux uniquement ;

2 systèmes à clef publique (ou asymétriques) : l’ensemble K


vérifie la propriété calculatoire suivante. Soit (Ke , Kd ) ∈ K.
Étant donné Ke , il est en pratique impossible de retrouver
Kd .

14 / 41
Cryptographie
à clef secrète
Deux catégories de cryptosystèmes
Introduction

Vocabulaire
Il existe deux grandes catégories de systèmes cryptographiques :
Algorithme à 1 systèmes à clef secrète (ou symétriques) :
tours

AES
(Ke , Kd ) ∈ K ⇒ Ke = Kd , et la clef K = Ke = Kd ,
Attaque de
appelée clef secrète, est un secret partagé par Alice et Bob,
Shannon et eux uniquement ;

2 systèmes à clef publique (ou asymétriques) : l’ensemble K


vérifie la propriété calculatoire suivante. Soit (Ke , Kd ) ∈ K.
Étant donné Ke , il est en pratique impossible de retrouver
Kd . A contrario, étant donné Kd il est facile de calculer
Ke .

14 / 41
Cryptographie
à clef secrète
Deux catégories de cryptosystèmes
Introduction

Vocabulaire
Il existe deux grandes catégories de systèmes cryptographiques :
Algorithme à 1 systèmes à clef secrète (ou symétriques) :
tours

AES
(Ke , Kd ) ∈ K ⇒ Ke = Kd , et la clef K = Ke = Kd ,
Attaque de
appelée clef secrète, est un secret partagé par Alice et Bob,
Shannon et eux uniquement ;

2 systèmes à clef publique (ou asymétriques) : l’ensemble K


vérifie la propriété calculatoire suivante. Soit (Ke , Kd ) ∈ K.
Étant donné Ke , il est en pratique impossible de retrouver
Kd . A contrario, étant donné Kd il est facile de calculer
Ke . Il est clair qu’en général, Kd 6= Ke .

14 / 41
Cryptographie
à clef secrète
Deux catégories de cryptosystèmes
Introduction

Vocabulaire
Il existe deux grandes catégories de systèmes cryptographiques :
Algorithme à 1 systèmes à clef secrète (ou symétriques) :
tours

AES
(Ke , Kd ) ∈ K ⇒ Ke = Kd , et la clef K = Ke = Kd ,
Attaque de
appelée clef secrète, est un secret partagé par Alice et Bob,
Shannon et eux uniquement ;

2 systèmes à clef publique (ou asymétriques) : l’ensemble K


vérifie la propriété calculatoire suivante. Soit (Ke , Kd ) ∈ K.
Étant donné Ke , il est en pratique impossible de retrouver
Kd . A contrario, étant donné Kd il est facile de calculer
Ke . Il est clair qu’en général, Kd 6= Ke .

Ke est connue de tout le monde :

14 / 41
Cryptographie
à clef secrète
Deux catégories de cryptosystèmes
Introduction

Vocabulaire
Il existe deux grandes catégories de systèmes cryptographiques :
Algorithme à 1 systèmes à clef secrète (ou symétriques) :
tours

AES
(Ke , Kd ) ∈ K ⇒ Ke = Kd , et la clef K = Ke = Kd ,
Attaque de
appelée clef secrète, est un secret partagé par Alice et Bob,
Shannon et eux uniquement ;

2 systèmes à clef publique (ou asymétriques) : l’ensemble K


vérifie la propriété calculatoire suivante. Soit (Ke , Kd ) ∈ K.
Étant donné Ke , il est en pratique impossible de retrouver
Kd . A contrario, étant donné Kd il est facile de calculer
Ke . Il est clair qu’en général, Kd 6= Ke .

Ke est connue de tout le monde : c’est la clef publique,

14 / 41
Cryptographie
à clef secrète
Deux catégories de cryptosystèmes
Introduction

Vocabulaire
Il existe deux grandes catégories de systèmes cryptographiques :
Algorithme à 1 systèmes à clef secrète (ou symétriques) :
tours

AES
(Ke , Kd ) ∈ K ⇒ Ke = Kd , et la clef K = Ke = Kd ,
Attaque de
appelée clef secrète, est un secret partagé par Alice et Bob,
Shannon et eux uniquement ;

2 systèmes à clef publique (ou asymétriques) : l’ensemble K


vérifie la propriété calculatoire suivante. Soit (Ke , Kd ) ∈ K.
Étant donné Ke , il est en pratique impossible de retrouver
Kd . A contrario, étant donné Kd il est facile de calculer
Ke . Il est clair qu’en général, Kd 6= Ke .

Ke est connue de tout le monde : c’est la clef publique, Kd


n’est connue que du seul Bob :

14 / 41
Cryptographie
à clef secrète
Deux catégories de cryptosystèmes
Introduction

Vocabulaire
Il existe deux grandes catégories de systèmes cryptographiques :
Algorithme à 1 systèmes à clef secrète (ou symétriques) :
tours

AES
(Ke , Kd ) ∈ K ⇒ Ke = Kd , et la clef K = Ke = Kd ,
Attaque de
appelée clef secrète, est un secret partagé par Alice et Bob,
Shannon et eux uniquement ;

2 systèmes à clef publique (ou asymétriques) : l’ensemble K


vérifie la propriété calculatoire suivante. Soit (Ke , Kd ) ∈ K.
Étant donné Ke , il est en pratique impossible de retrouver
Kd . A contrario, étant donné Kd il est facile de calculer
Ke . Il est clair qu’en général, Kd 6= Ke .

Ke est connue de tout le monde : c’est la clef publique, Kd


n’est connue que du seul Bob : c’est la clef privée.

14 / 41
Cryptographie
à clef secrète
Exemples
Introduction

Vocabulaire

Algorithme à
tours

AES

Attaque de
Shannon

15 / 41
Cryptographie
à clef secrète
Exemples
Introduction

Vocabulaire

Algorithme à
tours

AES
1 Algorithmes à clef secrète :
Attaque de
Shannon

15 / 41
Cryptographie
à clef secrète
Exemples
Introduction

Vocabulaire

Algorithme à
tours

AES
1 Algorithmes à clef secrète : César (cf. exercice),
Attaque de
Shannon Chiffrement de Vernam (cf. vidéo), DES (Data Encryption
Standard), IDEA (International Data Encryption
Algorithm),

15 / 41
Cryptographie
à clef secrète
Exemples
Introduction

Vocabulaire

Algorithme à
tours

AES
1 Algorithmes à clef secrète : César (cf. exercice),
Attaque de
Shannon Chiffrement de Vernam (cf. vidéo), DES (Data Encryption
Standard), IDEA (International Data Encryption
Algorithm), AES (Advanced Encryption Standard);

15 / 41
Cryptographie
à clef secrète
Exemples
Introduction

Vocabulaire

Algorithme à
tours

AES
1 Algorithmes à clef secrète : César (cf. exercice),
Attaque de
Shannon Chiffrement de Vernam (cf. vidéo), DES (Data Encryption
Standard), IDEA (International Data Encryption
Algorithm), AES (Advanced Encryption Standard);

2 Algorithmes à clef publique :

15 / 41
Cryptographie
à clef secrète
Exemples
Introduction

Vocabulaire

Algorithme à
tours

AES
1 Algorithmes à clef secrète : César (cf. exercice),
Attaque de
Shannon Chiffrement de Vernam (cf. vidéo), DES (Data Encryption
Standard), IDEA (International Data Encryption
Algorithm), AES (Advanced Encryption Standard);

2 Algorithmes à clef publique : RSA (Rivest Shamir


Adleman),

15 / 41
Cryptographie
à clef secrète
Exemples
Introduction

Vocabulaire

Algorithme à
tours

AES
1 Algorithmes à clef secrète : César (cf. exercice),
Attaque de
Shannon Chiffrement de Vernam (cf. vidéo), DES (Data Encryption
Standard), IDEA (International Data Encryption
Algorithm), AES (Advanced Encryption Standard);

2 Algorithmes à clef publique : RSA (Rivest Shamir


Adleman), El-Gamal.

15 / 41
Cryptographie
à clef secrète
Table des matières
Introduction

Vocabulaire

Algorithme à
tours 1 Introduction
AES

Attaque de
Shannon 2 Vocabulaire

3 Algorithme à tour

4 AES

5 Cryptanalyse de l’AES : l’attaque de Shannon

16 / 41
Cryptographie
à clef secrète
Chiffrement par blocs
Introduction En pratique le chiffrement s’effectue numériquement.
Vocabulaire

Algorithme à
tours

AES

Attaque de
Shannon

17 / 41
Cryptographie
à clef secrète
Chiffrement par blocs
Introduction En pratique le chiffrement s’effectue numériquement. Les
Vocabulaire messages clairs ou chiffrés sont alors traités comme des blocs
Algorithme à binaires de longueur finie (comptée en nombre de bits ou en
tours
nombre d’octets).
AES

Attaque de
Shannon

17 / 41
Cryptographie
à clef secrète
Chiffrement par blocs
Introduction En pratique le chiffrement s’effectue numériquement. Les
Vocabulaire messages clairs ou chiffrés sont alors traités comme des blocs
Algorithme à binaires de longueur finie (comptée en nombre de bits ou en
tours
nombre d’octets). En général, les textes clairs et chiffrés sont
AES
des blocs de même longueur.
Attaque de
Shannon

17 / 41
Cryptographie
à clef secrète
Chiffrement par blocs
Introduction En pratique le chiffrement s’effectue numériquement. Les
Vocabulaire messages clairs ou chiffrés sont alors traités comme des blocs
Algorithme à binaires de longueur finie (comptée en nombre de bits ou en
tours
nombre d’octets). En général, les textes clairs et chiffrés sont
AES
des blocs de même longueur.
Attaque de
Shannon
Dit autrement, le message clair est une séquence binaire
M = (x1 , x2 , · · · , x` ) de ` bits, et le message chiffré est une
séquence binaire C = (y1 , y2 , · · · , y` ) également de ` bits,
produite par le procédé de chiffrement employé.

17 / 41
Cryptographie
à clef secrète
Chiffrement par blocs
Introduction En pratique le chiffrement s’effectue numériquement. Les
Vocabulaire messages clairs ou chiffrés sont alors traités comme des blocs
Algorithme à binaires de longueur finie (comptée en nombre de bits ou en
tours
nombre d’octets). En général, les textes clairs et chiffrés sont
AES
des blocs de même longueur.
Attaque de
Shannon
Dit autrement, le message clair est une séquence binaire
M = (x1 , x2 , · · · , x` ) de ` bits, et le message chiffré est une
séquence binaire C = (y1 , y2 , · · · , y` ) également de ` bits,
produite par le procédé de chiffrement employé.
Les messages à chiffrer étant en général plus long que la
longueur ` d’un bloc chiffrable, il est nécessaire de découper le
message en plusieurs blocs tous de taille ` (plus éventuellement
du bourrage),

17 / 41
Cryptographie
à clef secrète
Chiffrement par blocs
Introduction En pratique le chiffrement s’effectue numériquement. Les
Vocabulaire messages clairs ou chiffrés sont alors traités comme des blocs
Algorithme à binaires de longueur finie (comptée en nombre de bits ou en
tours
nombre d’octets). En général, les textes clairs et chiffrés sont
AES
des blocs de même longueur.
Attaque de
Shannon
Dit autrement, le message clair est une séquence binaire
M = (x1 , x2 , · · · , x` ) de ` bits, et le message chiffré est une
séquence binaire C = (y1 , y2 , · · · , y` ) également de ` bits,
produite par le procédé de chiffrement employé.
Les messages à chiffrer étant en général plus long que la
longueur ` d’un bloc chiffrable, il est nécessaire de découper le
message en plusieurs blocs tous de taille ` (plus éventuellement
du bourrage), M = (M1 , M2 , · · · , Mn ) où chaque Mi est de
longueur `.

17 / 41
Cryptographie
à clef secrète
Chiffrement par blocs
Introduction En pratique le chiffrement s’effectue numériquement. Les
Vocabulaire messages clairs ou chiffrés sont alors traités comme des blocs
Algorithme à binaires de longueur finie (comptée en nombre de bits ou en
tours
nombre d’octets). En général, les textes clairs et chiffrés sont
AES
des blocs de même longueur.
Attaque de
Shannon
Dit autrement, le message clair est une séquence binaire
M = (x1 , x2 , · · · , x` ) de ` bits, et le message chiffré est une
séquence binaire C = (y1 , y2 , · · · , y` ) également de ` bits,
produite par le procédé de chiffrement employé.
Les messages à chiffrer étant en général plus long que la
longueur ` d’un bloc chiffrable, il est nécessaire de découper le
message en plusieurs blocs tous de taille ` (plus éventuellement
du bourrage), M = (M1 , M2 , · · · , Mn ) où chaque Mi est de
longueur `. Le message chiffré sera alors obtenu comme la
séquence C = (C1 , C2 , · · · , Cn ) où bien sûr Ci est le message
chiffré à partir de Mi , i = 1, · · · , n. 17 / 41
Cryptographie
à clef secrète
Fonction de tour (1/3)
Introduction

Vocabulaire

Algorithme à
tours

AES En général les algorithmes modernes de chiffrement à clef


Attaque de secrète disposent d’une structure itérative dite de tours.
Shannon

18 / 41
Cryptographie
à clef secrète
Fonction de tour (1/3)
Introduction

Vocabulaire

Algorithme à
tours

AES En général les algorithmes modernes de chiffrement à clef


Attaque de secrète disposent d’une structure itérative dite de tours.
Shannon

Plus précisément, il y a une fonction de tour (ou de ronde) T


qui prend deux arguments : un bloc binaire de message M
(appelé message courant) et une sous-clef secrète (appelée aussi
clef de tour) K , laquelle est également un bloc binaire.

18 / 41
Cryptographie
à clef secrète
Fonction de tour (1/3)
Introduction

Vocabulaire

Algorithme à
tours

AES En général les algorithmes modernes de chiffrement à clef


Attaque de secrète disposent d’une structure itérative dite de tours.
Shannon

Plus précisément, il y a une fonction de tour (ou de ronde) T


qui prend deux arguments : un bloc binaire de message M
(appelé message courant) et une sous-clef secrète (appelée aussi
clef de tour) K , laquelle est également un bloc binaire. Le
résultat T (M, K ) est appelé message chiffré courant.

18 / 41
Cryptographie
à clef secrète
Fonction de tour (2/3)
Introduction

Vocabulaire

Algorithme à
tours

AES
Le clef de tour est obtenue à partir de la clef secrète à l’aide
Attaque de
d’un algorithme de dérivation (ou de cadencement).
Shannon

19 / 41
Cryptographie
à clef secrète
Fonction de tour (2/3)
Introduction

Vocabulaire

Algorithme à
tours

AES
Le clef de tour est obtenue à partir de la clef secrète à l’aide
Attaque de
d’un algorithme de dérivation (ou de cadencement).
Shannon

Pour chaque clef de tour K donnée, la fonction


TK : M 7→ T (M, K ) doit être inversible.

19 / 41
Cryptographie
à clef secrète
Fonction de tour (2/3)
Introduction

Vocabulaire

Algorithme à
tours

AES
Le clef de tour est obtenue à partir de la clef secrète à l’aide
Attaque de
d’un algorithme de dérivation (ou de cadencement).
Shannon

Pour chaque clef de tour K donnée, la fonction


TK : M 7→ T (M, K ) doit être inversible.

En particulier les longueurs d’un message courant et du chiffré


courant sont identiques (la longueur de la clef de tour K elle
peut être différente).

19 / 41
Cryptographie
à clef secrète
Fonction de tour (3/3)
Introduction

Vocabulaire

Algorithme à
tours

AES
La fonction de tour T est constituée d’une série d’opérations
Attaque de
Shannon mathématiques suffisamment complexes pour rendre
inintelligible le message chiffré courant.

20 / 41
Cryptographie
à clef secrète
Fonction de tour (3/3)
Introduction

Vocabulaire

Algorithme à
tours

AES
La fonction de tour T est constituée d’une série d’opérations
Attaque de
Shannon mathématiques suffisamment complexes pour rendre
inintelligible le message chiffré courant.

En particulier le bloc produit en sortie T (M, K ) d’une telle


fonction doit dépendre d’un nombre important de bits du
message courant M = (x1 , · · · , x` ) et de la sous-clef K utilisée.

20 / 41
Cryptographie
à clef secrète
Structure itérative (1/3)
Introduction

Vocabulaire
Afin de rendre le plus confus possible le message clair de départ,
Algorithme à
tours la fonction de tour est itérée un certain nombre de fois. Ce
AES nombre, noté r , est le nombre de rondes.
Attaque de
Shannon

21 / 41
Cryptographie
à clef secrète
Structure itérative (1/3)
Introduction

Vocabulaire
Afin de rendre le plus confus possible le message clair de départ,
Algorithme à
tours la fonction de tour est itérée un certain nombre de fois. Ce
AES nombre, noté r , est le nombre de rondes.
Attaque de
Shannon
Le procédé itératif est le suivant :

21 / 41
Cryptographie
à clef secrète
Structure itérative (1/3)
Introduction

Vocabulaire
Afin de rendre le plus confus possible le message clair de départ,
Algorithme à
tours la fonction de tour est itérée un certain nombre de fois. Ce
AES nombre, noté r , est le nombre de rondes.
Attaque de
Shannon
Le procédé itératif est le suivant : soit M = (x1 , · · · , x` ) le
message à chiffrer.

21 / 41
Cryptographie
à clef secrète
Structure itérative (1/3)
Introduction

Vocabulaire
Afin de rendre le plus confus possible le message clair de départ,
Algorithme à
tours la fonction de tour est itérée un certain nombre de fois. Ce
AES nombre, noté r , est le nombre de rondes.
Attaque de
Shannon
Le procédé itératif est le suivant : soit M = (x1 , · · · , x` ) le
message à chiffrer. On pose M0 := M.

21 / 41
Cryptographie
à clef secrète
Structure itérative (1/3)
Introduction

Vocabulaire
Afin de rendre le plus confus possible le message clair de départ,
Algorithme à
tours la fonction de tour est itérée un certain nombre de fois. Ce
AES nombre, noté r , est le nombre de rondes.
Attaque de
Shannon
Le procédé itératif est le suivant : soit M = (x1 , · · · , x` ) le
message à chiffrer. On pose M0 := M.

Puis on effectue
Mi+1 := T (Mi , Ki+1 )
pour i variant de 0 à r − 1.

La sous-clef Ki+1 est appelée sous-clef de la i + 1ème ronde


(i = 0, · · · , r − 1).

21 / 41
Cryptographie
à clef secrète
Structure itérative (2/3)
Introduction

Vocabulaire

Algorithme à
tours

AES
Le message chiffré (bloc de ` bits) C finalement obtenu est
Attaque de
Shannon donné par les égalités suivantes :

C = Mr

22 / 41
Cryptographie
à clef secrète
Structure itérative (2/3)
Introduction

Vocabulaire

Algorithme à
tours

AES
Le message chiffré (bloc de ` bits) C finalement obtenu est
Attaque de
Shannon donné par les égalités suivantes :

C = Mr
= T (Mr −1 , Kr ) = TKr (Mr −1 )

22 / 41
Cryptographie
à clef secrète
Structure itérative (2/3)
Introduction

Vocabulaire

Algorithme à
tours

AES
Le message chiffré (bloc de ` bits) C finalement obtenu est
Attaque de
Shannon donné par les égalités suivantes :

C = Mr
= T (Mr −1 , Kr ) = TKr (Mr −1 ) (1)
= (TKr ◦ TKr −1 ◦ · · · ◦ TK2 ◦ TK1 )(M).

22 / 41
Cryptographie
à clef secrète
Structure itérative (3/3)
Introduction

Vocabulaire

Algorithme à Puisque chacune des fonctions TKi est inversible, on calcule le


tours
message clair M à partir du message chiffré C de la façon
AES
suivante :
Attaque de
Shannon

23 / 41
Cryptographie
à clef secrète
Structure itérative (3/3)
Introduction

Vocabulaire

Algorithme à Puisque chacune des fonctions TKi est inversible, on calcule le


tours
message clair M à partir du message chiffré C de la façon
AES
suivante :
Attaque de
Shannon
C0 := C

23 / 41
Cryptographie
à clef secrète
Structure itérative (3/3)
Introduction

Vocabulaire

Algorithme à Puisque chacune des fonctions TKi est inversible, on calcule le


tours
message clair M à partir du message chiffré C de la façon
AES
suivante :
Attaque de
Shannon
C0 := C
(2)
Ci+1 := TK−1
r +1−i
(Ci ), 1 ≤ i ≤ r

(autrement dit les sous-clefs sont parcourues dans le “sens


inverse” : r , r − 1, · · · , 1).

23 / 41
Cryptographie
à clef secrète
Structure itérative (3/3)
Introduction

Vocabulaire

Algorithme à Puisque chacune des fonctions TKi est inversible, on calcule le


tours
message clair M à partir du message chiffré C de la façon
AES
suivante :
Attaque de
Shannon
C0 := C
(2)
Ci+1 := TK−1
r +1−i
(Ci ), 1 ≤ i ≤ r

(autrement dit les sous-clefs sont parcourues dans le “sens


inverse” : r , r − 1, · · · , 1).

Bien entendu, M = Cr .

23 / 41
Cryptographie
à clef secrète
Structure itérative (3/3)
Introduction

Vocabulaire

Algorithme à Puisque chacune des fonctions TKi est inversible, on calcule le


tours
message clair M à partir du message chiffré C de la façon
AES
suivante :
Attaque de
Shannon
C0 := C
(2)
Ci+1 := TK−1
r +1−i
(Ci ), 1 ≤ i ≤ r

(autrement dit les sous-clefs sont parcourues dans le “sens


inverse” : r , r − 1, · · · , 1).

Bien entendu, M = Cr . Autrement dit, on voit qu’une telle


structure itérative satisfait la propriété de déchiffrement.

23 / 41
Cryptographie
à clef secrète
Table des matières
Introduction

Vocabulaire

Algorithme à
tours 1 Introduction
AES

Attaque de
Shannon 2 Vocabulaire

3 Algorithme à tour

4 AES

5 Cryptanalyse de l’AES : l’attaque de Shannon

24 / 41
Cryptographie
à clef secrète
Les paramètres
Introduction

Vocabulaire
L’AES (pour “Advanced Encryption Standard”) peut utiliser des
Algorithme à
clefs secrètes de 128 bits (16 octets), 192 bits (24 octets) ou
tours
256 bits (32 octets).
AES

Attaque de
Shannon

25 / 41
Cryptographie
à clef secrète
Les paramètres
Introduction

Vocabulaire
L’AES (pour “Advanced Encryption Standard”) peut utiliser des
Algorithme à
clefs secrètes de 128 bits (16 octets), 192 bits (24 octets) ou
tours
256 bits (32 octets).
AES

Attaque de
Shannon
Le choix de la taille des clefs dépend du niveau de protection
attendu (plus la taille est élevée plus haut est le niveau de
sûreté).

25 / 41
Cryptographie
à clef secrète
Les paramètres
Introduction

Vocabulaire
L’AES (pour “Advanced Encryption Standard”) peut utiliser des
Algorithme à
clefs secrètes de 128 bits (16 octets), 192 bits (24 octets) ou
tours
256 bits (32 octets).
AES

Attaque de
Shannon
Le choix de la taille des clefs dépend du niveau de protection
attendu (plus la taille est élevée plus haut est le niveau de
sûreté).

L’AES opère sur un certain nombre de rondes, lequel dépend de


la taille de clef secrète choisie selon le tableau suivant :

Taille de la clef Nombre de rondes


128 10
192 12
256 14

25 / 41
Cryptographie
à clef secrète
État
Introduction
La taille des blocs de message à chiffrer est de 16 octets soit
Vocabulaire
128 bits.
Algorithme à
tours

AES

Attaque de
Shannon

26 / 41
Cryptographie
à clef secrète
État
Introduction
La taille des blocs de message à chiffrer est de 16 octets soit
Vocabulaire
128 bits.
Algorithme à
tours

AES Un bloc est représenté par ses 16 octets sous la forme d’une
Attaque de matrice 4 × 4 (indicée de 0 à 3), appelée état, dont les éléments
Shannon
matriciels sont des octets :
a0,0 a0,1 a0,2 a0,3
 
 a1,0 a1,1 a1,2 a1,3 
 
 a2,0 a2,1 a2,2 a2,3 
a3,0 a3,1 a3,2 a3,3

26 / 41
Cryptographie
à clef secrète
État
Introduction
La taille des blocs de message à chiffrer est de 16 octets soit
Vocabulaire
128 bits.
Algorithme à
tours

AES Un bloc est représenté par ses 16 octets sous la forme d’une
Attaque de matrice 4 × 4 (indicée de 0 à 3), appelée état, dont les éléments
Shannon
matriciels sont des octets :
a0,0 a0,1 a0,2 a0,3
 
 a1,0 a1,1 a1,2 a1,3 
 
 a2,0 a2,1 a2,2 a2,3 
a3,0 a3,1 a3,2 a3,3

Quelle que soit la taille choisie pour la clef secrète, les sous-clefs
de tours sont également représentées par de telles matrices
d’octets de taille 4 × 4, et sont donc constituées de 16 octets
soit 128 bits.
26 / 41
Cryptographie
à clef secrète
Corps fini à 256 éléments
Introduction

Vocabulaire

Algorithme à L’ensemble de tous les octets s’organise algébriquement en un


tours
corps GF (28 ).
AES

Attaque de
Shannon

27 / 41
Cryptographie
à clef secrète
Corps fini à 256 éléments
Introduction

Vocabulaire

Algorithme à L’ensemble de tous les octets s’organise algébriquement en un


tours
corps GF (28 ).
AES

Attaque de
Shannon Autrement dit, s’il est bien entendu possible d’additionner deux
octets (le XOR composante par composante), il est aussi
possible de les multiplier ou d’en calculer l’inverse (pour un
octet non identiquement nul).

27 / 41
Cryptographie
à clef secrète
Corps fini à 256 éléments
Introduction

Vocabulaire

Algorithme à L’ensemble de tous les octets s’organise algébriquement en un


tours
corps GF (28 ).
AES

Attaque de
Shannon Autrement dit, s’il est bien entendu possible d’additionner deux
octets (le XOR composante par composante), il est aussi
possible de les multiplier ou d’en calculer l’inverse (pour un
octet non identiquement nul).

Nous ne rentrons pas dans les détails de cette structure dans la


suite, mais il est utile de savoir que les opérations algébriques
(+, ×) effectuées sur des octets sont relatives à la structure de
corps GF (28 ).

27 / 41
Cryptographie
à clef secrète

Introduction

Vocabulaire La fonction de tour de l’AES est constituée de quatre


Algorithme à opérations que nous allons décrire :
tours

AES

Attaque de
Shannon

28 / 41
Cryptographie
à clef secrète

Introduction

Vocabulaire La fonction de tour de l’AES est constituée de quatre


Algorithme à opérations que nous allons décrire :
tours

AES

Attaque de
1 ByteSub;
Shannon

28 / 41
Cryptographie
à clef secrète

Introduction

Vocabulaire La fonction de tour de l’AES est constituée de quatre


Algorithme à opérations que nous allons décrire :
tours

AES

Attaque de
1 ByteSub;
Shannon

2 ShiftRow ;

28 / 41
Cryptographie
à clef secrète

Introduction

Vocabulaire La fonction de tour de l’AES est constituée de quatre


Algorithme à opérations que nous allons décrire :
tours

AES

Attaque de
1 ByteSub;
Shannon

2 ShiftRow ;

3 MixColumn;

28 / 41
Cryptographie
à clef secrète

Introduction

Vocabulaire La fonction de tour de l’AES est constituée de quatre


Algorithme à opérations que nous allons décrire :
tours

AES

Attaque de
1 ByteSub;
Shannon

2 ShiftRow ;

3 MixColumn;

4 Addition matricielle avec la sous-clef.

28 / 41
Cryptographie
à clef secrète
1. Byte Substitution
Introduction

Vocabulaire
Il y a une fonction notée SRD qui prend en argument un octet
Algorithme à
tours et renvoie un octet (cette fonction correspond au calcul de
AES l’inverse dans le corps fini à 256 éléments).
Attaque de
Shannon

29 / 41
Cryptographie
à clef secrète
1. Byte Substitution
Introduction

Vocabulaire
Il y a une fonction notée SRD qui prend en argument un octet
Algorithme à
tours et renvoie un octet (cette fonction correspond au calcul de
AES l’inverse dans le corps fini à 256 éléments).
Attaque de
Shannon
La fonction ByteSub transforme un état A = (ai,j )0≤i,j≤3 en un
nouvel état

ByteSub((ai,j )0≤i,j≤3 ) := (bi,j )0≤i,j≤3

avec
bi,j := SRD (ai,j ).

29 / 41
Cryptographie
à clef secrète
1. Byte Substitution
Introduction

Vocabulaire
Il y a une fonction notée SRD qui prend en argument un octet
Algorithme à
tours et renvoie un octet (cette fonction correspond au calcul de
AES l’inverse dans le corps fini à 256 éléments).
Attaque de
Shannon
La fonction ByteSub transforme un état A = (ai,j )0≤i,j≤3 en un
nouvel état

ByteSub((ai,j )0≤i,j≤3 ) := (bi,j )0≤i,j≤3

avec
bi,j := SRD (ai,j ).
Autrement dit, ByteSub correspond à l’application de SRD sur
chacun des éléments matriciels d’un état.

29 / 41
Cryptographie
à clef secrète

Introduction
La fonction SRD est inversible.
Vocabulaire

Algorithme à
tours

AES

Attaque de
Shannon

30 / 41
Cryptographie
à clef secrète

Introduction
La fonction SRD est inversible.
Vocabulaire

Algorithme à
tours Pour faire simple SRD (x) = x −1 si x n’est pas l’octet
AES identiquement nul x0 = (0, 0, 0, 0, 0, 0, 0, 0) (où x −1 est l’inverse
Attaque de
Shannon
de l’octet x dans le corps GF (28 )), et SRD (x0 ) = x0 .

30 / 41
Cryptographie
à clef secrète

Introduction
La fonction SRD est inversible.
Vocabulaire

Algorithme à
tours Pour faire simple SRD (x) = x −1 si x n’est pas l’octet
AES identiquement nul x0 = (0, 0, 0, 0, 0, 0, 0, 0) (où x −1 est l’inverse
Attaque de
Shannon
de l’octet x dans le corps GF (28 )), et SRD (x0 ) = x0 .
−1 −1
Donc SRD (y ) = y −1 si y 6= x0 , et SRD (x0 ) = x 0 .

30 / 41
Cryptographie
à clef secrète

Introduction
La fonction SRD est inversible.
Vocabulaire

Algorithme à
tours Pour faire simple SRD (x) = x −1 si x n’est pas l’octet
AES identiquement nul x0 = (0, 0, 0, 0, 0, 0, 0, 0) (où x −1 est l’inverse
Attaque de
Shannon
de l’octet x dans le corps GF (28 )), et SRD (x0 ) = x0 .
−1 −1
Donc SRD (y ) = y −1 si y 6= x0 , et SRD (x0 ) = x 0 .

Il en résulte que ByteSub est également inversible.

30 / 41
Cryptographie
à clef secrète

Introduction
La fonction SRD est inversible.
Vocabulaire

Algorithme à
tours Pour faire simple SRD (x) = x −1 si x n’est pas l’octet
AES identiquement nul x0 = (0, 0, 0, 0, 0, 0, 0, 0) (où x −1 est l’inverse
Attaque de
Shannon
de l’octet x dans le corps GF (28 )), et SRD (x0 ) = x0 .
−1 −1
Donc SRD (y ) = y −1 si y 6= x0 , et SRD (x0 ) = x 0 .

Il en résulte que ByteSub est également inversible. On a bien


sûr
−1
ByteSub −1 ((bi,j )0≤i,j≤3 ) = ((SRD (bi,j ))0≤i,j≤3 ).

30 / 41
Cryptographie
à clef secrète
2. Shift Row
Introduction

Vocabulaire

Algorithme à
tours La fonction ShiftRow applique un décalage circulaire sur
AES chacune des lignes de l’état produit par ByteSub, ce décalage
Attaque de dépendant de la ligne considérée.
Shannon

31 / 41
Cryptographie
à clef secrète
2. Shift Row
Introduction

Vocabulaire

Algorithme à
tours La fonction ShiftRow applique un décalage circulaire sur
AES chacune des lignes de l’état produit par ByteSub, ce décalage
Attaque de dépendant de la ligne considérée.
Shannon

En détail :
b0,0 b0,1 b0,2 b0,3 b0,0 b0,1 b0,2 b0,3
   
 b1,0 b1,1 b1,2 b1,3 
 =  b1,1 b1,2 b1,3 b1,0 
 
ShiftRow 
 b2,0

b2,1 b2,2 b2,3   b2,2
 b2,3 b2,0 b2,1 
b3,0 b3,1 b3,2 b3,3 b3,3 b3,0 b3,1 b3,2
(3)

31 / 41
Cryptographie
à clef secrète

Introduction

Vocabulaire ShiftRow est inversible à l’évidence, et son inverse consiste


Algorithme à
tours
simplement à effectuer les décalages dans “l’autre sens” !
AES

Attaque de
Shannon

32 / 41
Cryptographie
à clef secrète

Introduction

Vocabulaire ShiftRow est inversible à l’évidence, et son inverse consiste


Algorithme à
tours
simplement à effectuer les décalages dans “l’autre sens” !
AES

Attaque de
Plus rigoureusement,
Shannon
b0,0 b0,1 b0,2 b0,3 b0,0 b0,1 b0,2 b0,3
   

ShiftRow −1   b1,0 b1,1 b1,2 b1,3   b1,3 b1,0 b1,1 b1,2 


   
 b2,0 = 
b2,1 b2,2 b2,3   b2,2 b2,3 b2,0 b2,1 
b3,0 b3,1 b3,2 b3,3 b3,1 b3,2 b3,3 b3,0
(4)

32 / 41
Cryptographie
à clef secrète
3. MixColumn
Introduction

Vocabulaire

Algorithme à
tours
MixColumn agit comme une multiplication matricielle sur
AES chacune des colonnes de l’état en sortie de ShiftRow .
Attaque de
Shannon

33 / 41
Cryptographie
à clef secrète
3. MixColumn
Introduction

Vocabulaire

Algorithme à
tours
MixColumn agit comme une multiplication matricielle sur
AES chacune des colonnes de l’état en sortie de ShiftRow .
Attaque de
Shannon
En détail : notons l’état C = ShiftRow ((bi,j )0≤i,j≤3 ) sous la
forme de la suite de ses colonnes C = (C0 , C1 , C2 , C3 ) (donc Ci
est la i + 1ème colonne de C ).

33 / 41
Cryptographie
à clef secrète
3. MixColumn
Introduction

Vocabulaire

Algorithme à
tours
MixColumn agit comme une multiplication matricielle sur
AES chacune des colonnes de l’état en sortie de ShiftRow .
Attaque de
Shannon
En détail : notons l’état C = ShiftRow ((bi,j )0≤i,j≤3 ) sous la
forme de la suite de ses colonnes C = (C0 , C1 , C2 , C3 ) (donc Ci
est la i + 1ème colonne de C ).

Alors MixColumn(C ) := (MC0 , MC1 , MC2 , MC3 ) où M est une


matrice inversible 4 × 4 contenant des octets (rappelons que la
multiplication des octets utilisée correspond à la multiplication
dans GF (28 )).

33 / 41
Cryptographie
à clef secrète

Introduction

Vocabulaire

Algorithme à
tours
MixColumn est aussi inversible.
AES

Attaque de
Shannon

34 / 41
Cryptographie
à clef secrète

Introduction

Vocabulaire

Algorithme à
tours
MixColumn est aussi inversible.
AES

Attaque de
Soit D = (D0 , D1 , D2 , D3 ) une matrice 4 × 4 d’octets donnée
Shannon sous la forme de la suite de ses colonnes.

34 / 41
Cryptographie
à clef secrète

Introduction

Vocabulaire

Algorithme à
tours
MixColumn est aussi inversible.
AES

Attaque de
Soit D = (D0 , D1 , D2 , D3 ) une matrice 4 × 4 d’octets donnée
Shannon sous la forme de la suite de ses colonnes. Alors,

MixColumn−1 (D) = (M −1 D0 , M −1 D1 , M −1 D2 , M −1 D3 )

où M −1 est la matrice inverse de M.

34 / 41
Cryptographie
à clef secrète
4. Addition avec la sous-clef de
Introduction tour
Vocabulaire

Algorithme à
tours

AES

Attaque de
Shannon
L’état D = (di,j )0≤i,j≤3 obtenu en sortie de MixColum est
additionné (matriciellement) avec la sous-clef de tour
K = (ki,j )0≤i,j≤3 .

Autrement dit, D + K = (di,j + ki,j )0≤i,j≤3 .

35 / 41
Cryptographie
à clef secrète

Bien sûr, (D + K ) − K = D de sorte que l’inverse de


Introduction D 7→ D + K n’est autre que D →
7 D − K.
Vocabulaire

Algorithme à
tours

AES

Attaque de
Shannon

36 / 41
Cryptographie
à clef secrète

Bien sûr, (D + K ) − K = D de sorte que l’inverse de


Introduction D 7→ D + K n’est autre que D →
7 D − K.
Vocabulaire

Algorithme à
tours
L’addition des octets dans GF (28 ) n’est qu’une addition
AES
modulo 2 de leurs composantes, i.e.,
Attaque de
Shannon

36 / 41
Cryptographie
à clef secrète

Bien sûr, (D + K ) − K = D de sorte que l’inverse de


Introduction D 7→ D + K n’est autre que D →
7 D − K.
Vocabulaire

Algorithme à
tours
L’addition des octets dans GF (28 ) n’est qu’une addition
AES
modulo 2 de leurs composantes, i.e., b + b 0 =
Attaque de (b1 , b2 , b3 , b4 , b5 , b6 , b5 , b8 ) + (b10 , b20 , b30 , b40 , b50 , b60 , b50 , b80 )
Shannon

36 / 41
Cryptographie
à clef secrète

Bien sûr, (D + K ) − K = D de sorte que l’inverse de


Introduction D 7→ D + K n’est autre que D →
7 D − K.
Vocabulaire

Algorithme à
tours
L’addition des octets dans GF (28 ) n’est qu’une addition
AES
modulo 2 de leurs composantes, i.e., b + b 0 =
Attaque de (b1 , b2 , b3 , b4 , b5 , b6 , b5 , b8 ) + (b10 , b20 , b30 , b40 , b50 , b60 , b50 , b80 ) =
Shannon
(b1 ⊕b10 , b2 ⊕b20 , b3 ⊕b30 , b4 ⊕b40 , b5 ⊕b50 , b6 ⊕b60 , b7 ⊕b70 , b8 ⊕b80 ),

36 / 41
Cryptographie
à clef secrète

Bien sûr, (D + K ) − K = D de sorte que l’inverse de


Introduction D 7→ D + K n’est autre que D →
7 D − K.
Vocabulaire

Algorithme à
tours
L’addition des octets dans GF (28 ) n’est qu’une addition
AES
modulo 2 de leurs composantes, i.e., b + b 0 =
Attaque de (b1 , b2 , b3 , b4 , b5 , b6 , b5 , b8 ) + (b10 , b20 , b30 , b40 , b50 , b60 , b50 , b80 ) =
Shannon
(b1 ⊕b10 , b2 ⊕b20 , b3 ⊕b30 , b4 ⊕b40 , b5 ⊕b50 , b6 ⊕b60 , b7 ⊕b70 , b8 ⊕b80 ),
avec 0 ⊕ 0 = 0 = 1 ⊕ 1, 1 ⊕ 0 = 1 = 0 ⊕ 1.

36 / 41
Cryptographie
à clef secrète

Bien sûr, (D + K ) − K = D de sorte que l’inverse de


Introduction D 7→ D + K n’est autre que D →
7 D − K.
Vocabulaire

Algorithme à
tours
L’addition des octets dans GF (28 ) n’est qu’une addition
AES
modulo 2 de leurs composantes, i.e., b + b 0 =
Attaque de (b1 , b2 , b3 , b4 , b5 , b6 , b5 , b8 ) + (b10 , b20 , b30 , b40 , b50 , b60 , b50 , b80 ) =
Shannon
(b1 ⊕b10 , b2 ⊕b20 , b3 ⊕b30 , b4 ⊕b40 , b5 ⊕b50 , b6 ⊕b60 , b7 ⊕b70 , b8 ⊕b80 ),
avec 0 ⊕ 0 = 0 = 1 ⊕ 1, 1 ⊕ 0 = 1 = 0 ⊕ 1.

Il résulte de cela que pour une matrice d’octets A de taille


4 × 4, −A = A et A + A = 0, où 0 est la matrice 4 × 4
identiquement nulle.

36 / 41
Cryptographie
à clef secrète

Bien sûr, (D + K ) − K = D de sorte que l’inverse de


Introduction D 7→ D + K n’est autre que D →
7 D − K.
Vocabulaire

Algorithme à
tours
L’addition des octets dans GF (28 ) n’est qu’une addition
AES
modulo 2 de leurs composantes, i.e., b + b 0 =
Attaque de (b1 , b2 , b3 , b4 , b5 , b6 , b5 , b8 ) + (b10 , b20 , b30 , b40 , b50 , b60 , b50 , b80 ) =
Shannon
(b1 ⊕b10 , b2 ⊕b20 , b3 ⊕b30 , b4 ⊕b40 , b5 ⊕b50 , b6 ⊕b60 , b7 ⊕b70 , b8 ⊕b80 ),
avec 0 ⊕ 0 = 0 = 1 ⊕ 1, 1 ⊕ 0 = 1 = 0 ⊕ 1.

Il résulte de cela que pour une matrice d’octets A de taille


4 × 4, −A = A et A + A = 0, où 0 est la matrice 4 × 4
identiquement nulle.

Donc l’inverse de la fonction D 7→ D + K est D 7→ D + K


elle-même !

36 / 41
Cryptographie
à clef secrète
Fonction de tour
Introduction

Vocabulaire

Algorithme à
tours

AES La fonction de tour de l’AES est donc


Attaque de
Shannon T (A, K ) := MixColumn(ShiftRow (ByteSub(A))) + K .

37 / 41
Cryptographie
à clef secrète
Fonction de tour
Introduction

Vocabulaire

Algorithme à
tours

AES La fonction de tour de l’AES est donc


Attaque de
Shannon T (A, K ) := MixColumn(ShiftRow (ByteSub(A))) + K .

La fonction TK : A 7→ T (A, K ) est inversible d’inverse

TK−1 (A) = ByteSub −1 (ShiftRow −1 (MixColumn−1 (A + K ))).

37 / 41
Cryptographie
à clef secrète
Table des matières
Introduction

Vocabulaire

Algorithme à
tours 1 Introduction
AES

Attaque de
Shannon 2 Vocabulaire

3 Algorithme à tour

4 AES

5 Cryptanalyse de l’AES : l’attaque de Shannon

38 / 41
Cryptographie
à clef secrète
Il s’agit d’une attaque algébrique mettant en pratique la théorie
Introduction proposée par Claude Shannon en 1949.
Vocabulaire

Algorithme à Cette attaque consiste à mettre en équation les relations liant


tours
un ensemble de messages clairs et l’ensemble correspondant de
AES
messages chiffrés en fonction des bits des sous-clefs intervenant
Attaque de
Shannon à chaque ronde.

Pour cette attaque tout est connu sauf évidemment les bits de
la sous-clef.

Chacune de ces équations doit donc être complexe en les bits de


la sous-clef et impliquer beaucoup d’entre eux. En particulier
elle doit avoir un degré élevé sinon l’ennemi peut résoudre les
équations les plus simples et ensuite les plus complexes par
substitution.

39 / 41
Cryptographie
à clef secrète

Introduction

Vocabulaire Étant donné un message clair de n bits M = x1 · · · xn , une clef


Algorithme à
tours
de ` bits K = k1 · · · k` et le message chiffré C = y1 · · · yn , le
AES
cryptanalyste peut écrire les équations de chiffrement :
Attaque de
Shannon y1 = f1 (x1 , · · · , xn , k1 , · · · , k` )
y2 = f2 (x1 , · · · , xn , k1 , · · · , k` )
.. (5)
.
yn = fn (x1 , · · · , xn , k1 , · · · , k` )

40 / 41
Cryptographie
à clef secrète

Introduction

Vocabulaire

Algorithme à
tours
En appliquant cela au cas de l’AES on obtient un système de
AES
1600 équations de degré 7 en 1600 variables (128 variables pour
Attaque de
Shannon la clef principale, 10 × 132 variables pour les sous-clefs, et
9 × 128 variables pour les états intermédiaires).

Il a été prouvé que l’AES résiste à ces attaques.

41 / 41