Vous êtes sur la page 1sur 163

Cryptographie

à clef secrète

Laurent
Poinsot

Introduction

Vocabulaire

Algorithme à Cryptographie à clef secrète


tours

AES

Attaque de
Shannon Laurent Poinsot

École de l’Air
Université Sorbonne Paris Nord

1 / 41
Cryptographie
à clef secrète

Laurent
Table des matières
Poinsot

Introduction

Vocabulaire
1 Introduction
Algorithme à
tours

AES
2 Vocabulaire
Attaque de
Shannon

3 Algorithme à tour

4 AES

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

2 / 41
Cryptographie
à clef secrète

Laurent
Un peu de terminologie
Poinsot

Introduction

Vocabulaire

Algorithme à
tours

AES

Attaque de
Shannon

3 / 41
Cryptographie
à clef secrète

Laurent
Un peu de terminologie
Poinsot

Introduction

Vocabulaire

Algorithme à
tours 1 Cryptologie :
AES

Attaque de
Shannon

3 / 41
Cryptographie
à clef secrète

Laurent
Un peu de terminologie
Poinsot

Introduction

Vocabulaire

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

Attaque de
Shannon

3 / 41
Cryptographie
à clef secrète

Laurent
Un peu de terminologie
Poinsot

Introduction

Vocabulaire

Algorithme à
tours 1 Cryptologie : Cela signifie la « science du secret ». La
AES cryptologie se partage entre la cryptographie et la
Attaque de cryptanalyse;
Shannon

3 / 41
Cryptographie
à clef secrète

Laurent
Un peu de terminologie
Poinsot

Introduction

Vocabulaire

Algorithme à
tours 1 Cryptologie : Cela signifie la « science du secret ». La
AES cryptologie se partage entre la cryptographie et la
Attaque de cryptanalyse;
Shannon
2 Cryptographie :

3 / 41
Cryptographie
à clef secrète

Laurent
Un peu de terminologie
Poinsot

Introduction

Vocabulaire

Algorithme à
tours 1 Cryptologie : Cela signifie la « science du secret ». La
AES cryptologie se partage entre la cryptographie et la
Attaque de cryptanalyse;
Shannon
2 Cryptographie : Étude des mécanismes destinés à assurer -
entre autres - la confidentialité des communications;

3 / 41
Cryptographie
à clef secrète

Laurent
Un peu de terminologie
Poinsot

Introduction

Vocabulaire

Algorithme à
tours 1 Cryptologie : Cela signifie la « science du secret ». La
AES cryptologie se partage entre la cryptographie et la
Attaque de cryptanalyse;
Shannon
2 Cryptographie : Étude des mécanismes destinés à assurer -
entre autres - la confidentialité des communications;
3 Cryptanalyse :

3 / 41
Cryptographie
à clef secrète

Laurent
Un peu de terminologie
Poinsot

Introduction

Vocabulaire

Algorithme à
tours 1 Cryptologie : Cela signifie la « science du secret ». La
AES cryptologie se partage entre la cryptographie et la
Attaque de cryptanalyse;
Shannon
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

Laurent
Poinsot

Introduction

Vocabulaire Plus précisément,


Algorithme à
tours

AES

Attaque de
Shannon

4 / 41
Cryptographie
à clef secrète

Laurent
Poinsot

Introduction

Vocabulaire Plus précisément,


Algorithme à
tours 1 Cryptographie :
AES

Attaque de
Shannon

4 / 41
Cryptographie
à clef secrète

Laurent
Poinsot

Introduction

Vocabulaire Plus précisément,


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

4 / 41
Cryptographie
à clef secrète

Laurent
Poinsot

Introduction

Vocabulaire Plus précisément,


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

4 / 41
Cryptographie
à clef secrète

Laurent
Poinsot

Introduction

Vocabulaire Plus précisément,


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

4 / 41
Cryptographie
à clef secrète

Laurent
Poinsot

Introduction

Vocabulaire Plus précisément,


Algorithme à
tours 1 Cryptographie : Étude et conception des procédés de
AES chiffrement des informations;
Attaque de 2 Cryptanalyse :
Shannon
• 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

Laurent
Cryptographie VS stéganographie
Poinsot

Introduction

Vocabulaire

Algorithme à
tours

AES

Attaque de
Shannon

5 / 41
Cryptographie
à clef secrète

Laurent
Cryptographie VS stéganographie
Poinsot

Introduction

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

AES

Attaque de
Shannon

5 / 41
Cryptographie
à clef secrète

Laurent
Cryptographie VS stéganographie
Poinsot

Introduction

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

AES La cryptographie permet de transformer un message « clair »


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

5 / 41
Cryptographie
à clef secrète

Laurent
Cryptographie VS stéganographie
Poinsot

Introduction

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

AES La cryptographie permet de transformer un message « clair »


Attaque de en un cryptogramme (message « chiffré ») de sorte que le
Shannon
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

Laurent
Cryptographie VS stéganographie
Poinsot

Introduction

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

AES La cryptographie permet de transformer un message « clair »


Attaque de en un cryptogramme (message « chiffré ») de sorte que le
Shannon
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

Laurent
Table des matières
Poinsot

Introduction

Vocabulaire
1 Introduction
Algorithme à
tours

AES
2 Vocabulaire
Attaque de
Shannon

3 Algorithme à tour

4 AES

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

6 / 41
Cryptographie
à clef secrète

Laurent
Poinsot

Introduction
Les protagonistes traditionnels d’une communication chiffrée :
Vocabulaire

Algorithme à
tours

AES

Attaque de
Shannon

7 / 41
Cryptographie
à clef secrète

Laurent
Poinsot

Introduction
Les protagonistes traditionnels d’une communication chiffrée :
Vocabulaire

Algorithme à
tours 1 Alice et Bob :
AES

Attaque de
Shannon

7 / 41
Cryptographie
à clef secrète

Laurent
Poinsot

Introduction
Les protagonistes traditionnels d’une communication chiffrée :
Vocabulaire

