Vous êtes sur la page 1sur 35

CRYPTOGRAPHIE

SYMETRIQUE

26/02/2020 cours cryptographie 1


Grands nombres
10^11 Durée de vie de l’univers (237) années
Nombre d’atomes constituant l’univers 10^77 (2265)
Nombre d’atomes constituant la galaxie 10^67 (2223)
Nombre d’atomes constituant la terre 10^51 (2170)
Age de l’univers 10^10 (234) années
Age de la terre 10^9 (230) années
Temps d’ici à ce que le soleil explose 10^9 (230) années
Probabilité de gagner au loto américain 1/4000000 (222)
Probabilité de mourir foudroyé 1/9 milliards (233)

26/02/2020 cours cryptographie 2


Chiffrement par blocs
Réseaux de Shannon

L'idée générale du chiffrement par blocs est la


suivante:
1- Remplacer les caractères par un code binaire
2- Découper cette chaîne en blocs de longueur
donnée
3- Chiffrer un bloc en l'"additionnant" bit par bit à
une clef.
4- Déplacer certains bits du bloc.
5- Recommencer éventuellement un certain nombre
de fois l'opération 3. On appelle cela une ronde.
6- Passer au bloc suivant et retourner au point 3
jusqu'à
26/02/2020ce que tout le cours
message
cryptographie soit chiffré. 3
Réseaux S-P de Shannon

26/02/2020 cours cryptographie 4


Chiffrement par substitution
Les substitutions consistent à remplacer des
symboles ou des groupes de symboles par
d'autres symboles ou groupes de symboles
dans le but de créer de la confusion.

Chiffrement par transposition


Les transpositions consistent à mélanger les
symboles ou les groupes de symboles d'un
message clair suivant des règles prédéfinies
pour créer de la diffusion.

Ces règles sont déterminées par la clé de


chiffrement. Une suite de transpositions
forment une permutation.

26/02/2020 cours cryptographie 5


26/02/2020 cours cryptographie 6
Chiffrement par produit : la combinaison
des deux
 Le chiffrement par substitution ou par
transposition ne fournit pas un haut niveau de
sécurité, mais en combinant ces deux
transformations, on peut obtenir un chiffrement
robuste.

 La plupart des algorithmes de cryptage par clés


symétriques utilisent le chiffrement par produit.
Un « round » est complété lorsque les deux
transformations ont été faites une fois
(substitution et transposition).

26/02/2020 cours cryptographie 7


26/02/2020 cours cryptographie 8
Effet d’avalanche

Propriété des chiffrements par blocs composés de


couches (layers) ou "rounds" avec un petit
changement à l'entrée.

Le changement d'un simple bit d'entrée produit


généralement de multiples changements de bits
après un round, plusieurs autres changements de
bits après un autre round jusqu'au changement
éventuel de la moitié du bloc.

26/02/2020 cours cryptographie 9


Structures de Feistel

 Structure décrite en 1973 (Feistel


– IBM)
Adapte la structure de Shannon
afin de rendre la structure inversible
ce qui permet de réutiliser le
matériel de chiffrement pour
déchiffrer un message. La seule
modification s’effectue sur la
manière dont la clé est utilisée
 Une couche de S-Box et de P-Box
est utilisée par Round

26/02/2020 cours cryptographie 10


Feistel – principe

Le texte est chiffré à partir de la même


transformation sur le texte clair dans chaque round.

26/02/2020 cours cryptographie 11


Description du schéma

Dans une construction de Feistel, le bloc


d'entrée d'un round est séparé en deux
parties.
 La fonction de chiffrement est
appliquée sur la première partie du bloc
 et l'opération binaire OU-Exclusif est
appliquée sur la partie sortante de la
fonction et la deuxième partie.
 Ensuite les deux parties sont
permutées et le prochain round
commence.
26/02/2020 cours cryptographie 12
Feistel déchiffrement

L'avantage est que la fonction de chiffrement et la


fonction de déchiffrement sont identiques. Ainsi la
fonction n'a pas à être inversible, c’est la structure
qui l’est

26/02/2020 cours cryptographie 13


D.E.S. (Data Encryption Standard)
Présentation – objectifs