Algorithme à
tours 1 Alice et Bob : ils souhaitent se transmettre des
AES
informations de façon confidentielle.
Attaque de
Shannon

7 / 41
Cryptographie
à clef secrète

Laurent
Poinsot

Introduction
Les protagonistes traditionnels d’une communication chiffrée :
Vocabulaire

Algorithme à
tours 1 Alice et Bob : ils souhaitent se transmettre des
AES
informations de façon confidentielle. Ce sont les
Attaque de
Shannon interlocuteurs légitimes ;

7 / 41
Cryptographie
à clef secrète

Laurent
Poinsot

Introduction
Les protagonistes traditionnels d’une communication chiffrée :
Vocabulaire

Algorithme à
tours 1 Alice et Bob : ils souhaitent se transmettre des
AES
informations de façon confidentielle. Ce sont les
Attaque de
Shannon interlocuteurs légitimes ;

2 Oscar :

7 / 41
Cryptographie
à clef secrète

Laurent
Poinsot

Introduction
Les protagonistes traditionnels d’une communication chiffrée :
Vocabulaire

Algorithme à
tours 1 Alice et Bob : ils souhaitent se transmettre des
AES
informations de façon confidentielle. Ce sont les
Attaque de
Shannon 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

Laurent
Objectif de la cryptographie
Poinsot

Introduction

Vocabulaire

Algorithme à
tours

AES

Attaque de
Shannon

8 / 41
Cryptographie
à clef secrète

Laurent
Objectif de la cryptographie
Poinsot
L’objectif fondamental de la cryptographie :
Introduction

Vocabulaire

Algorithme à
tours

AES

Attaque de
Shannon

8 / 41
Cryptographie
à clef secrète

Laurent
Objectif de la cryptographie
Poinsot
L’objectif fondamental de la cryptographie :
Introduction

Vocabulaire
Permettre à Alice et Bob de communiquer sur un canal public
Algorithme à peu sûr de telle façon qu’Oscar ne soit pas en mesure de
tours
comprendre les données échangées.
AES

Attaque de
Shannon

8 / 41
Cryptographie
à clef secrète

Laurent
Objectif de la cryptographie
Poinsot
L’objectif fondamental de la cryptographie :
Introduction

Vocabulaire
Permettre à Alice et Bob de communiquer sur un canal public
Algorithme à peu sûr de telle façon qu’Oscar ne soit pas en mesure de
tours
comprendre les données échangées.
AES

Attaque de Un canal public est un canal de communication auquel tout le


Shannon
monde à accès

8 / 41
Cryptographie
à clef secrète

Laurent
Objectif de la cryptographie
Poinsot
L’objectif fondamental de la cryptographie :
Introduction

Vocabulaire
Permettre à Alice et Bob de communiquer sur un canal public
Algorithme à peu sûr de telle façon qu’Oscar ne soit pas en mesure de
tours
comprendre les données échangées.
AES

Attaque de Un canal public est un canal de communication auquel tout le


Shannon
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

Laurent
Objectif de la cryptographie
Poinsot
L’objectif fondamental de la cryptographie :
Introduction

Vocabulaire
Permettre à Alice et Bob de communiquer sur un canal public
Algorithme à peu sûr de telle façon qu’Oscar ne soit pas en mesure de
tours
comprendre les données échangées.
AES

Attaque de Un canal public est un canal de communication auquel tout le


Shannon
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

Laurent
Objectif de la cryptographie
Poinsot
L’objectif fondamental de la cryptographie :
Introduction

Vocabulaire
Permettre à Alice et Bob de communiquer sur un canal public
Algorithme à peu sûr de telle façon qu’Oscar ne soit pas en mesure de
tours
comprendre les données échangées.
AES

Attaque de Un canal public est un canal de communication auquel tout le


Shannon
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

Laurent
Terminologie (bis repetita)
Poinsot

1 Texte (ou message) clair :


Introduction

Vocabulaire

Algorithme à
tours

AES

Attaque de
Shannon

9 / 41
Cryptographie
à clef secrète

Laurent
Terminologie (bis repetita)
Poinsot

1 Texte (ou message) clair : Information qu’Alice souhaite


Introduction

Vocabulaire
transmettre à Bob.
Algorithme à
tours

AES

Attaque de
Shannon

9 / 41
Cryptographie
à clef secrète

Laurent
Terminologie (bis repetita)
Poinsot

1 Texte (ou message) clair : Information qu’Alice souhaite


Introduction

Vocabulaire
transmettre à Bob. Par exemple, un texte en français ou
Algorithme à
des données numériques;
tours

AES

Attaque de
Shannon

9 / 41
Cryptographie
à clef secrète

Laurent
Terminologie (bis repetita)
Poinsot

1 Texte (ou message) clair : Information qu’Alice souhaite


Introduction

Vocabulaire
transmettre à Bob. Par exemple, un texte en français ou
Algorithme à
des données numériques;
tours

AES
2 Chiffrement :
Attaque de
Shannon

9 / 41
Cryptographie
à clef secrète

Laurent
Terminologie (bis repetita)
Poinsot

1 Texte (ou message) clair : Information qu’Alice souhaite


Introduction

Vocabulaire
transmettre à Bob. Par exemple, un texte en français ou
Algorithme à
des données numériques;
tours

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

9 / 41
Cryptographie
à clef secrète

Laurent
Terminologie (bis repetita)
Poinsot

1 Texte (ou message) clair : Information qu’Alice souhaite


Introduction

Vocabulaire
transmettre à Bob. Par exemple, un texte en français ou
Algorithme à
des données numériques;
tours

AES
2 Chiffrement : Processus de transformation d’un message
Attaque de
Shannon 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

Laurent
Terminologie (bis repetita)
Poinsot

1 Texte (ou message) clair : Information qu’Alice souhaite


Introduction

Vocabulaire
transmettre à Bob. Par exemple, un texte en français ou
Algorithme à
des données numériques;
tours

AES
2 Chiffrement : Processus de transformation d’un message
Attaque de
Shannon 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

Laurent
Terminologie (bis repetita)
Poinsot

1 Texte (ou message) clair : Information qu’Alice souhaite


Introduction

Vocabulaire
transmettre à Bob. Par exemple, un texte en français ou
Algorithme à
des données numériques;
tours

AES
2 Chiffrement : Processus de transformation d’un message
Attaque de
Shannon 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

Laurent
Terminologie (bis repetita)
Poinsot

1 Texte (ou message) clair : Information qu’Alice souhaite


Introduction

Vocabulaire
transmettre à Bob. Par exemple, un texte en français ou
Algorithme à
des données numériques;
tours

AES
2 Chiffrement : Processus de transformation d’un message
Attaque de
Shannon 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

Laurent
Terminologie (bis repetita)
Poinsot

1 Texte (ou message) clair : Information qu’Alice souhaite


Introduction

Vocabulaire
transmettre à Bob. Par exemple, un texte en français ou
Algorithme à
des données numériques;
tours

AES
2 Chiffrement : Processus de transformation d’un message
Attaque de
Shannon 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

Laurent
Terminologie (bis repetita)
Poinsot

1 Texte (ou message) clair : Information qu’Alice souhaite


Introduction

Vocabulaire
transmettre à Bob. Par exemple, un texte en français ou
Algorithme à
des données numériques;
tours

AES
2 Chiffrement : Processus de transformation d’un message
Attaque de
Shannon 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

Laurent
Propriété essentielle au
Poinsot
déchiffrement (1ère version)
Introduction

Vocabulaire

Algorithme à
tours

AES

Attaque de
Shannon

10 / 41
Cryptographie
à clef secrète

Laurent
Propriété essentielle au
Poinsot
déchiffrement (1ère version)
Introduction

Vocabulaire

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


tours

AES

Attaque de
Shannon

10 / 41
Cryptographie
à clef secrète

Laurent
Propriété essentielle au
Poinsot
déchiffrement (1ère version)
Introduction

Vocabulaire

Algorithme à Pour que l’on puisse réaliser le déchiffrement, il est nécessaire


tours
que les fonctions E et D vérifient la propriété suivante :
AES

Attaque de
Shannon

10 / 41
Cryptographie
à clef secrète

Laurent
Propriété essentielle au
Poinsot
déchiffrement (1ère version)
Introduction

Vocabulaire

Algorithme à Pour que l’on puisse réaliser le déchiffrement, il est nécessaire


tours
que les fonctions E et D vérifient la propriété suivante :
AES

Attaque de
Shannon Soit M un message clair.

10 / 41
Cryptographie
à clef secrète

Laurent
Propriété essentielle au
Poinsot
déchiffrement (1ère version)
Introduction

Vocabulaire

Algorithme à Pour que l’on puisse réaliser le déchiffrement, il est nécessaire


tours
que les fonctions E et D vérifient la propriété suivante :
AES

Attaque de
Shannon Soit M un message clair. Si C = E (M),

10 / 41
Cryptographie
à clef secrète

Laurent
Propriété essentielle au
Poinsot
déchiffrement (1ère version)
Introduction

Vocabulaire

Algorithme à Pour que l’on puisse réaliser le déchiffrement, il est nécessaire


tours
que les fonctions E et D vérifient la propriété suivante :
AES

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

Laurent
Propriété essentielle au
Poinsot
déchiffrement (1ère version)
Introduction

Vocabulaire

Algorithme à Pour que l’on puisse réaliser le déchiffrement, il est nécessaire


tours
que les fonctions E et D vérifient la propriété suivante :
AES

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

Laurent
Propriété essentielle au
Poinsot
déchiffrement (1ère version)
Introduction

Vocabulaire

Algorithme à Pour que l’on puisse réaliser le déchiffrement, il est nécessaire


tours
que les fonctions E et D vérifient la propriété suivante :
AES

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

Laurent
Propriété essentielle au
Poinsot
déchiffrement (1ère version)
Introduction

Vocabulaire

Algorithme à Pour que l’on puisse réaliser le déchiffrement, il est nécessaire


tours
que les fonctions E et D vérifient la propriété suivante :
AES

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

Laurent
Notion de clef
Poinsot

Introduction

Vocabulaire

Algorithme à
tours

AES

Attaque de
Shannon

11 / 41
Cryptographie
à clef secrète

Laurent
Notion de clef
Poinsot

Introduction

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


Algorithme à paramétrées par des clefs Ke et Kd , où Ke est la clef de
tours

AES
chiffrement et Kd est la clef de déchiffrement.
Attaque de
Shannon

11 / 41
Cryptographie
à clef secrète

Laurent
Notion de clef
Poinsot

Introduction

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


Algorithme à paramétrées par des clefs Ke et Kd , où Ke est la clef de
tours

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

Laurent
Notion de clef
Poinsot

Introduction

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


Algorithme à paramétrées par des clefs Ke et Kd , où Ke est la clef de
tours

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

Laurent
Notion de clef
Poinsot

Introduction

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


Algorithme à paramétrées par des clefs Ke et Kd , où Ke est la clef de
tours

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

Laurent
Propriété de déchiffrement (2nde
Poinsot
version)
Introduction

Vocabulaire

Algorithme à
tours
Pour permettre le déchiffrement, la propriété suivante, dite
AES
propriété de déchiffrement, doit être satisfaite.
Attaque de
Shannon

12 / 41
Cryptographie
à clef secrète

Laurent
Propriété de déchiffrement (2nde
Poinsot
version)
Introduction

Vocabulaire

Algorithme à
tours
Pour permettre le déchiffrement, la propriété suivante, dite
AES
propriété de déchiffrement, doit être satisfaite.
Attaque de
Shannon Pour toute paire (Ke , Kd ) ∈ K, quel que soit le message clair
M,

12 / 41
Cryptographie
à clef secrète

Laurent
Propriété de déchiffrement (2nde
Poinsot
version)
Introduction

Vocabulaire

Algorithme à
tours
Pour permettre le déchiffrement, la propriété suivante, dite
AES
propriété de déchiffrement, doit être satisfaite.
Attaque de
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