Le D.E.S. (Data Encryption Standard, c’est-à-dire Standard de


Chiffrement de Données) est un standard mondial depuis plus de
15 ans. Bien qu’il soit un peu vieillissant, il résiste toujours très
bien à la cryptanalyse et reste un algorithme très sûr.

Au début des années 70, le développement des communications


entre ordinateurs a nécessité la mise en place d’un standard de
chiffrement de données pour limiter la prolifération d’algorithmes
différents ne pouvant pas communiquer entre eux.

Pour résoudre ce problème, L’Agence Nationale de Sécurité


américaine (N.S.A.) a lancé des appels d’offres.

La société I.B.M. a développé alors un algorithme nommé Lucifer,


relativement complexe et sophistiqué. Après quelques années de
discussions et de modifications, cet algorithme, devenu alors
D.E.S., fut adopté au niveau fédéral le 23 novembre 1976

26/02/2020 cours cryptographie 14


26/02/2020 cours cryptographie 15
Chiffrement symétriques les plus fréquents

26/02/2020 cours cryptographie 16


DES – Cahier des charges

haut niveau de sécurité


 complètement spécifié et facile à comprendre
 sécurité indépendante de l'algorithme lui-même
disponible à tous
 adaptable à diverses applications
 possibilité d'implantation économique en matériel
 efficace d'utilisation, validable, et exportable

26/02/2020 cours cryptographie 17


D.E.S. (Data Encryption Standard)
Algorithme

26/02/2020 cours cryptographie 18


Etapes de l’algorithme :
1. Diversification de la clé : fabrication de 16 sous-clés
2. Permutation initiale
3. Calcul médian (16 fois) : application d’un algorithme
complexe appliqué en fonction de la clé
4. Permutation finale

DES – principes généraux


1. 􀂄 La clé
• Constituée de 64 bits dont 56 sont utilisés
aléatoirementdans l’algorithme
• Les 8 autres peuvent être utilisés pour la détection
d’erreurs
• Chacun des 8 bits est utilisé comme bit de parité des 7
groupes de 8 bits.
• Nombre total de clés : 256

26/02/2020 cours cryptographie 19


Permutation initiale (IP)
Les 64 bits du bloc d’entrée subissent la permutation

Le premier bit sera le bit 58, le second le bit 50, etc.

26/02/2020 cours cryptographie 20


Calcul médian

1.16 itérations identiques


2. Traite 2 blocs à la fois
- Bloc de 32 bits (données)
􀂉 - Bloc de 48 bits (clés)
3. Résultat = bloc de 32 bits
4. 64 bits initiaux sont divisés en 2 bloc (L et R)
􀂉 - L 3 bits pairs, R 3 bits impairs

26/02/2020 cours cryptographie 21


Calcul médian

26/02/2020 cours cryptographie 22


Calcul médian
Fonction F :

1.Expansion

2. Ajout de la clé

3. Transformations
(S-Box, P-Box)

4. Assemblage

26/02/2020 cours cryptographie 23


Addition de la sous-clé
Les 32 bits sont étendus à 48 bits grâce à une table
d’expansion → E(Rn-1)

26/02/2020 cours cryptographie 24


Addition de la sous-clé

Le résultat de l’expansion est additionné (xor) à la


sous-clé Kn correspondant à l’itération

26/02/2020 cours cryptographie 25


Transformations –
S-box
Chaque bloc Bj constitue ensuite l’entrée de
l’opération de substitution réalisée sur base des
SBox

26/02/2020 cours cryptographie 26


Transformations –
S-box
L'opération de substitution consiste pour
chaque Sbox à calculer :
• b1b6 = n° de ligne
• b2b3b4b5 = n° de colonne

26/02/2020 cours cryptographie 27


26/02/2020 cours cryptographie 28
Transformations – P-Box

L'opération de permutation est réalisée sur le


résultat de la substitution des S-box et est basée
sur la table suivante:

• Le résultat de cette dernière permutation


est noté F(Rn-1,Kn)

26/02/2020 cours cryptographie 29


Résultat du calcul médian pour
une ronde

26/02/2020 cours cryptographie 30


Permutation finale
(IP-1)
Permutation inverse de la permutation initiale

26/02/2020 cours cryptographie 31


26/02/2020 cours cryptographie 32
26/02/2020 cours cryptographie 33
26/02/2020 cours cryptographie 34
26/02/2020 cours cryptographie 35