Laurent
Propriété de déchiffrement (2nde
Poinsot
version)
Introduction

Vocabulaire

Algorithme à
tours
Pour permettre le déchiffrement, la propriété suivante, dite
AES
propriété de déchiffrement, doit être satisfaite.
Attaque de
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

Laurent
Procédé de chiffrement
Poinsot

Introduction

Vocabulaire

Algorithme à
tours

AES

Attaque de
Shannon

13 / 41
Cryptographie
à clef secrète

Laurent
Procédé de chiffrement
Poinsot

Un système cryptographique ou procédé (ou algorithme) de


Introduction

Vocabulaire
chiffrement est la donnée
Algorithme à
tours

AES

Attaque de
Shannon

13 / 41
Cryptographie
à clef secrète

Laurent
Procédé de chiffrement
Poinsot

Un système cryptographique ou procédé (ou algorithme) de


Introduction

Vocabulaire
chiffrement est la donnée
Algorithme à
tours
1 d’un espace des clefs K, i.e., d’un ensemble de paires
AES
(Ke , Kd ) de clefs de chiffrement et de déchiffrement
Attaque de
Shannon possibles ;

13 / 41
Cryptographie
à clef secrète

Laurent
Procédé de chiffrement
Poinsot

Un système cryptographique ou procédé (ou algorithme) de


Introduction

Vocabulaire
chiffrement est la donnée
Algorithme à
tours
1 d’un espace des clefs K, i.e., d’un ensemble de paires
AES
(Ke , Kd ) de clefs de chiffrement et de déchiffrement
Attaque de
Shannon 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

Laurent
Deux catégories de cryptosystèmes
Poinsot

Introduction Il existe deux grandes catégories de systèmes cryptographiques :


Vocabulaire

Algorithme à
tours

AES

Attaque de
Shannon

14 / 41
Cryptographie
à clef secrète

Laurent
Deux catégories de cryptosystèmes
Poinsot

Introduction Il existe deux grandes catégories de systèmes cryptographiques :


Vocabulaire 1 systèmes à clef secrète (ou symétriques) :
Algorithme à
tours
(Ke , Kd ) ∈ K ⇒ Ke = Kd ,
AES

Attaque de
Shannon

14 / 41
Cryptographie
à clef secrète

Laurent
Deux catégories de cryptosystèmes
Poinsot

Introduction Il existe deux grandes catégories de systèmes cryptographiques :


Vocabulaire 1 systèmes à clef secrète (ou symétriques) :
Algorithme à
tours
(Ke , Kd ) ∈ K ⇒ Ke = Kd , et la clef K = Ke = Kd ,
AES appelée clef secrète, est un secret partagé par Alice et Bob,
Attaque de et eux uniquement ;
Shannon

14 / 41
Cryptographie
à clef secrète

Laurent
Deux catégories de cryptosystèmes
Poinsot

Introduction Il existe deux grandes catégories de systèmes cryptographiques :


Vocabulaire 1 systèmes à clef secrète (ou symétriques) :
Algorithme à
tours
(Ke , Kd ) ∈ K ⇒ Ke = Kd , et la clef K = Ke = Kd ,
AES appelée clef secrète, est un secret partagé par Alice et Bob,
Attaque de et eux uniquement ;
Shannon

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

14 / 41
Cryptographie
à clef secrète

Laurent
Deux catégories de cryptosystèmes
Poinsot

Introduction Il existe deux grandes catégories de systèmes cryptographiques :


Vocabulaire 1 systèmes à clef secrète (ou symétriques) :
Algorithme à
tours
(Ke , Kd ) ∈ K ⇒ Ke = Kd , et la clef K = Ke = Kd ,
AES appelée clef secrète, est un secret partagé par Alice et Bob,
Attaque de et eux uniquement ;
Shannon

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


vérifie la propriété calculatoire suivante.

14 / 41
Cryptographie
à clef secrète

Laurent
Deux catégories de cryptosystèmes
Poinsot

Introduction Il existe deux grandes catégories de systèmes cryptographiques :


Vocabulaire 1 systèmes à clef secrète (ou symétriques) :
Algorithme à
tours
(Ke , Kd ) ∈ K ⇒ Ke = Kd , et la clef K = Ke = Kd ,
AES appelée clef secrète, est un secret partagé par Alice et Bob,
Attaque de et eux uniquement ;
Shannon

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

Laurent
Deux catégories de cryptosystèmes
Poinsot

Introduction Il existe deux grandes catégories de systèmes cryptographiques :


Vocabulaire 1 systèmes à clef secrète (ou symétriques) :
Algorithme à
tours
(Ke , Kd ) ∈ K ⇒ Ke = Kd , et la clef K = Ke = Kd ,
AES appelée clef secrète, est un secret partagé par Alice et Bob,
Attaque de et eux uniquement ;
Shannon

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

Laurent
Deux catégories de cryptosystèmes
Poinsot

Introduction Il existe deux grandes catégories de systèmes cryptographiques :


Vocabulaire 1 systèmes à clef secrète (ou symétriques) :
Algorithme à
tours
(Ke , Kd ) ∈ K ⇒ Ke = Kd , et la clef K = Ke = Kd ,
AES appelée clef secrète, est un secret partagé par Alice et Bob,
Attaque de et eux uniquement ;
Shannon

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

Laurent
Deux catégories de cryptosystèmes
Poinsot

Introduction Il existe deux grandes catégories de systèmes cryptographiques :


Vocabulaire 1 systèmes à clef secrète (ou symétriques) :
Algorithme à
tours
(Ke , Kd ) ∈ K ⇒ Ke = Kd , et la clef K = Ke = Kd ,
AES appelée clef secrète, est un secret partagé par Alice et Bob,
Attaque de et eux uniquement ;
Shannon

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

Laurent
Deux catégories de cryptosystèmes
Poinsot

Introduction Il existe deux grandes catégories de systèmes cryptographiques :


Vocabulaire 1 systèmes à clef secrète (ou symétriques) :
Algorithme à
tours
(Ke , Kd ) ∈ K ⇒ Ke = Kd , et la clef K = Ke = Kd ,
AES appelée clef secrète, est un secret partagé par Alice et Bob,
Attaque de et eux uniquement ;
Shannon

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

Laurent
Deux catégories de cryptosystèmes
Poinsot

Introduction Il existe deux grandes catégories de systèmes cryptographiques :


Vocabulaire 1 systèmes à clef secrète (ou symétriques) :
Algorithme à
tours
(Ke , Kd ) ∈ K ⇒ Ke = Kd , et la clef K = Ke = Kd ,
AES appelée clef secrète, est un secret partagé par Alice et Bob,
Attaque de et eux uniquement ;
Shannon

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

Laurent
Deux catégories de cryptosystèmes
Poinsot

Introduction Il existe deux grandes catégories de systèmes cryptographiques :


Vocabulaire 1 systèmes à clef secrète (ou symétriques) :
Algorithme à
tours
(Ke , Kd ) ∈ K ⇒ Ke = Kd , et la clef K = Ke = Kd ,
AES appelée clef secrète, est un secret partagé par Alice et Bob,
Attaque de et eux uniquement ;
Shannon

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

Laurent
Exemples
Poinsot

Introduction

Vocabulaire

Algorithme à
tours

AES

Attaque de
Shannon

15 / 41
Cryptographie
à clef secrète

Laurent
Exemples
Poinsot

Introduction

Vocabulaire

Algorithme à
tours
1 Algorithmes à clef secrète :
AES

Attaque de
Shannon

15 / 41
Cryptographie
à clef secrète

Laurent
Exemples
Poinsot

Introduction

Vocabulaire

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

15 / 41
Cryptographie
à clef secrète

Laurent
Exemples
Poinsot

Introduction

Vocabulaire

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

15 / 41
Cryptographie
à clef secrète

Laurent
Exemples
Poinsot

Introduction

Vocabulaire

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

2 Algorithmes à clef publique :

15 / 41
Cryptographie
à clef secrète

Laurent
Exemples
Poinsot

Introduction

Vocabulaire

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

2 Algorithmes à clef publique : RSA (Rivest Shamir


Adleman),

15 / 41
Cryptographie
à clef secrète

Laurent
Exemples
Poinsot

Introduction

Vocabulaire

Algorithme à
tours
1 Algorithmes à clef secrète : César (cf. exercice),
AES
Chiffrement de Vernam (cf. vidéo), DES (Data Encryption
Attaque de
Shannon 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

Laurent
Table des matières
Poinsot

Introduction

Vocabulaire
1 Introduction
Algorithme à
tours

AES
2 Vocabulaire
Attaque de
Shannon

3 Algorithme à tour

4 AES

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

16 / 41
Cryptographie
à clef secrète

Laurent
Chiffrement par blocs
Poinsot
En pratique le chiffrement s’effectue numériquement.
Introduction

Vocabulaire

Algorithme à
tours

AES

Attaque de
Shannon

17 / 41
Cryptographie
à clef secrète

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

Attaque de
Shannon

17 / 41
Cryptographie
à clef secrète

Laurent
Chiffrement par blocs
Poinsot
En pratique le chiffrement s’effectue numériquement. Les
Introduction messages clairs ou chiffrés sont alors traités comme des blocs
Vocabulaire binaires de longueur finie (comptée en nombre de bits ou en
Algorithme à
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

Laurent
Chiffrement par blocs
Poinsot
En pratique le chiffrement s’effectue numériquement. Les
Introduction messages clairs ou chiffrés sont alors traités comme des blocs
Vocabulaire binaires de longueur finie (comptée en nombre de bits ou en
Algorithme à
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

Laurent
Chiffrement par blocs
Poinsot
En pratique le chiffrement s’effectue numériquement. Les
Introduction messages clairs ou chiffrés sont alors traités comme des blocs
Vocabulaire binaires de longueur finie (comptée en nombre de bits ou en
Algorithme à
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

Laurent
Chiffrement par blocs
Poinsot
En pratique le chiffrement s’effectue numériquement. Les
Introduction messages clairs ou chiffrés sont alors traités comme des blocs
Vocabulaire binaires de longueur finie (comptée en nombre de bits ou en
Algorithme à
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

Laurent
Chiffrement par blocs
Poinsot
En pratique le chiffrement s’effectue numériquement. Les
Introduction messages clairs ou chiffrés sont alors traités comme des blocs
Vocabulaire binaires de longueur finie (comptée en nombre de bits ou en
Algorithme à
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

Laurent
Fonction de tour (1/3)
Poinsot

Introduction

Vocabulaire

Algorithme à
tours En général les algorithmes modernes de chiffrement à clef
AES secrète disposent d’une structure itérative dite de tours.
Attaque de
Shannon

18 / 41
Cryptographie
à clef secrète

Laurent
Fonction de tour (1/3)
Poinsot

Introduction

Vocabulaire

Algorithme à
tours En général les algorithmes modernes de chiffrement à clef
AES secrète disposent d’une structure itérative dite de tours.
Attaque de
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

Laurent
Fonction de tour (1/3)
Poinsot

Introduction

Vocabulaire

Algorithme à
tours En général les algorithmes modernes de chiffrement à clef
AES secrète disposent d’une structure itérative dite de tours.
Attaque de
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

Laurent
Fonction de tour (2/3)
Poinsot

Introduction

Vocabulaire

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

19 / 41
Cryptographie
à clef secrète

Laurent
Fonction de tour (2/3)
Poinsot

Introduction

Vocabulaire

Algorithme à
tours
Le clef de tour est obtenue à partir de la clef secrète à l’aide
AES d’un algorithme de dérivation (ou de cadencement).
Attaque de
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

Laurent
Fonction de tour (2/3)
Poinsot

Introduction

Vocabulaire

Algorithme à
tours
Le clef de tour est obtenue à partir de la clef secrète à l’aide
AES d’un algorithme de dérivation (ou de cadencement).
Attaque de
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

Laurent
Fonction de tour (3/3)
Poinsot

Introduction

Vocabulaire

Algorithme à
tours
La fonction de tour T est constituée d’une série d’opérations
AES

Attaque de
mathématiques suffisamment complexes pour rendre
Shannon inintelligible le message chiffré courant.

20 / 41
Cryptographie
à clef secrète

Laurent
Fonction de tour (3/3)
Poinsot

Introduction

Vocabulaire

Algorithme à
tours
La fonction de tour T est constituée d’une série d’opérations
AES

Attaque de
mathématiques suffisamment complexes pour rendre
Shannon 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

Laurent
Structure itérative (1/3)
Poinsot

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

Attaque de
Shannon

21 / 41
Cryptographie
à clef secrète

Laurent
Structure itérative (1/3)
Poinsot

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

Attaque de Le procédé itératif est le suivant :


Shannon

21 / 41
Cryptographie
à clef secrète

Laurent
Structure itérative (1/3)
Poinsot

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

Attaque de Le procédé itératif est le suivant : soit M = (x1 , · · · , x` ) le


Shannon
message à chiffrer.

21 / 41
Cryptographie
à clef secrète

Laurent
Structure itérative (1/3)
Poinsot

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

Attaque de Le procédé itératif est le suivant : soit M = (x1 , · · · , x` ) le


Shannon
message à chiffrer. On pose M0 := M.

21 / 41
Cryptographie
à clef secrète

Laurent
Structure itérative (1/3)
Poinsot

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

Attaque de Le procédé itératif est le suivant : soit M = (x1 , · · · , x` ) le


Shannon
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

Laurent
Structure itérative (2/3)
Poinsot

Introduction

Vocabulaire

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

22 / 41
Cryptographie
à clef secrète

Laurent
Structure itérative (2/3)
Poinsot

Introduction

Vocabulaire

Algorithme à
tours
Le message chiffré (bloc de ` bits) C finalement obtenu est
AES
donné par les égalités suivantes :
Attaque de
Shannon
C = Mr
= T (Mr −1 , Kr ) = TKr (Mr −1 )

22 / 41
Cryptographie
à clef secrète

Laurent
Structure itérative (2/3)
Poinsot

Introduction

Vocabulaire

Algorithme à
tours
Le message chiffré (bloc de ` bits) C finalement obtenu est
AES
donné par les égalités suivantes :
Attaque de
Shannon
C = Mr
= T (Mr −1 , Kr ) = TKr (Mr −1 ) (1)
= (TKr ◦ TKr −1 ◦ · · · ◦ TK2 ◦ TK1 )(M).

22 / 41
Cryptographie
à clef secrète

Laurent
Structure itérative (3/3)
Poinsot

Introduction

Vocabulaire Puisque chacune des fonctions TKi est inversible, on calcule le


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

23 / 41
Cryptographie
à clef secrète

Laurent
Structure itérative (3/3)
Poinsot

Introduction

Vocabulaire Puisque chacune des fonctions TKi est inversible, on calcule le


Algorithme à
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

Laurent
Structure itérative (3/3)
Poinsot

Introduction

Vocabulaire Puisque chacune des fonctions TKi est inversible, on calcule le


Algorithme à
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

Laurent
Structure itérative (3/3)
Poinsot

Introduction

Vocabulaire Puisque chacune des fonctions TKi est inversible, on calcule le


Algorithme à
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

Laurent
Structure itérative (3/3)
Poinsot

Introduction

Vocabulaire Puisque chacune des fonctions TKi est inversible, on calcule le


Algorithme à
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

Laurent
Table des matières
Poinsot

Introduction

Vocabulaire
1 Introduction
Algorithme à
tours

AES
2 Vocabulaire
Attaque de
Shannon

3 Algorithme à tour

4 AES

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

24 / 41
Cryptographie
à clef secrète

Laurent
Les paramètres
Poinsot

Introduction L’AES (pour “Advanced Encryption Standard”) peut utiliser des


Vocabulaire clefs secrètes de 128 bits (16 octets), 192 bits (24 octets) ou
Algorithme à 256 bits (32 octets).
tours

AES

Attaque de
Shannon

25 / 41
Cryptographie
à clef secrète

Laurent
Les paramètres
Poinsot

Introduction L’AES (pour “Advanced Encryption Standard”) peut utiliser des


Vocabulaire clefs secrètes de 128 bits (16 octets), 192 bits (24 octets) ou
Algorithme à 256 bits (32 octets).
tours

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

25 / 41
Cryptographie
à clef secrète

Laurent
Les paramètres
Poinsot

Introduction L’AES (pour “Advanced Encryption Standard”) peut utiliser des


Vocabulaire clefs secrètes de 128 bits (16 octets), 192 bits (24 octets) ou
Algorithme à 256 bits (32 octets).
tours

AES
Le choix de la taille des clefs dépend du niveau de protection
Attaque de
Shannon 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

Laurent
État
Poinsot
La taille des blocs de message à chiffrer est de 16 octets soit
Introduction
128 bits.
Vocabulaire

Algorithme à
tours

AES

Attaque de
Shannon

26 / 41
Cryptographie
à clef secrète

Laurent
État
Poinsot
La taille des blocs de message à chiffrer est de 16 octets soit
Introduction
128 bits.
Vocabulaire

Algorithme à
tours Un bloc est représenté par ses 16 octets sous la forme d’une
AES matrice 4 × 4 (indicée de 0 à 3), appelée état, dont les éléments
Attaque de
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

Laurent
État
Poinsot
La taille des blocs de message à chiffrer est de 16 octets soit
Introduction
128 bits.
Vocabulaire

Algorithme à
tours Un bloc est représenté par ses 16 octets sous la forme d’une
AES matrice 4 × 4 (indicée de 0 à 3), appelée état, dont les éléments
Attaque de
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

Laurent
Corps fini à 256 éléments
Poinsot

Introduction

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


Algorithme à corps GF (28 ).
tours

AES

Attaque de
Shannon

27 / 41
Cryptographie
à clef secrète

Laurent
Corps fini à 256 éléments
Poinsot

Introduction

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


Algorithme à corps GF (28 ).
tours

AES
Autrement dit, s’il est bien entendu possible d’additionner deux
Attaque de
Shannon 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

Laurent
Corps fini à 256 éléments
Poinsot

Introduction

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


Algorithme à corps GF (28 ).
tours

AES
Autrement dit, s’il est bien entendu possible d’additionner deux
Attaque de
Shannon 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

Laurent
Poinsot

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


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

AES

Attaque de
Shannon

28 / 41
Cryptographie
à clef secrète

Laurent
Poinsot

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


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

AES 1 ByteSub;
Attaque de
Shannon

28 / 41
Cryptographie
à clef secrète

Laurent
Poinsot

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


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

AES 1 ByteSub;
Attaque de
Shannon
2 ShiftRow ;

28 / 41
Cryptographie
à clef secrète

Laurent
Poinsot

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


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

AES 1 ByteSub;
Attaque de
Shannon
2 ShiftRow ;

3 MixColumn;

28 / 41
Cryptographie
à clef secrète

Laurent
Poinsot

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


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

AES 1 ByteSub;
Attaque de
Shannon
2 ShiftRow ;

3 MixColumn;

4 Addition matricielle avec la sous-clef.

28 / 41
Cryptographie
à clef secrète

Laurent
1. Byte Substitution
Poinsot

Introduction
Il y a une fonction notée SRD qui prend en argument un octet
Vocabulaire

Algorithme à
et renvoie un octet (cette fonction correspond au calcul de
tours l’inverse dans le corps fini à 256 éléments).
AES

Attaque de
Shannon

29 / 41
Cryptographie
à clef secrète

Laurent
1. Byte Substitution
Poinsot

Introduction
Il y a une fonction notée SRD qui prend en argument un octet
Vocabulaire

Algorithme à
et renvoie un octet (cette fonction correspond au calcul de
tours l’inverse dans le corps fini à 256 éléments).
AES

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

Laurent
1. Byte Substitution
Poinsot

Introduction
Il y a une fonction notée SRD qui prend en argument un octet
Vocabulaire

Algorithme à
et renvoie un octet (cette fonction correspond au calcul de
tours l’inverse dans le corps fini à 256 éléments).
AES

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

Laurent
Poinsot

Introduction
La fonction SRD est inversible.
Vocabulaire

Algorithme à
tours

AES

Attaque de
Shannon

30 / 41
Cryptographie
à clef secrète

Laurent
Poinsot

Introduction
La fonction SRD est inversible.
Vocabulaire

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

30 / 41
Cryptographie
à clef secrète

Laurent
Poinsot

Introduction
La fonction SRD est inversible.
Vocabulaire

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

30 / 41
Cryptographie
à clef secrète

Laurent
Poinsot

Introduction
La fonction SRD est inversible.
Vocabulaire

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

Laurent
Poinsot

Introduction
La fonction SRD est inversible.
Vocabulaire

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

Laurent
2. Shift Row
Poinsot

Introduction

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

31 / 41
Cryptographie
à clef secrète

Laurent
2. Shift Row
Poinsot

Introduction

Vocabulaire
La fonction ShiftRow applique un décalage circulaire sur
Algorithme à
tours chacune des lignes de l’état produit par ByteSub, ce décalage
AES dépendant de la ligne considérée.
Attaque de
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

Laurent
Poinsot

Introduction
ShiftRow est inversible à l’évidence, et son inverse consiste
Vocabulaire
simplement à effectuer les décalages dans “l’autre sens” !
Algorithme à
tours

AES

Attaque de
Shannon

32 / 41
Cryptographie
à clef secrète

Laurent
Poinsot

Introduction
ShiftRow est inversible à l’évidence, et son inverse consiste
Vocabulaire
simplement à effectuer les décalages dans “l’autre sens” !
Algorithme à
tours

AES Plus rigoureusement,


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

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

Laurent
3. MixColumn
Poinsot

Introduction

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

Attaque de
Shannon

33 / 41
Cryptographie
à clef secrète

Laurent
3. MixColumn
Poinsot

Introduction

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

Attaque de En détail : notons l’état C = ShiftRow ((bi,j )0≤i,j≤3 ) sous la


Shannon
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

Laurent
3. MixColumn
Poinsot

Introduction

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

Attaque de En détail : notons l’état C = ShiftRow ((bi,j )0≤i,j≤3 ) sous la


Shannon
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

Laurent
Poinsot

Introduction

Vocabulaire
MixColumn est aussi inversible.
Algorithme à
tours

AES

Attaque de
Shannon

34 / 41
Cryptographie
à clef secrète

Laurent
Poinsot

Introduction

Vocabulaire
MixColumn est aussi inversible.
Algorithme à
tours

AES Soit D = (D0 , D1 , D2 , D3 ) une matrice 4 × 4 d’octets donnée


Attaque de sous la forme de la suite de ses colonnes.
Shannon

34 / 41
Cryptographie
à clef secrète

Laurent
Poinsot

Introduction

Vocabulaire
MixColumn est aussi inversible.
Algorithme à
tours

AES Soit D = (D0 , D1 , D2 , D3 ) une matrice 4 × 4 d’octets donnée


Attaque de sous la forme de la suite de ses colonnes. Alors,
Shannon

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

Laurent
4. Addition avec la sous-clef de
Poinsot
tour
Introduction

Vocabulaire

Algorithme à
tours

AES

Attaque de L’état D = (di,j )0≤i,j≤3 obtenu en sortie de MixColum est


Shannon
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

Laurent
Poinsot
Bien sûr, (D + K ) − K = D de sorte que l’inverse de
D 7→ D + K n’est autre que D →
7 D − K.
Introduction

Vocabulaire

Algorithme à
tours

AES

Attaque de
Shannon

36 / 41
Cryptographie
à clef secrète

Laurent
Poinsot
Bien sûr, (D + K ) − K = D de sorte que l’inverse de
D 7→ D + K n’est autre que D →
7 D − K.
Introduction

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

Attaque de
Shannon

36 / 41
Cryptographie
à clef secrète

Laurent
Poinsot
Bien sûr, (D + K ) − K = D de sorte que l’inverse de
D 7→ D + K n’est autre que D →
7 D − K.
Introduction

Vocabulaire
L’addition des octets dans GF (28 ) n’est qu’une addition
modulo 2 de leurs composantes, i.e., b + b 0 =
Algorithme à
tours

AES (b1 , b2 , b3 , b4 , b5 , b6 , b5 , b8 ) + (b10 , b20 , b30 , b40 , b50 , b60 , b50 , b80 )
Attaque de
Shannon

36 / 41
Cryptographie
à clef secrète

Laurent
Poinsot
Bien sûr, (D + K ) − K = D de sorte que l’inverse de
D 7→ D + K n’est autre que D →
7 D − K.
Introduction

Vocabulaire
L’addition des octets dans GF (28 ) n’est qu’une addition
modulo 2 de leurs composantes, i.e., b + b 0 =
Algorithme à
tours

AES (b1 , b2 , b3 , b4 , b5 , b6 , b5 , b8 ) + (b10 , b20 , b30 , b40 , b50 , b60 , b50 , b80 ) =
Attaque de (b1 ⊕b10 , b2 ⊕b20 , b3 ⊕b30 , b4 ⊕b40 , b5 ⊕b50 , b6 ⊕b60 , b7 ⊕b70 , b8 ⊕b80 ),
Shannon

36 / 41
Cryptographie
à clef secrète

Laurent
Poinsot
Bien sûr, (D + K ) − K = D de sorte que l’inverse de
D 7→ D + K n’est autre que D →
7 D − K.
Introduction

Vocabulaire
L’addition des octets dans GF (28 ) n’est qu’une addition
modulo 2 de leurs composantes, i.e., b + b 0 =
Algorithme à
tours

AES (b1 , b2 , b3 , b4 , b5 , b6 , b5 , b8 ) + (b10 , b20 , b30 , b40 , b50 , b60 , b50 , b80 ) =
Attaque de (b1 ⊕b10 , b2 ⊕b20 , b3 ⊕b30 , b4 ⊕b40 , b5 ⊕b50 , b6 ⊕b60 , b7 ⊕b70 , b8 ⊕b80 ),
Shannon
avec 0 ⊕ 0 = 0 = 1 ⊕ 1, 1 ⊕ 0 = 1 = 0 ⊕ 1.

36 / 41
Cryptographie
à clef secrète

Laurent
Poinsot
Bien sûr, (D + K ) − K = D de sorte que l’inverse de
D 7→ D + K n’est autre que D →
7 D − K.
Introduction

Vocabulaire
L’addition des octets dans GF (28 ) n’est qu’une addition
modulo 2 de leurs composantes, i.e., b + b 0 =
Algorithme à
tours

AES (b1 , b2 , b3 , b4 , b5 , b6 , b5 , b8 ) + (b10 , b20 , b30 , b40 , b50 , b60 , b50 , b80 ) =
Attaque de (b1 ⊕b10 , b2 ⊕b20 , b3 ⊕b30 , b4 ⊕b40 , b5 ⊕b50 , b6 ⊕b60 , b7 ⊕b70 , b8 ⊕b80 ),
Shannon
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

Laurent
Poinsot
Bien sûr, (D + K ) − K = D de sorte que l’inverse de
D 7→ D + K n’est autre que D →
7 D − K.
Introduction

Vocabulaire
L’addition des octets dans GF (28 ) n’est qu’une addition
modulo 2 de leurs composantes, i.e., b + b 0 =
Algorithme à
tours

AES (b1 , b2 , b3 , b4 , b5 , b6 , b5 , b8 ) + (b10 , b20 , b30 , b40 , b50 , b60 , b50 , b80 ) =
Attaque de (b1 ⊕b10 , b2 ⊕b20 , b3 ⊕b30 , b4 ⊕b40 , b5 ⊕b50 , b6 ⊕b60 , b7 ⊕b70 , b8 ⊕b80 ),
Shannon
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

Laurent
Fonction de tour
Poinsot

Introduction

Vocabulaire

Algorithme à
tours La fonction de tour de l’AES est donc
AES

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


Shannon

37 / 41
Cryptographie
à clef secrète

Laurent
Fonction de tour
Poinsot

Introduction

Vocabulaire

Algorithme à
tours La fonction de tour de l’AES est donc
AES

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


Shannon

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

Laurent
Table des matières
Poinsot

Introduction

Vocabulaire
1 Introduction
Algorithme à
tours

AES
2 Vocabulaire
Attaque de
Shannon

3 Algorithme à tour

4 AES

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

38 / 41
Cryptographie
à clef secrète

Laurent Il s’agit d’une attaque algébrique mettant en pratique la théorie


Poinsot
proposée par Claude Shannon en 1949.
Introduction

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


Algorithme à un ensemble de messages clairs et l’ensemble correspondant de
tours
messages chiffrés en fonction des bits des sous-clefs intervenant
AES

Attaque de
à chaque ronde.
Shannon

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

Laurent
Poinsot

Introduction
Étant donné un message clair de n bits M = x1 · · · xn , une clef
Vocabulaire
de ` bits K = k1 · · · k` et le message chiffré C = y1 · · · yn , le
Algorithme à
tours cryptanalyste peut écrire les équations de chiffrement :
AES

Attaque de
y1 = f1 (x1 , · · · , xn , k1 , · · · , k` )
Shannon
y2 = f2 (x1 , · · · , xn , k1 , · · · , k` )
.. (5)
.
yn = fn (x1 , · · · , xn , k1 , · · · , k` )

40 / 41
Cryptographie
à clef secrète

Laurent
Poinsot

Introduction

Vocabulaire

Algorithme à En appliquant cela au cas de l’AES on obtient un système de


tours
1600 équations de degré 7 en 1600 variables (128 variables pour
AES
la clef principale, 10 × 132 variables pour les sous-clefs, et
Attaque de
Shannon 9 × 128 variables pour les états intermédiaires).

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

41 / 41

Vous aimerez peut-être aussi