Vous êtes sur la page 1sur 28

Introduction

Les algorithmes de chiffrement à clé symétrique


Les algorithmes de chiffrement à clé publique

Plan du cours

Les algorithmes de chiffrement


• Introduction
• Les algorithmes de chiffrement à clé symétrique
◦ DES (Data Encryption Standard)
École Polytechnique Internationale Privée de Tunis ◦ AES (Advanced Encryption Standard)
2015 - 2016 ◦ Modes de chiffrement
◦ Cryptanalyse
Mohamed Koubàa
• Les algorithmes de chiffrement à clé publique
Département Technologies de l’Information et des Communications
École Nationale d’Ingénieurs de Tunis ◦ RSA (Rivest, Shamir et Adelman)
Courriel: mohamed.koubaa@enit.rnu.tn ◦ Rabin
◦ Autres algorithmes à clé publique

mohamed.koubaa@enit.rnu.tn C&C - PI 1 mohamed.koubaa@enit.rnu.tn C&C - PI 2

Introduction Introduction
Les algorithmes de chiffrement à clé symétrique Les algorithmes de chiffrement à clé symétrique
Les algorithmes de chiffrement à clé publique Les algorithmes de chiffrement à clé publique

Plan du cours Introduction (1)

• Introduction • Un algorithme de chiffrement symétrique se sert de la même clé


pour le chiffrement et le déchiffrement
• Les algorithmes de chiffrement à clé symétrique
◦ DES (Data Encryption Standard) • La cryptographie moderne utilise les mêmes base que la
◦ AES (Advanced Encryption Standard) cryptographie traditionnelle (substitution et transposition) mais de
◦ Modes de chiffrement façon différente
◦ Cryptanalyse • Les algorithmes traditionnels sont simples
• Les algorithmes de chiffrement à clé publique • Les algorithmes modernes sont suffisamment complexes et tordus
◦ RSA (Rivest, Shamir et Adelman) pour que, même si un cryptanalyste parvient à acquérir de grandes
◦ Rabin quantités de texte chiffré de son choix, il soit incapable d’y trouver
◦ Autres algorithmes à clé publique
un sens s’il n’a pas la clé

mohamed.koubaa@enit.rnu.tn C&C - PI 3 mohamed.koubaa@enit.rnu.tn C&C - PI 4


Introduction Introduction
Les algorithmes de chiffrement à clé symétrique Les algorithmes de chiffrement à clé symétrique
Les algorithmes de chiffrement à clé publique Les algorithmes de chiffrement à clé publique

Introduction (2) Introduction (3)

• Les algorithmes de chiffrement sont réalisés au moyen de matériel


spécialisé (pour des raisons de vitesse) ou par des moyens logiciels
• Transposition et substitution peuvent être réalisées au moyens de
circuits électriques simples
◦ Boı̂te P (P - permutation)
 Le temps de propagation est inférieure à une picoseconde
◦ Boı̂te S (S - substitution)
 Le temps de propagation est inférieure à une nanoseconde

mohamed.koubaa@enit.rnu.tn C&C - PI 5 mohamed.koubaa@enit.rnu.tn C&C - PI 6

DES (Data Encryption Standard) DES (Data Encryption Standard)


Introduction Introduction
AES (Advanced Encryption Standard) AES (Advanced Encryption Standard)
Les algorithmes de chiffrement à clé symétrique Les algorithmes de chiffrement à clé symétrique
Modes de chiffrement Modes de chiffrement
Les algorithmes de chiffrement à clé publique Les algorithmes de chiffrement à clé publique
Cryptanalyse Cryptanalyse

Plan du cours Les algorithmes de chiffrement à clé symétrique

• Les clés de chiffrement et de déchiffrement sont identiques


• Un algorithme de chiffrement à clé symétrique aussi appelé à clé
• Introduction secrète repose sur la no-divulgation des clés et la résistance des
• Les algorithmes de chiffrement à clé symétrique algorithmes aux attaques de cryptanalyse
◦ DES (Data Encryption Standard)
◦ AES (Advanced Encryption Standard)
◦ Modes de chiffrement
◦ Cryptanalyse
• Les algorithmes de chiffrement à clé publique
◦ RSA (Rivest, Shamir et Adelman)
◦ Rabin
◦ Autres algorithmes à clé publique

mohamed.koubaa@enit.rnu.tn C&C - PI 7 mohamed.koubaa@enit.rnu.tn C&C - PI 8


DES (Data Encryption Standard) DES (Data Encryption Standard)
Introduction Introduction
AES (Advanced Encryption Standard) AES (Advanced Encryption Standard)
Les algorithmes de chiffrement à clé symétrique Les algorithmes de chiffrement à clé symétrique
Modes de chiffrement Modes de chiffrement
Les algorithmes de chiffrement à clé publique Les algorithmes de chiffrement à clé publique
Cryptanalyse Cryptanalyse

Plan du cours Data Encryption Standard (1)

15 mai 1973 Le NIST (National Institute of Standards and Technology)


lance un appel d’offre pour la proposition d’un algorithme de
• Introduction
chiffrement ayant les propriétés suivantes :
• Les algorithmes de chiffrement à clé symétrique
◦ Posséder un haut niveau de sécurité lié à une clé de
◦ DES (Data Encryption Standard) petite taille servant au chiffrement et au déchiffrement
◦ AES (Advanced Encryption Standard)
◦ Modes de chiffrement ◦ Être compréhensible
◦ Cryptanalyse ◦ Ne pas dépendre de la confidentialité de l’algorithme
• Les algorithmes de chiffrement à clé publique ◦ Être adaptable et économique
◦ RSA (Rivest, Shamir et Adelman) ◦ Être efficace et exportable
◦ Rabin
◦ Autres algorithmes à clé publique 1974 IBM propose ”Lucifer”, qui grâce à la NSA (National Security
Agency) est modifié le 23 novembre 1976 pour donner le DES
(Data Encryption Standard)
1978 Le DES a été approuvé par le NIST

mohamed.koubaa@enit.rnu.tn C&C - PI 9 mohamed.koubaa@enit.rnu.tn C&C - PI 10

DES (Data Encryption Standard) DES (Data Encryption Standard)


Introduction Introduction
AES (Advanced Encryption Standard) AES (Advanced Encryption Standard)
Les algorithmes de chiffrement à clé symétrique Les algorithmes de chiffrement à clé symétrique
Modes de chiffrement Modes de chiffrement
Les algorithmes de chiffrement à clé publique Les algorithmes de chiffrement à clé publique
Cryptanalyse Cryptanalyse

Data Encryption Standard (2) Data Encryption Standard (3)

• DES est un algorithme de chiffrement symétrique par blocs de 64


bits
◦ DES utilise une clé de chiffrement de longueur ”utile” 56 bits
◦ La clé est complétée par des bits de parité (un octet) servant à vérifier • Les grandes lignes de l’algorithme sont les suivantes :
l’intégrité de la clé ◦ Fractionnement du texte en blocs de 64 bits (8 octets)
◦ Chaque bit de parité est ajusté de façon à avoir un nombre impair de ◦ L’algorithme exploite ensuite 19 étages distincts
’1’ dans l’octet auquel il appartient ;  Le premier étage est constitué d’une transposition du texte en clair sur 64
• L’algorithme consiste à effectuer des combinaisons, des substitutions bits (indépendante de la clé)
 Le dernier étage effectue la transposition inverse
et des permutations entre le texte à chiffrer et la clé, en faisant en  L’avant dernier étage permute les 32 bits de gauche avec ceux de droite
sorte que les opérations puissent se faire dans les deux sens (pour le  Les seize autre étages sont fonctionnellement identiques mais ils sont
déchiffrement) paramétrés par différentes fonctions de la clé
• La combinaison entre substitutions et permutations est appelée code
produit
• La clé est codée sur 64 bits et formée de 16 blocs de 4 bits,
généralement notés K1 à K16

mohamed.koubaa@enit.rnu.tn C&C - PI 11 mohamed.koubaa@enit.rnu.tn C&C - PI 12


DES (Data Encryption Standard) DES (Data Encryption Standard)
Introduction Introduction
AES (Advanced Encryption Standard) AES (Advanced Encryption Standard)
Les algorithmes de chiffrement à clé symétrique Les algorithmes de chiffrement à clé symétrique
Modes de chiffrement Modes de chiffrement
Les algorithmes de chiffrement à clé publique Les algorithmes de chiffrement à clé publique
Cryptanalyse Cryptanalyse

Data Encryption Standard (4) Data Encryption Standard (5)


• Chaque étage reçoit deux entrées de 32 bits et restitue deux sorties
de 32 bits
• La partie gauche de la sortie est une simple recopie de la partie
droite de l’entrée
• La partie droite de la sortie est le résultat d’un OU exclusif bit à bit
entre la partie gauche de l’entrée et une fonction de la partie droite
de l’entrée et de la clé Ki+1 relative à l’étage i considéré

mohamed.koubaa@enit.rnu.tn C&C - PI 13 mohamed.koubaa@enit.rnu.tn C&C - PI 14

DES (Data Encryption Standard) DES (Data Encryption Standard)


Introduction Introduction
AES (Advanced Encryption Standard) AES (Advanced Encryption Standard)
Les algorithmes de chiffrement à clé symétrique Les algorithmes de chiffrement à clé symétrique
Modes de chiffrement Modes de chiffrement
Les algorithmes de chiffrement à clé publique Les algorithmes de chiffrement à clé publique
Cryptanalyse Cryptanalyse

Transposition initiale Scindement en blocs de 32 bits

• Chaque bit d’un bloc est soumis à la transposition initiale, pouvant • Le bloc de 64 bits est ensuite scindé en deux blocs de 32 bits, notés
être représentée par la matrice de permutation initiale (notée TI) respectivement G et D. On note G0 et D0 l’état initial de ces deux
suivante : blocs ⎛ ⎞
⎛ ⎞ 58 50 42 34 26 18 10 2
58 50 42 34 26 18 10 2 ⎜ 60 52 44 36 28 20 12 4 ⎟
⎜ 60 52 44 36 28 20 12 4 ⎟ G0 = ⎜⎝ 62 54 46 38 30 22 14 6 ⎠

⎜ ⎟
⎜ 62 54 46 38 30 22 14 6 ⎟ 64 56 48 40 32 24 16 8
⎜ ⎟
⎜ 64 56 48 40 32 24 16 8 ⎟ ⎛ ⎞
TI = ⎜⎜ ⎟ 57 49 41 33 25 17 9 1

⎜ 57 49 41 33 25 17 9 1 ⎟ ⎜ 59 51 43 35 27 19 11 3 ⎟
⎜ 59 51 43 35 27 19 11 3 ⎟ D0 = ⎜ ⎟
⎜ ⎟ ⎝ 61 53 45 37 29 21 13 5 ⎠
⎝ 61 53 45 37 29 21 13 5 ⎠
63 55 47 39 31 23 15 7 63 55 47 39 31 23 15 7
• Il est intéressant de remarquer que G0 contient tous les bits
• Le 58ème bit du bloc de texte de 64 bits se retrouve en première possédant une position paire dans le message initial, tandis que D0
position, le 50ème en seconde position . . . contient les bits de position impaire

mohamed.koubaa@enit.rnu.tn C&C - PI 15 mohamed.koubaa@enit.rnu.tn C&C - PI 16


DES (Data Encryption Standard) DES (Data Encryption Standard)
Introduction Introduction
AES (Advanced Encryption Standard) AES (Advanced Encryption Standard)
Les algorithmes de chiffrement à clé symétrique Les algorithmes de chiffrement à clé symétrique
Modes de chiffrement Modes de chiffrement
Les algorithmes de chiffrement à clé publique Les algorithmes de chiffrement à clé publique
Cryptanalyse Cryptanalyse

Rondes Fonction d’expansion


• Les 32 bits du bloc D0 sont étendus à 48 bits grâce à une table
• Les blocs Gi et Di sont soumis à un ensemble de transformation (matrice) appelé table d’expansion (notée E), dans laquelle les 48
itératives appelées rondes bits sont mélangés et 16 d’entre eux sont dupliqués

⎛ ⎞ ⎛ ⎞
57 49 41 33 25 17 9 1 32 1 2 3 4 5
⎜ 59 51 43 35 27 19 11 3 ⎟ ⎜ 4 5 6 7 8 9 ⎟
D0 = ⎝ ⎜ ⎟
61 53 45 37 29 21 13 5 ⎠ ⎜ 8 9 10 11 12 13 ⎟
⎜ ⎟
63 55 47 39 31 23 15 7 ⎜ 12 13 14 15 16 17 ⎟
E =⎜ ⎟
⎜ 16 17 18 19 20 21 ⎟
⎜ ⎟
⎜ 20 21 22 23 24 25 ⎟
⎝ 24 25 26 27 28 29 ⎠
28 29 30 31 32 1

• Ainsi, le dernier bit de D0 (c’est-à-dire le 7ème bit du bloc d’origine)


devient le premier, le premier devient le second, . . . De plus, les bits
1, 4, 5, 8, 9, 12, 13, 16, 17, 20, 21, 24, 25, 28 et 29 de D0
(respectivement 57, 33, 25, l, 59, 35, 27, 3, 6l, 37, 29, 5, 63, 39, 31
et 7 du bloc d’origine) sont dupliqués et disséminés dans la matrice
mohamed.koubaa@enit.rnu.tn C&C - PI 17 mohamed.koubaa@enit.rnu.tn C&C - PI 18

DES (Data Encryption Standard) DES (Data Encryption Standard)


Introduction Introduction
AES (Advanced Encryption Standard) AES (Advanced Encryption Standard)
Les algorithmes de chiffrement à clé symétrique Les algorithmes de chiffrement à clé symétrique
Modes de chiffrement Modes de chiffrement
Les algorithmes de chiffrement à clé publique Les algorithmes de chiffrement à clé publique
Cryptanalyse Cryptanalyse

Fonction de substitution (1) Fonction de substitution (2)

• L’algorithme DES procède ensuite à un OU exclusif entre la


⎛ ⎞
première clé K1 et E [D0 ] 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7
• Le résultat est une matrice de 48 bits (D0 ) par commodité (il ne ⎜ 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8 ⎟
S1 = ⎜
⎝ 4

s’agit pas du D0 de départ) 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0 ⎠
• D0 est scindée en 8 blocs de 6 bits, notés D0i 15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13
• Chaque bloc traverse une boı̂te Si ;
• Les premiers et derniers bits de chaque D0i déterminent (en binaire) • Soit D01 égal à 101110
la ligne de la boı̂te de substitution, les autres bits (respectivement 2, ◦ Le premier et le dernier bit (10) donnent (2)10
3, 4 et 5) déterminent la colonne ◦ Les bits 2, 3, 4 et 5 (0111) donnent (7)10
◦ La sélection de la ligne se faisant sur deux bits, il y a 4 possibilités ◦ Le résultat de la boite de substitution est donc la valeur située à
(0,1,2,3) l’intersection de la deuxième ligne et de la septième colonne
◦ La sélection de la colonne se faisant sur 4 bits, il y a 16 possibilités (0 à ◦ Il s’agit de la valeur (11)10 soit en binaire 1011 ;
15) • Chacun des 8 blocs de 6 bits est passé dans la boite de substitution
◦ La boı̂te de substitution ”sélectionne” une valeur codée sur 4 bits correspondante, ce qui donne en sortie 8 valeurs de 4 bits chacune

mohamed.koubaa@enit.rnu.tn C&C - PI 19 mohamed.koubaa@enit.rnu.tn C&C - PI 20


DES (Data Encryption Standard) DES (Data Encryption Standard)
Introduction Introduction
AES (Advanced Encryption Standard) AES (Advanced Encryption Standard)
Les algorithmes de chiffrement à clé symétrique Les algorithmes de chiffrement à clé symétrique
Modes de chiffrement Modes de chiffrement
Les algorithmes de chiffrement à clé publique Les algorithmes de chiffrement à clé publique
Cryptanalyse Cryptanalyse

Permutation sur 32 bits Permutation initiale inverse

• À la fin des 16 itérations les deux blocs G16 et D16 sont recollés puis
• Le bloc de 32 bits obtenu est soumis à une transposition T dont la soumis à la transposition initiale inverse
table est la suivante : • Le résultat en sortie est un texte codé de 64 bits
⎛ ⎞ ⎛ ⎞
16 7 20 21 29 12 28 17 40 8 48 16 56 24 64 32
⎜ 1 15 23 26 5 18 31 10 ⎟ ⎜ 39 7 47 15 55 23 63 31 ⎟
T =⎜⎝ 2
⎟ ⎜ ⎟
8 24 14 32 27 3 9 ⎠ ⎜ 38 6 46 14 54 22 62
⎜ 30 ⎟

19 13 30 6 22 11 4 25 ⎜ 37 5 45 13 53 21 61 29 ⎟
TI = ⎜
−1
⎜ 36 4 44 12 52 20 60


⎜ 28 ⎟
• L’ensemble de ces résultats en sortie de T est soumis à un OU ⎜ 35 3 43 11 51 19 59 27 ⎟
⎜ ⎟
Exclusif avec le G0 de départ pour donner D1 ; ⎝ 34 2 42 10 50 18 58 26 ⎠
33 1 41 9 49 17 57 25

mohamed.koubaa@enit.rnu.tn C&C - PI 21 mohamed.koubaa@enit.rnu.tn C&C - PI 22

DES (Data Encryption Standard) DES (Data Encryption Standard)


Introduction Introduction
AES (Advanced Encryption Standard) AES (Advanced Encryption Standard)
Les algorithmes de chiffrement à clé symétrique Les algorithmes de chiffrement à clé symétrique
Modes de chiffrement Modes de chiffrement
Les algorithmes de chiffrement à clé publique Les algorithmes de chiffrement à clé publique
Cryptanalyse Cryptanalyse

Génération des clés (1) Génération des clés (2)


• La table de la permutation notée CP-1 est présentée ci-dessous :
⎛ ⎞
57 49 41 33 25 17 9 1 58 50 42 34 26 18
⎜ 10 2 59 51 43 35 27 19 11 3 60 52 44 36 ⎟
CP−1 = ⎜
⎝ 63

55 47 39 31 23 15 7 62 54 46 38 30 22 ⎠
14 6 61 53 45 37 29 21 13 5 28 20 12 4
• Cette matrice peut en fait s’écrire sous la forme de deux matrice Gi
et Di (pour gauche et droite) composées chacune de 28 bits :
⎛ ⎞
57 49 41 33 25 17 9
⎜ 1 58 50 42 34 26 18 ⎟
Gi = ⎜
⎝ 10 2 59 51 43 35 27 ⎠

19 11 3 60 52 44 36
⎛ ⎞
63 55 47 39 31 23 15
⎜ 7 62 54 46 38 30 22 ⎟
Di = ⎜
⎝ 14 6 61 53 45 37 29 ⎠

21 13 5 28 20 12 4
mohamed.koubaa@enit.rnu.tn C&C - PI 23 mohamed.koubaa@enit.rnu.tn C&C - PI 24
DES (Data Encryption Standard) DES (Data Encryption Standard)
Introduction Introduction
AES (Advanced Encryption Standard) AES (Advanced Encryption Standard)
Les algorithmes de chiffrement à clé symétrique Les algorithmes de chiffrement à clé symétrique
Modes de chiffrement Modes de chiffrement
Les algorithmes de chiffrement à clé publique Les algorithmes de chiffrement à clé publique
Cryptanalyse Cryptanalyse

Génération des clés (3) Triple Data Encryption Standard (1)

• Ces deux blocs subissent ensuite une rotation à gauche, de telles • En 1977, deux chercheurs en cryptographie de Stanford, Diffie et
façons que les bits en seconde position prennent la première Hellman montraient qu’il est possible de casser le code DES
position, ceux en troisième position la seconde, . . . les bits en • À partir d’un fragment du texte en clair et du texte codé
première position passent en dernière position correspondant, il est possible de trouver la clé au moyen d’une
• Les 2 blocs de 28 bits sont ensuite regroupés en un bloc de 56 bits. recherche exhaustive dans l’espace des 256 clés possibles en moins
Celui-ci passe par une permutation, notée CP-2, fournissant en d’une journée
sortie un bloc de 48 bits, représentant la clé Ki+1 • En 1979, IBM, convaincue que la taille de la clé de DES était trop
• Des itérations de l’algorithme permettent de donner les 16 clés, K1 à courte, propose un moyen d’augmenter efficacement la taille de la
K16 , du DES clé au moyen d’un triple chiffrement

mohamed.koubaa@enit.rnu.tn C&C - PI 25 mohamed.koubaa@enit.rnu.tn C&C - PI 26

DES (Data Encryption Standard) DES (Data Encryption Standard)


Introduction Introduction
AES (Advanced Encryption Standard) AES (Advanced Encryption Standard)
Les algorithmes de chiffrement à clé symétrique Les algorithmes de chiffrement à clé symétrique
Modes de chiffrement Modes de chiffrement
Les algorithmes de chiffrement à clé publique Les algorithmes de chiffrement à clé publique
Cryptanalyse Cryptanalyse

Triple Data Encryption Standard (2) Triple Data Encryption Standard (3)
• Deux clés et trois étages :
◦ Dans un premier étage, le texte en clair est codé avec DES avec la clé
K1 • Pourquoi n’y a-t-il que deux clés au lieu de trois ?
◦ Dans le deuxième étage, DES est exécuté en mode déchiffrement avec
◦ Une longueur de clé de 112 bits convient très bien pour les applications
la clé K2
commerciales courantes
◦ Dans le dernier étage, DES est exécuté en mode chiffrement en
◦ Passer à 168 bits augmenterait la charge occasionnée par la gestion et
utilisant la clé K1
le transport d’une autre clé pour un bénéficie minime
• Pourquoi avoir utilisé une succession d’étapes
chiffrement-déchiffrement-chiffrement plutôt que
chiffrement-chiffrement-chiffrement ?
◦ Le choix est justifié par des raisons de compatibilité descendante avec
DES à clé unique
◦ Un ordinateur pratiquant un chiffrement triple peut communiquer avec
un ordinateur utilisant un chiffrement simple en posant K1 = K2 ;

mohamed.koubaa@enit.rnu.tn C&C - PI 27 mohamed.koubaa@enit.rnu.tn C&C - PI 28


DES (Data Encryption Standard) DES (Data Encryption Standard)
Introduction Introduction
AES (Advanced Encryption Standard) AES (Advanced Encryption Standard)
Les algorithmes de chiffrement à clé symétrique Les algorithmes de chiffrement à clé symétrique
Modes de chiffrement Modes de chiffrement
Les algorithmes de chiffrement à clé publique Les algorithmes de chiffrement à clé publique
Cryptanalyse Cryptanalyse

Plan du cours Advanced Encryption Standard (1)

• DES commence à se rapprocher de sa fin de vie utile


• Introduction
• Le triple DES devient insuffisant
• Les algorithmes de chiffrement à clé symétrique
• Le NIST organise une compétition cryptographique et demande en
◦ DES (Data Encryption Standard) janvier 1997 à des chercheurs invités du monde entier de soumettre
• AES (Advanced Encryption Standard) des propositions pour un nouveau standard qui serait appelé AES
◦ Modes de chiffrement (Advanced Encryption Standard)
◦ Cryptanalyse
◦ L’algorithme devait être un chiffre symétrique par blocs
◦ Les algorithmes de chiffrement à clé publique ◦ La totalité de sa conception devait être publique
◦ RSA (Rivest, Shamir et Adelman) ◦ Il devait être possible d’y utiliser des clés de 128, 192 et 256 bits
◦ Rabin ◦ Il devait permettre des implémentations matérielles et logicielles
◦ Autres algorithmes à clé publique ◦ L’algorithme devait être public (utilisation devait être autorisée de
façon non discriminatoire)

mohamed.koubaa@enit.rnu.tn C&C - PI 29 mohamed.koubaa@enit.rnu.tn C&C - PI 30

DES (Data Encryption Standard) DES (Data Encryption Standard)


Introduction Introduction
AES (Advanced Encryption Standard) AES (Advanced Encryption Standard)
Les algorithmes de chiffrement à clé symétrique Les algorithmes de chiffrement à clé symétrique
Modes de chiffrement Modes de chiffrement
Les algorithmes de chiffrement à clé publique Les algorithmes de chiffrement à clé publique
Cryptanalyse Cryptanalyse

Advanced Encryption Standard (2) Advanced Encryption Standard (3)

Septembre 1997 Appel d’offre lancé par le NIST (National Institute of Stan-
• 15 propositions sont retenues dards and Technology) pour l’AES
• Des conférences publiques furent organisées pour les présenter Août 1998 15 candidats retenus lors de la première conférence AES
• Les participants furent vivement encouragés à trouver des failles Mars 1999 Seconde conférence AES
dans chacune des propositions Avril 1999 Le NIST annonce les 5 finalistes

• Le NIST choisit cinq finalistes eu égard à la sécurité, l’efficacité, la ◦ Rijndael (Joan Daemen et Vincent Rijmen)
simplicité, la souplesse et les besoins en mémoire des systèmes ◦ Serpent (Ross Andersen, Eli Biham et Lars Knudsen)
retenus ◦ Twofish (équipe dirigée par Bruce Schneier)
• Un vote partage les cinq propositions ◦ RC6 (RSA Laboratories)
• La proposition de deux jeunes cryptographes belges Joan Daemen et ◦ MARS (IBM)
Vincent Rijmen a été retenue par le NIST en novembre 2000 sous le
nom de l’algorithme de Rijndael Avril 2000 Troisième conférence AES
Octobre 2000 Le vainqueur est l’algorithme Rijndael (2 octobre 200)
Mai 2002 L’AES remplace le DES

mohamed.koubaa@enit.rnu.tn C&C - PI 31 mohamed.koubaa@enit.rnu.tn C&C - PI 32


DES (Data Encryption Standard) DES (Data Encryption Standard)
Introduction Introduction
AES (Advanced Encryption Standard) AES (Advanced Encryption Standard)
Les algorithmes de chiffrement à clé symétrique Les algorithmes de chiffrement à clé symétrique
Modes de chiffrement Modes de chiffrement
Les algorithmes de chiffrement à clé publique Les algorithmes de chiffrement à clé publique
Cryptanalyse Cryptanalyse

Advanced Encryption Standard (4) Advanced Encryption Standard (5)

#define LENGTH 16 Nombre d’octets dans les blocs de don-


nées ou la clé ;
#define NROWS 4 Nombre de lignes de l’état
#define NCOLS 4 Nombre de colonnes de l’état
• Deux variantes d’AES #define ROUNDS 10 Nombre d’itérations
typedef unsigned char byte ; Entier non signé de 8 bits
◦ Blocs et clé de 128 bits rijndael(byte plaintext[LENGTH], byte ciphertext[LENGTH], byte key[LENGTH]){
◦ Blocs de 128 bits et clé de 256 bits int r ; Compteur de boules
byte state[NROWS][NCOLS] ;
• Une clé de 128 bits donne un espace de choix de 2128 = 3x1038 clés struct byte k[NROWS][NCOLS] ;rk[ROUNDS+1] ; Clés des rondes
expand key(key,rk) ; Construction des clés des rondes
• Une machine d’un milliard de processeurs fonctionnant en parallèle, copy plaintext to state(state, plaintext) ; Initialisation de l’état courant
xor roundkey into state(state, rk[0]) ; XOR clé avec état
chacun d’eux pouvant évaluer une clé par picoseconde, mettrait for (r=1 ; r≤ ROUNDS ; r++)
environ 1010 années pour explorer toutes les clés possibles substitute(state) ; Appliquer une boite S à chaque octet
rotate rows(state) ; Faire tourner la ligne i de i octets ;
if (r < ROUNDS) mix columns(state) ; Fonction de mélange ;
xor roundkey into state(state, rk[r]) ; XOR clé avec état ;
}
copy state to ciphertext(ciphertext, state) ; Renvoi du résultat
}

mohamed.koubaa@enit.rnu.tn C&C - PI 33 mohamed.koubaa@enit.rnu.tn C&C - PI 34

DES (Data Encryption Standard) DES (Data Encryption Standard)


Introduction Introduction
AES (Advanced Encryption Standard) AES (Advanced Encryption Standard)
Les algorithmes de chiffrement à clé symétrique Les algorithmes de chiffrement à clé symétrique
Modes de chiffrement Modes de chiffrement
Les algorithmes de chiffrement à clé publique Les algorithmes de chiffrement à clé publique
Cryptanalyse Cryptanalyse

Schéma général de l’AES Expansion de la clé de chiffrement


• Le texte en clair est recopié dans le tableau state. La recopie
s’effectue en colonnes. Les quatre premiers octets allant dans la
colonne 0, les quatre suivants dans la colonne 2, . . .

• Les clés des rondes résultent de rotations répétées et d’opérations


XOR portant sur différents groupes de bits de la clé
mohamed.koubaa@enit.rnu.tn C&C - PI 35 mohamed.koubaa@enit.rnu.tn C&C - PI 36
DES (Data Encryption Standard) DES (Data Encryption Standard)
Introduction Introduction
AES (Advanced Encryption Standard) AES (Advanced Encryption Standard)
Les algorithmes de chiffrement à clé symétrique Les algorithmes de chiffrement à clé symétrique
Modes de chiffrement Modes de chiffrement
Les algorithmes de chiffrement à clé publique Les algorithmes de chiffrement à clé publique
Cryptanalyse Cryptanalyse

Un tour de l’AES Substitution non linéaire

• La substitution agit isolément sur tous les octets (ai,j )0≤i,j≤3 d’un
état en deux étapes :
◦ Calcul de l’inverse de (ai,j ) dans le corps à 256 éléments F256
 x = ai,j −1
 Si ai,j = 0, on pose x=0
◦ Puis transformation affine de l’octet x
⎛ ⎞ ⎛ ⎞⎛ ⎞ ⎛ ⎞
y0 1 0 0 0 1 1 1 1 x0 1
⎜ y1 ⎟ ⎜ 1 1 0 0 0 1 1 1 ⎟⎜ x1 ⎟ ⎜ 1 ⎟
⎜ ⎟ ⎜ ⎟⎜ ⎟ ⎜ ⎟
⎜ y2 ⎟ ⎜ 1 1 1 0 0 0 1 1 ⎟⎜ x2 ⎟ ⎜ 0 ⎟
⎜ ⎟ ⎜ ⎟⎜ ⎟ ⎜ ⎟
⎜ y3 ⎟ ⎜ 1 1 1 1 0 0 0 1 ⎟⎜ x3 ⎟ ⎜ 0 ⎟
⎜ ⎟ ⎜ ⎟⎜ ⎟+⎜ ⎟
⎜ y4 ⎟ = ⎜ 1 1 1 1 1 0 0 0 ⎟⎜ x4 ⎟ ⎜ 0 ⎟
⎜ ⎟ ⎜ ⎟⎜ ⎟ ⎜ ⎟
⎜ y5 ⎟ ⎜ 0 1 1 1 1 1 0 0 ⎟⎜ x5 ⎟ ⎜ 1 ⎟
⎜ ⎟ ⎜ ⎟⎜ ⎟ ⎜ ⎟
⎝ y6 ⎠ ⎝ 0 0 1 1 1 1 1 0 ⎠⎝ x6 ⎠ ⎝ 1 ⎠
y7 0 0 0 1 1 1 1 1 x7 0

◦ Calculs effectués dans F2

mohamed.koubaa@enit.rnu.tn C&C - PI 37 mohamed.koubaa@enit.rnu.tn C&C - PI 38

DES (Data Encryption Standard) DES (Data Encryption Standard)


Introduction Introduction
AES (Advanced Encryption Standard) AES (Advanced Encryption Standard)
Les algorithmes de chiffrement à clé symétrique Les algorithmes de chiffrement à clé symétrique
Modes de chiffrement Modes de chiffrement
Les algorithmes de chiffrement à clé publique Les algorithmes de chiffrement à clé publique
Cryptanalyse Cryptanalyse

Permutation linéaire Décalage de lignes

• Chaque ligne subit un décalage circulaire vers la gauche de Ci


positions, (Ci longueur du décalage de la ligne i)
• La permutation est composée de deux étapes : ◦ La ligne 0 tourne de 0 octets
◦ Un décalage des lignes de l’état courant(rotate rows()) ◦ La ligne 1 tourne de 1 octet ; La ligne 2 de 2 et la ligne 3 de 3
◦ Une transformation linéaire des termes de chaque colonne de l’état
obtenu après décalage (mix columns()) C0 C1 C2 C3
• La permutation du dernier tour n’inclut pas la seconde étape 128 bits 0 1 2 3
192 bits 0 1 2 3
256 bits 0 1 3 4

mohamed.koubaa@enit.rnu.tn C&C - PI 39 mohamed.koubaa@enit.rnu.tn C&C - PI 40


DES (Data Encryption Standard) DES (Data Encryption Standard)
Introduction Introduction
AES (Advanced Encryption Standard) AES (Advanced Encryption Standard)
Les algorithmes de chiffrement à clé symétrique Les algorithmes de chiffrement à clé symétrique
Modes de chiffrement Modes de chiffrement
Les algorithmes de chiffrement à clé publique Les algorithmes de chiffrement à clé publique
Cryptanalyse Cryptanalyse

Mixage des colonnes Performances de l’AES

• Vitesse de chiffrement en Mbps


◦ Implantation sur un Pentium Pro 200 MHz
• Agit sur les colonnes de l’état Tailles (clé, bloc) en C en Java
(128, 128) 27-70.5 1.1
• La j ième colonne de l’état (a−,j ) est transformée en un vecteur (b−,j )
(192, 128) 22.8-59.3 0.93
par multiplication par une matrice à coefficients dans F256
(256, 128) 19.8-51.2 0.79
• Calculs effectués dans le corps F256
◦ α est une racine du polynôme X 8 + X 4 + X 3 + X + 1 ◦ À titre de comparaison, les meilleurs implantation du DES atteignent
◦ En hexadécimal un débit de chiffrement de 192 Mbps et le plus couramment 64 Mbps
 1 = 01 • Sur carte à puce (processeur Motorola 68HC08)
 α = 02
 1 + α = 03 Tailles (clé, bloc) Nombre de cycles RAM Taille code
(128, 128) 8390 cycles 36 octets 919 octets
(192, 128) 10780 cycles 44 octets 1170 octets
(256, 128) 12490 cycles 52 octets 1135 octets

mohamed.koubaa@enit.rnu.tn C&C - PI 41 mohamed.koubaa@enit.rnu.tn C&C - PI 42

DES (Data Encryption Standard) DES (Data Encryption Standard)


Introduction Introduction
AES (Advanced Encryption Standard) AES (Advanced Encryption Standard)
Les algorithmes de chiffrement à clé symétrique Les algorithmes de chiffrement à clé symétrique
Modes de chiffrement Modes de chiffrement
Les algorithmes de chiffrement à clé publique Les algorithmes de chiffrement à clé publique
Cryptanalyse Cryptanalyse

Plan du cours Modes de chiffrement

• Introduction
• Les algorithmes de chiffrement à clé symétrique
◦ DES (Data Encryption Standard) • Les systèmes de chiffrement symétrique se répartissent selon deux
◦ AES (Advanced Encryption Standard) grandes familles :
• Modes de chiffrement ◦ Les systèmes de chiffrement par blocs
◦ Cryptanalyse ◦ Les systèmes de chiffrement par flot
◦ Les algorithmes de chiffrement à clé publique
◦ RSA (Rivest, Shamir et Adelman)
◦ Rabin
◦ Autres algorithmes à clé publique

mohamed.koubaa@enit.rnu.tn C&C - PI 43 mohamed.koubaa@enit.rnu.tn C&C - PI 44


DES (Data Encryption Standard) DES (Data Encryption Standard)
Introduction Introduction
AES (Advanced Encryption Standard) AES (Advanced Encryption Standard)
Les algorithmes de chiffrement à clé symétrique Les algorithmes de chiffrement à clé symétrique
Modes de chiffrement Modes de chiffrement
Les algorithmes de chiffrement à clé publique Les algorithmes de chiffrement à clé publique
Cryptanalyse Cryptanalyse

Les chiffres par blocs Une technique de bourrage

• On désigne par chiffrement par blocs (block-cipher en anglais), tout • Une façon de bourrer (RFC2040) consiste à compléter le dernier
bloc par autant d’octets que nécessaire, chaque octet ayant pour
système de chiffrement (symétrique) dans lequel le message clair est
valeur le nombre d’octets ajoutés
découpé en blocs d’une taille fixe, et chacun de ces blocs est chiffré
◦ Par exemple, s’il manque trois octets au message m = o1 o2 o3 o4 o5 pour
• La longueur n des blocs et la taille l des clés sont deux obtenir un bloc de huit octets, on ajoute trois octets égaux à 3
caractéristiques des systèmes de chiffrement par blocs
o1 o2 o3 o4 o5 (03)H (03)H (03)H
• Le message P à chiffrer est découpé en blocs de n bits chacun
◦ S’il se trouve que la taille de la donnée à chiffrer est un multiple de la
• Si la longueur du message n’est pas un multiple de la longueur d’un taille d’un bloc, on ajoute un bloc entier dont chaque octet a pour
bloc, on le complète avec une séquence de bourrage ou padding en valeur la taille en octet d’un bloc. Par exemple, pour des blocs de huit
anglais octets, on ajoute le bloc
• Plusieurs techniques de bourrage existent (08)H (08)H (08)H (08)H (08)H (08)H (08)H (08)H

mohamed.koubaa@enit.rnu.tn C&C - PI 45 mohamed.koubaa@enit.rnu.tn C&C - PI 46

DES (Data Encryption Standard) DES (Data Encryption Standard)


Introduction Introduction
AES (Advanced Encryption Standard) AES (Advanced Encryption Standard)
Les algorithmes de chiffrement à clé symétrique Les algorithmes de chiffrement à clé symétrique
Modes de chiffrement Modes de chiffrement
Les algorithmes de chiffrement à clé publique Les algorithmes de chiffrement à clé publique
Cryptanalyse Cryptanalyse

Modes opératoires Le mode ECB (1)

• Ils ne concernent que le chiffrement par blocs


• Ils doivent masquer les blocs clairs identiques
• Deux messages identiques chiffrés avec la même clé ne donnent pas
les mêmes messages chiffrés
• ECB - Electronic Code Book
• Chiffrement : chaque bloc clair Pi est chiffré indépendamment et
donne un bloc chiffré Ci = EK (Pi )
• Déchiffrement : chaque bloc chiffré est déchiffré indépendamment
pour donner le bloc en clair correspondant Pi = DK (Ci )
• Conséquence : deux blocs clairs identiques donnent toujours le
même bloc chiffré pour une clé K fixée
mohamed.koubaa@enit.rnu.tn C&C - PI 47 mohamed.koubaa@enit.rnu.tn C&C - PI 48
DES (Data Encryption Standard) DES (Data Encryption Standard)
Introduction Introduction
AES (Advanced Encryption Standard) AES (Advanced Encryption Standard)
Les algorithmes de chiffrement à clé symétrique Les algorithmes de chiffrement à clé symétrique
Modes de chiffrement Modes de chiffrement
Les algorithmes de chiffrement à clé publique Les algorithmes de chiffrement à clé publique
Cryptanalyse Cryptanalyse

Le mode ECB (2) Le mode de chiffrement avec chaı̂nage de blocs (1)

Nom (8 octets) Prénom (8 octets) Position (8 octets) Bonus (8 octets)


Adams, Leslie Employé $10
Black, Robin Patron $500,000
Collins, Kim Directeur $100,000
Davies, Bobbie Gardien $5

• Ayant eu des mots avec le patron Leslie ne s’attend pas à toucher


grand-chose
• Kim, est la chouchou du patron, et chacun le sait
• Leslie peut accéder au fichier une fois que celui-ci a été chiffré et
avant qu’il ne soit envoyé à la banque
• Leslie recopie le 12ème bloc chiffré (celui qui contient le montant de
la prime accordée à Kim) et le substitue au quatrième bloc (celui qui
contient le montant de la prime accordée à Leslie)
mohamed.koubaa@enit.rnu.tn C&C - PI 49 mohamed.koubaa@enit.rnu.tn C&C - PI 50

DES (Data Encryption Standard) DES (Data Encryption Standard)


Introduction Introduction
AES (Advanced Encryption Standard) AES (Advanced Encryption Standard)
Les algorithmes de chiffrement à clé symétrique Les algorithmes de chiffrement à clé symétrique
Modes de chiffrement Modes de chiffrement
Les algorithmes de chiffrement à clé publique Les algorithmes de chiffrement à clé publique
Cryptanalyse Cryptanalyse

Le mode de chiffrement avec chaı̂nage de blocs (2) Le mode de chiffrement avec rétroaction (1)

• CBC - Cipher Block Chaining


• Chiffrement
◦ Un vecteur d’initiation IV généré aléatoirement et transmis sous forme
d’un texte en clair en même temps que le texte chiffré
◦ Ci = EK (Pi ⊕ Ci−1 )
• Déchiffrement
◦ Pi = DK (Ci ) ⊕ Ci−1
• Conséquence : deux blocs clairs identiques sont chiffrés différemment

Chiffrement Déchiffrement

mohamed.koubaa@enit.rnu.tn C&C - PI 51 mohamed.koubaa@enit.rnu.tn C&C - PI 52


DES (Data Encryption Standard) DES (Data Encryption Standard)
Introduction Introduction
AES (Advanced Encryption Standard) AES (Advanced Encryption Standard)
Les algorithmes de chiffrement à clé symétrique Les algorithmes de chiffrement à clé symétrique
Modes de chiffrement Modes de chiffrement
Les algorithmes de chiffrement à clé publique Les algorithmes de chiffrement à clé publique
Cryptanalyse Cryptanalyse

Le mode de chiffrement avec rétroaction (1) Le mode de chiffrement par flot (1)

• SCM - Stream Cipher Mode


• OFB - Output Feedback
• La perte de 64 bits de texte en clair par suite d’une erreur de
• CBC nécessite l’adjonction d’un bloc entier de 64 bits transmission d’un seul bit est inacceptable pour certaines
(respectivement 128 bits) avant le début du chiffrement applications
• Chiffrement • On désigne par chiffrement à flot, ou parfois chiffrement en continu,
◦ Un vecteur d’initiation est généré aléatoirement et est transmis en clair tout système de chiffrement (symétrique) dans lequel chaque
avec les blocs chiffrés
symbole du texte clair subit une transformation variable dans le
◦ Ci = Pi ⊕ ri pour i ≥ 1 ; r0 = IV
temps
◦ ri = EK (ri−1 )
• La transformation que subit chaque symbole Pi du texte clair est le
• Chiffrement
plus souvent une combinaison additive avec un symbole Si produit
◦ Pi = Ci ⊕ ri par un générateur pseudo-aléatoire (GPA)
• Conséquence : deux blocs identiques sont chiffrés différemment ◦ Chiffrement : Ci = Pi ⊕ Si
◦ Déchiffrement : Pi = Ci ⊕ Si

mohamed.koubaa@enit.rnu.tn C&C - PI 53 mohamed.koubaa@enit.rnu.tn C&C - PI 54

DES (Data Encryption Standard) DES (Data Encryption Standard)


Introduction Introduction
AES (Advanced Encryption Standard) AES (Advanced Encryption Standard)
Les algorithmes de chiffrement à clé symétrique Les algorithmes de chiffrement à clé symétrique
Modes de chiffrement Modes de chiffrement
Les algorithmes de chiffrement à clé publique Les algorithmes de chiffrement à clé publique
Cryptanalyse Cryptanalyse

Le mode de chiffrement par flot (2) Le mode de chiffrement par flot (3)

• On commence par chiffrer un vecteur d’initiation au moyen d’une clé


ce qui donne un certain bloc en sortie ; le même bloc est chiffré en
sortie pour donner un second bloc en sortie qui est alors chiffré pour
donner un troisième, . . .
• La séquence arbitrairement longue de blocs de sortie est appelée flot
avec clé (keystream)
• Le flot avec clé est traité comme un masque jetable et combiné par
un XOR avec le texte en clair pour donner le texte chiffré
• Le vecteur d’initiation n’est utilisé qu’à la première étape
• Le flot avec clé est générée indépendamment des donnés ⇒ il peut
Chiffrement Déchiffrement être précalculé au besoin, il est incomplètement insensible aux
erreurs de transmission

mohamed.koubaa@enit.rnu.tn C&C - PI 55 mohamed.koubaa@enit.rnu.tn C&C - PI 56


DES (Data Encryption Standard) DES (Data Encryption Standard)
Introduction Introduction
AES (Advanced Encryption Standard) AES (Advanced Encryption Standard)
Les algorithmes de chiffrement à clé symétrique Les algorithmes de chiffrement à clé symétrique
Modes de chiffrement Modes de chiffrement
Les algorithmes de chiffrement à clé publique Les algorithmes de chiffrement à clé publique
Cryptanalyse Cryptanalyse

Le mode de chiffrement par flot (4) Le mode compteur (1)

• Pour accéder à un bloc quelconque d’un fichier chiffré au moyen


• Le déchiffrement s’effectue en générant le même flot avec clé du d’un chaı̂nage de blocs, nécessite le déchiffrement au préalable des
coté du récepteur blocs qui le précèdent
• Un bit erroné dans la transmission du texte chiffré entraine un bit • Le mode compteur (counter mode) a été inventé pour éviter de de
erroné dans le texte en clair déchiffré déchiffrer tous les blocs qui précèdent un bloc quelconque dans le
texte
• Il est essentiel de ne jamais utiliser deux fois de suite le même couple
(VI-clé) pour ne pas générer à chaque fois le même flot avec clé • On commence par chiffrer le vecteur d’initiation auquel on ajoute
◦ Un premier bloc de texte P0 est chiffré avec le keystream K0 donnant une constante
P0 ⊕ K0 • Le bloc chiffré obtenu est combiné par un XOR avec le texte en clair
◦ Un deuxième bloc de texte Q0 est chiffré avec le keystream K0 donnant à chiffrer
Q0 ⊕ K0
◦ Un intrus qui capturerait les deux blocs de texte chiffrés, pourrait à
• Le vecteur d’initiation est incrémenté d’une unité pour chaque
l’aide d’un simple XOR éliminer la clé nouveau bloc
• Le mode compteur souffre de la même faiblesse que Le mode de
chiffrement par flot

mohamed.koubaa@enit.rnu.tn C&C - PI 57 mohamed.koubaa@enit.rnu.tn C&C - PI 58

DES (Data Encryption Standard) DES (Data Encryption Standard)


Introduction Introduction
AES (Advanced Encryption Standard) AES (Advanced Encryption Standard)
Les algorithmes de chiffrement à clé symétrique Les algorithmes de chiffrement à clé symétrique
Modes de chiffrement Modes de chiffrement
Les algorithmes de chiffrement à clé publique Les algorithmes de chiffrement à clé publique
Cryptanalyse Cryptanalyse

Le mode compteur (2) Plan du cours

• Introduction
• Les algorithmes de chiffrement à clé symétrique
◦ DES (Data Encryption Standard)
◦ AES (Advanced Encryption Standard)
◦ Modes de chiffrement
• Cryptanalyse
◦ Les algorithmes de chiffrement à clé publique
◦ RSA (Rivest, Shamir et Adelman)
◦ Rabin
◦ Autres algorithmes à clé publique

mohamed.koubaa@enit.rnu.tn C&C - PI 59 mohamed.koubaa@enit.rnu.tn C&C - PI 60


DES (Data Encryption Standard) DES (Data Encryption Standard)
Introduction Introduction
AES (Advanced Encryption Standard) AES (Advanced Encryption Standard)
Les algorithmes de chiffrement à clé symétrique Les algorithmes de chiffrement à clé symétrique
Modes de chiffrement Modes de chiffrement
Les algorithmes de chiffrement à clé publique Les algorithmes de chiffrement à clé publique
Cryptanalyse Cryptanalyse

La cryptanalyse La cryptanalyse différentielle

• La cryptanalyse différentielle s’attaque à n’importe quel bloc chiffré


• Elle commence par attaquer un couple de blocs de texte en clair qui
• Deux avancées récentes en cryptanalyse : diffèrent d’un petit nombre de bits
◦ La cryptanalyse différentielle • Elle observe soigneusement ce qui se passe au cours de chaque
◦ La cryptanalyse linéaire itération interne lors du chiffrement
• Dans certains cas, certains profil de bits apparaissent plus
fréquemment que d’autre
• Cette observation conduit à une attaque probabiliste

mohamed.koubaa@enit.rnu.tn C&C - PI 61 mohamed.koubaa@enit.rnu.tn C&C - PI 62

DES (Data Encryption Standard)


Introduction Introduction RSA (Rivest, Shamir et Adelman)
AES (Advanced Encryption Standard)
Les algorithmes de chiffrement à clé symétrique Les algorithmes de chiffrement à clé symétrique Rabin
Modes de chiffrement
Les algorithmes de chiffrement à clé publique Les algorithmes de chiffrement à clé publique Autres algorithmes à clé publique)
Cryptanalyse

La cryptanalyse linéaire Plan du cours

• La cryptanalyse linéaire peut casser le DES avec seulement 243 • Introduction


textes en clair connus • Les algorithmes de chiffrement à clé symétrique
• Elle consiste à faire un XOR sur certains bits du texte en clair et du ◦ DES (Data Encryption Standard)
texte chiffré, puis à examiner le résultat en y recherchant des profils ◦ AES (Advanced Encryption Standard)
◦ Modes de chiffrement
• En effectuant cette opération de manière répétitive, la moitié des ◦ Cryptanalyse
bits devrait être des 0, et l’autre moitié des 1 ;
• Les algorithmes de chiffrement à clé publique
• Le chiffrement en général introduit une dissymétrie dans une ◦ RSA (Rivest, Shamir et Adelman)
direction ou dans l’autre, laquelle, peut être exploité pour faciliter le ◦ Rabin
cassage du code ◦ Autres algorithmes à clé publique

mohamed.koubaa@enit.rnu.tn C&C - PI 63 mohamed.koubaa@enit.rnu.tn C&C - PI 64


Introduction RSA (Rivest, Shamir et Adelman) Introduction RSA (Rivest, Shamir et Adelman)
Les algorithmes de chiffrement à clé symétrique Rabin Les algorithmes de chiffrement à clé symétrique Rabin
Les algorithmes de chiffrement à clé publique Autres algorithmes à clé publique) Les algorithmes de chiffrement à clé publique Autres algorithmes à clé publique)

Position du problème Position du problème

• Comment Alice et Bob peuvent-ils faire pour partager une clé • Comment Alice et Bob peuvent-ils faire pour partager une clé
secrète ? secrète ?
• Réponses

mohamed.koubaa@enit.rnu.tn C&C - PI 65 mohamed.koubaa@enit.rnu.tn C&C - PI 65

Introduction RSA (Rivest, Shamir et Adelman) Introduction RSA (Rivest, Shamir et Adelman)
Les algorithmes de chiffrement à clé symétrique Rabin Les algorithmes de chiffrement à clé symétrique Rabin
Les algorithmes de chiffrement à clé publique Autres algorithmes à clé publique) Les algorithmes de chiffrement à clé publique Autres algorithmes à clé publique)

Position du problème Position du problème

• Comment Alice et Bob peuvent-ils faire pour partager une clé • Comment Alice et Bob peuvent-ils faire pour partager une clé
secrète ? secrète ?
• Réponses • Réponses
◦ Se rencontrer physiquement pour échanger une clé secrète ◦ Se rencontrer physiquement pour échanger une clé secrète
(impraticable) ; (impraticable) ;
◦ Utiliser l’une des deux méthodes suivantes :

mohamed.koubaa@enit.rnu.tn C&C - PI 65 mohamed.koubaa@enit.rnu.tn C&C - PI 65


Introduction RSA (Rivest, Shamir et Adelman) Introduction RSA (Rivest, Shamir et Adelman)
Les algorithmes de chiffrement à clé symétrique Rabin Les algorithmes de chiffrement à clé symétrique Rabin
Les algorithmes de chiffrement à clé publique Autres algorithmes à clé publique) Les algorithmes de chiffrement à clé publique Autres algorithmes à clé publique)

Position du problème Position du problème

• Comment Alice et Bob peuvent-ils faire pour partager une clé • Comment Alice et Bob peuvent-ils faire pour partager une clé
secrète ? secrète ?
• Réponses • Réponses
◦ Se rencontrer physiquement pour échanger une clé secrète ◦ Se rencontrer physiquement pour échanger une clé secrète
(impraticable) ; (impraticable) ;
◦ Utiliser l’une des deux méthodes suivantes : ◦ Utiliser l’une des deux méthodes suivantes :
 Protocole d’échange de clés de Diffie-Hellman ;  Protocole d’échange de clés de Diffie-Hellman ;
 Système de chiffrement asymétrique ;

mohamed.koubaa@enit.rnu.tn C&C - PI 65 mohamed.koubaa@enit.rnu.tn C&C - PI 65

Introduction RSA (Rivest, Shamir et Adelman) Introduction RSA (Rivest, Shamir et Adelman)
Les algorithmes de chiffrement à clé symétrique Rabin Les algorithmes de chiffrement à clé symétrique Rabin
Les algorithmes de chiffrement à clé publique Autres algorithmes à clé publique) Les algorithmes de chiffrement à clé publique Autres algorithmes à clé publique)

Protocole d’échange de clé Protocole d’échange de clé

• Un protocole d’échange de clé permet à deux protagonistes : • Un protocole d’échange de clé permet à deux protagonistes :
◦ d’échanger une clé secrète K ;

mohamed.koubaa@enit.rnu.tn C&C - PI 66 mohamed.koubaa@enit.rnu.tn C&C - PI 66


Introduction RSA (Rivest, Shamir et Adelman) Introduction RSA (Rivest, Shamir et Adelman)
Les algorithmes de chiffrement à clé symétrique Rabin Les algorithmes de chiffrement à clé symétrique Rabin
Les algorithmes de chiffrement à clé publique Autres algorithmes à clé publique) Les algorithmes de chiffrement à clé publique Autres algorithmes à clé publique)

Protocole d’échange de clé Le protocole de Diffie-Hellman (1)

• En 1976, deux chercheurs de l’université de Standford, Diffie et


Hellman, proposèrent un système de cryptographie radicalement
différent de ce qui s’était fait jusqu’alors ;
• Le système utilise deux clés distinctes, une clé de chiffrement et une
• Un protocole d’échange de clé permet à deux protagonistes : clé de déchiffrement ;
◦ d’échanger une clé secrète K ; • La clé de déchiffrement ne pouvait être obtenue à partir de la clé de
◦ en communiquant sur un canal non sécurisé ; chiffrement ;
• L’algorithme de chiffrement (E) et l’algorithme de déchiffrement (D)
devaient satisfaire un certain nombre de conditions :
◦ D(E(P))=P ;
◦ Il est excessivement difficile de déduire D à partir de E ;
◦ E ne peut pas être cassé au moyen d’une attaque sur un texte en clair
choisi (le cryptanalyste a la possibilité de chiffrer des morceaux de texte
en clair de son propre choix) ;

mohamed.koubaa@enit.rnu.tn C&C - PI 66 mohamed.koubaa@enit.rnu.tn C&C - PI 67

Introduction RSA (Rivest, Shamir et Adelman) Introduction RSA (Rivest, Shamir et Adelman)
Les algorithmes de chiffrement à clé symétrique Rabin Les algorithmes de chiffrement à clé symétrique Rabin
Les algorithmes de chiffrement à clé publique Autres algorithmes à clé publique) Les algorithmes de chiffrement à clé publique Autres algorithmes à clé publique)

Le protocole de Diffie-Hellman (2) Le protocole de Diffie-Hellman (2)

• Paramètres • Paramètres
◦ Un groupe cyclique G de cardinal n ; ◦ Un groupe cyclique G de cardinal n ;
◦ Un générateur g ∈ G ◦ Un générateur g ∈ G

Alice Bob Alice Bob


1. génère un entier xA compris entre 1. génère un entier xB compris entre
0 et n − 1 au hasard ; 0 et n − 1 au hasard ;

mohamed.koubaa@enit.rnu.tn C&C - PI 68 mohamed.koubaa@enit.rnu.tn C&C - PI 68


Introduction RSA (Rivest, Shamir et Adelman) Introduction RSA (Rivest, Shamir et Adelman)
Les algorithmes de chiffrement à clé symétrique Rabin Les algorithmes de chiffrement à clé symétrique Rabin
Les algorithmes de chiffrement à clé publique Autres algorithmes à clé publique) Les algorithmes de chiffrement à clé publique Autres algorithmes à clé publique)

Le protocole de Diffie-Hellman (2) Le protocole de Diffie-Hellman (2)

• Paramètres • Paramètres
◦ Un groupe cyclique G de cardinal n ; ◦ Un groupe cyclique G de cardinal n ;
◦ Un générateur g ∈ G ◦ Un générateur g ∈ G

Alice Bob Alice Bob


1. génère un entier xA compris entre 1. génère un entier xB compris entre 1. génère un entier xA compris entre 1. génère un entier xB compris entre
0 et n − 1 au hasard ; 0 et n − 1 au hasard ; 0 et n − 1 au hasard ; 0 et n − 1 au hasard ;
2. calcule KA = g xA ; 2. calcule KB = g xB ; 2. calcule KA = g xA ; 2. calcule KB = g xB ;
3. envoie KA à Bob ; 3. envoie KB à Alice ;

mohamed.koubaa@enit.rnu.tn C&C - PI 68 mohamed.koubaa@enit.rnu.tn C&C - PI 68

Introduction RSA (Rivest, Shamir et Adelman) Introduction RSA (Rivest, Shamir et Adelman)
Les algorithmes de chiffrement à clé symétrique Rabin Les algorithmes de chiffrement à clé symétrique Rabin
Les algorithmes de chiffrement à clé publique Autres algorithmes à clé publique) Les algorithmes de chiffrement à clé publique Autres algorithmes à clé publique)

Le protocole de Diffie-Hellman (2) Le protocole de Diffie-Hellman (2)

• Paramètres • Paramètres
◦ Un groupe cyclique G de cardinal n ; ◦ Un groupe cyclique G de cardinal n ;
◦ Un générateur g ∈ G ◦ Un générateur g ∈ G

Alice Bob Alice Bob


1. génère un entier xA compris entre 1. génère un entier xB compris entre 1. génère un entier xA compris entre 1. génère un entier xB compris entre
0 et n − 1 au hasard ; 0 et n − 1 au hasard ; 0 et n − 1 au hasard ; 0 et n − 1 au hasard ;
2. calcule KA = g xA ; 2. calcule KB = g xB ; 2. calcule KA = g xA ; 2. calcule KB = g xB ;
3. envoie KA à Bob ; 3. envoie KB à Alice ; 3. envoie KA à Bob ; 3. envoie KB à Alice ;

4. reçoit KB et calcule KBA = KBxA ; 4. reçoit KA et calcule KAB = KAxB ; 4. reçoit KB et calcule KBA = KBxA ; 4. reçoit KA et calcule KAB = KAxB ;

• KAB = KBA est la clé secrète partagée ;

mohamed.koubaa@enit.rnu.tn C&C - PI 68 mohamed.koubaa@enit.rnu.tn C&C - PI 68


Introduction RSA (Rivest, Shamir et Adelman) Introduction RSA (Rivest, Shamir et Adelman)
Les algorithmes de chiffrement à clé symétrique Rabin Les algorithmes de chiffrement à clé symétrique Rabin
Les algorithmes de chiffrement à clé publique Autres algorithmes à clé publique) Les algorithmes de chiffrement à clé publique Autres algorithmes à clé publique)

Un exemple Un exemple

• Paramètres • Paramètres
◦ G = Z∗31 , g = 3 et n = 30 ; ◦ G = Z∗31 , g = 3 et n = 30 ;
◦ Un générateur g ∈ G ◦ Un générateur g ∈ G

Alice Bob Alice Bob


1. génère un entier xA = 23 ; 1. génère un entier xB = 17 ;

mohamed.koubaa@enit.rnu.tn C&C - PI 69 mohamed.koubaa@enit.rnu.tn C&C - PI 69

Introduction RSA (Rivest, Shamir et Adelman) Introduction RSA (Rivest, Shamir et Adelman)
Les algorithmes de chiffrement à clé symétrique Rabin Les algorithmes de chiffrement à clé symétrique Rabin
Les algorithmes de chiffrement à clé publique Autres algorithmes à clé publique) Les algorithmes de chiffrement à clé publique Autres algorithmes à clé publique)

Un exemple Un exemple

• Paramètres • Paramètres
◦ G = Z∗31 , g = 3 et n = 30 ; ◦ G = Z∗31 , g = 3 et n = 30 ;
◦ Un générateur g ∈ G ◦ Un générateur g ∈ G

Alice Bob Alice Bob


1. génère un entier xA = 23 ; 1. génère un entier xB = 17 ; 1. génère un entier xA = 23 ; 1. génère un entier xB = 17 ;

2. calcule KA = g xA = 323 (mod 31) = 2. calcule KB = g xB = 317 (mod 31) = 2. calcule KA = g xA = 323 (mod 31) = 2. calcule KB = g xB = 317 (mod 31) =
11 ; 22 ; 11 ; 22 ;
3. envoie KA à Bob ; 3. envoie KB à Alice ;

mohamed.koubaa@enit.rnu.tn C&C - PI 69 mohamed.koubaa@enit.rnu.tn C&C - PI 69


Introduction RSA (Rivest, Shamir et Adelman) Introduction RSA (Rivest, Shamir et Adelman)
Les algorithmes de chiffrement à clé symétrique Rabin Les algorithmes de chiffrement à clé symétrique Rabin
Les algorithmes de chiffrement à clé publique Autres algorithmes à clé publique) Les algorithmes de chiffrement à clé publique Autres algorithmes à clé publique)

Un exemple Un exemple

• Paramètres • Paramètres
◦ G = Z∗31 , g = 3 et n = 30 ; ◦ G = Z∗31 , g = 3 et n = 30 ;
◦ Un générateur g ∈ G ◦ Un générateur g ∈ G

Alice Bob Alice Bob


1. génère un entier xA = 23 ; 1. génère un entier xB = 17 ; 1. génère un entier xA = 23 ; 1. génère un entier xB = 17 ;

2. calcule KA = g xA = 323 (mod 31) = 2. calcule KB = g xB = 317 (mod 31) = 2. calcule KA = g xA = 323 (mod 31) = 2. calcule KB = g xB = 317 (mod 31) =
11 ; 22 ; 11 ; 22 ;
3. envoie KA à Bob ; 3. envoie KB à Alice ; 3. envoie KA à Bob ; 3. envoie KB à Alice ;
4. reçoit KB = 22 et calcule KBA = 4. reçoit KA = 11 et calcule KAB = 4. reçoit KB = 22 et calcule KBA = 4. reçoit KA = 11 et calcule KAB =
KBxA = 2223 (mod 31) = 3 ; KAXB = 1117 (mod 31) = 3; KBxA = 2223 (mod 31) = 3 ; KAXB = 1117 (mod 31) = 3;

• KAB = KBA = 3 est la clé secrète partagée ;

mohamed.koubaa@enit.rnu.tn C&C - PI 69 mohamed.koubaa@enit.rnu.tn C&C - PI 69

Introduction RSA (Rivest, Shamir et Adelman) Introduction RSA (Rivest, Shamir et Adelman)
Les algorithmes de chiffrement à clé symétrique Rabin Les algorithmes de chiffrement à clé symétrique Rabin
Les algorithmes de chiffrement à clé publique Autres algorithmes à clé publique) Les algorithmes de chiffrement à clé publique Autres algorithmes à clé publique)

Sécurité du protocole Les algorithmes de chiffrement à clé publique

• Les algorithmes de chiffrement à clé publique utilisent une paire de


clés composée d’une clé publique pour chiffrer et une clé privée pour
• Ève, l’espionne, écoute les échanges entre Alice et Bob, et connaı̂t déchiffrer des données confidentielles ;
donc KA , KB , et bien entendu les paramètres G et g ; • La clé publique correspond à une clé qui est accessible par n’importe
• Étant donné KA et KB , Ève cherche à calculer la clé partagée K ; quelle personne souhaitant chiffrer des informations ;
• Ce problème est connu sous le nom de problème de Diffie-Hellman. • La clé privée est quant à elle réservée à la personne ayant créé la
Il est lié au problème du logarithme discret ; paire de clés ;
• Aucun algorithme efficace connu actuellement ; • Alice prend en charge la création de la paire de clés, envoie sa clé
• Solution du problème de Diffie-Hellman pratiquement incalculable publique aux autres personnes Bob, Carole, . . .
dans F∗p dès lors que p est un (grand) nombre premier ; • Bob peut alors chiffrer les données confidentielles à l’aide de la clé
publique puis envoyer les données à Alice ;
• Alice peut alors déchiffrer les données confidentielles à l’aide de sa
clé privée ;

mohamed.koubaa@enit.rnu.tn C&C - PI 70 mohamed.koubaa@enit.rnu.tn C&C - PI 71


Introduction RSA (Rivest, Shamir et Adelman) Introduction RSA (Rivest, Shamir et Adelman)
Les algorithmes de chiffrement à clé symétrique Rabin Les algorithmes de chiffrement à clé symétrique Rabin
Les algorithmes de chiffrement à clé publique Autres algorithmes à clé publique) Les algorithmes de chiffrement à clé publique Autres algorithmes à clé publique)

Plan du cours RSA (1)

• Introduction • Le premier algorithme de chiffrement à clé publique (chiffrement


• Les algorithmes de chiffrement à clé symétrique asymétrique) a été développé par R. Merckle et M. Hellman en
◦ DES (Data Encryption Standard) 1977 ;
◦ AES (Advanced Encryption Standard) • Il fut vite rendu obsolète grâce aux travaux de Shamir, Zippel et
◦ Modes de chiffrement Herlestman, de célèbres cryptanalistes ;
◦ Cryptanalyse
• L’algorithme à clé publique de Rivest, Shamir, et Adelman (d’où son
• Les algorithmes de chiffrement à clé publique
nom RSA) apparaı̂t en 1978 ;
◦ RSA (Rivest, Shamir et Adelman)
◦ Rabin • RSA servait encore en 2002 à protéger les codes nucléaires de
◦ Autres algorithmes à clé publique l’armée américaine et russe ;

mohamed.koubaa@enit.rnu.tn C&C - PI 72 mohamed.koubaa@enit.rnu.tn C&C - PI 73

Introduction RSA (Rivest, Shamir et Adelman) Introduction RSA (Rivest, Shamir et Adelman)
Les algorithmes de chiffrement à clé symétrique Rabin Les algorithmes de chiffrement à clé symétrique Rabin
Les algorithmes de chiffrement à clé publique Autres algorithmes à clé publique) Les algorithmes de chiffrement à clé publique Autres algorithmes à clé publique)

RSA (2) Préliminaires d’arithmétiques (1)

• On appelle indicatrice d’Euler la fonction qui à un entier n fait


• Le RSA, proposé en 1978, utilisant des clés de chiffrement de 128 correspondre le nombre d’entiers a premier à n vérifiant 1 ≤ a ≤ n.
bits, n’a été cassé qu’en 1996 en faisant travailler de nombreux On note φ cette fonction ;
ordinateurs en parallèle ; • Si p est un nombre premier alors tout entier compris entre 1 et p − 1
• RSA est considéré toujours comme sûr avec la technologie actuelle est premier à p ; φ(p) = p − 1 ;
pour des clés suffisamment longues (1024, 2048 voire 4096 bits) ⇒ • Les nombres premiers à p n sont exactement les nombres non
demande un temps de calcul assez important ; multiples de p
• C’est le système le plus largement répandu (carte bancaire, ◦ Il y a exactement p n−1 multiples de p entre 1 et p n ;
◦ φ(p n ) = p n − p n−1 = p n−1 (p − 1)
protocole SSL, . . . ) ;
• Soient p et q deux nombres premiers distincts, alors
φ(pq) = (p − 1)(q − 1) ;

mohamed.koubaa@enit.rnu.tn C&C - PI 74 mohamed.koubaa@enit.rnu.tn C&C - PI 75


Introduction RSA (Rivest, Shamir et Adelman) Introduction RSA (Rivest, Shamir et Adelman)
Les algorithmes de chiffrement à clé symétrique Rabin Les algorithmes de chiffrement à clé symétrique Rabin
Les algorithmes de chiffrement à clé publique Autres algorithmes à clé publique) Les algorithmes de chiffrement à clé publique Autres algorithmes à clé publique)

Préliminaires d’arithmétiques (2) Constitution des clés

• La méthode RSA repose sur les principes de la théorie des nombres ;


• Théorème de Fermat
• Bob choisit deux grands nombres premiers (en général de 1024 bits)
Soit p un nombre premier. Si a est un entier non divisible par p, alors
p et q ;
ap−1 ≡ 1[p] ;
• Bob calcule n = pq et z = (p − 1)(q − 1) ;
• Pour tout entier a, ap ≡ a[p] ;
• Bob choisit un nombre d tel que d et z soient premiers entre eux ;
• Soit n ∈ N un entier fixé, soit a un entier premier à n, alors
aφ(n) ≡ 1[n] ; • Bob calcule e tel que e × d ≡ 1[z] ;
• Bob diffuse n et e, garde d et oublie z ;

mohamed.koubaa@enit.rnu.tn C&C - PI 76 mohamed.koubaa@enit.rnu.tn C&C - PI 77

Introduction RSA (Rivest, Shamir et Adelman) Introduction RSA (Rivest, Shamir et Adelman)
Les algorithmes de chiffrement à clé symétrique Rabin Les algorithmes de chiffrement à clé symétrique Rabin
Les algorithmes de chiffrement à clé publique Autres algorithmes à clé publique) Les algorithmes de chiffrement à clé publique Autres algorithmes à clé publique)

Un exemple Chiffrement et déchiffrement RSA

• Exemple :
• Le texte en clair à chiffrer (considéré comme une chaı̂ne de bits) est
◦ p = 11, q = 17, n = 187 et z = (11 − 1)(17 − 1) = 160 ;
divisé en blocs de m bits chacun ; m étant le plus grand entier pour
◦ Comme 161 = 7 × 23, on peut poser e = 7 et d = 23 ;
◦ Bob rend publique la clé (187,7)
lequel la condition 2m < n est vérifiée ;
◦ Alice veut transmettre à Bob un message codé plus petit que n = 187, • Pour chiffrer un message P, on calcule C = P e ≡ [n] ;
mettons la date à laquelle ils vont faire une surprise à Cédric (par • Pour déchiffrer C , il s’agit de calculer P = C d ≡ [n] ;
exemple le 10), message qui ne doit pas être intercepté par ledit
Cédric, bien sûr ; • On montre que pour tout P appartenant à l’intervalle 0 ≤ P < n, les
◦ Alice va donc calculer 107 = 187 × 53475 + 175, et envoyer le résultat fonctions de chiffrement et de déchiffrement sont inverses ;
175 à Bob ; • La clé publique est formée par le couple (e,n) ; la clé privée par le
◦ Bob calcule le reste de la division euclidinne de 17523 par 187 ; couple (d, n) ;
◦ Bob retrouve bien le message envoyé, à savoir 10 ;

mohamed.koubaa@enit.rnu.tn C&C - PI 78 mohamed.koubaa@enit.rnu.tn C&C - PI 79


Introduction RSA (Rivest, Shamir et Adelman) Introduction RSA (Rivest, Shamir et Adelman)
Les algorithmes de chiffrement à clé symétrique Rabin Les algorithmes de chiffrement à clé symétrique Rabin
Les algorithmes de chiffrement à clé publique Autres algorithmes à clé publique) Les algorithmes de chiffrement à clé publique Autres algorithmes à clé publique)

Sécurité de RSA Un exemple d’application de l’algorithme RSA (1)

• La sécurité de RSA repose sur la difficulté de factoriser des grands


nombres ;
• Si le cryptanalyste pouvait factoriser n (public), il pouvait retrouver
• p = 3 et q = 11 ; ⇒ n = 33 et z = 20 ;
p et q puis z ; Connaissant z et e, il est possible de déterminer d au
moyen de l’algorithme d’Euclide ; • La valeur 7 convient alors pour d étant donné que 20 et 7 sont
premiers entre eux ;
• Par bonheur, les mathématiciens essayent, depuis au moins trois ans,
de factoriser des grands nombres mais il n’y arrivent pas ; le • En résolvant l’équation d × e ≡ 1[20] ⇔ 7e ≡ 1[20], on obtient e = 3 ;
problème est excessivement difficile ; • Le texte chiffré C , pour un texte en clair, P, est donné par
• Selon Rivest est ses collègues, factoriser un nombre de cinq cents C ≡ P 3 [33] ;
chiffres demande 1025 années au moyen d’une méthode d’essais • Le destinataire déchiffre le texte chiffré en appliquant P ≡ C 7 [33] ;
exhaustifs ;
• Il s’écoulera des siècles avant qu’il ne devienne possible de factoriser
un nombre de cinq cents chiffres ; à ce moment, il suffira de choisir
des valeurs plus grandes de p et q ;

mohamed.koubaa@enit.rnu.tn C&C - PI 80 mohamed.koubaa@enit.rnu.tn C&C - PI 81

Introduction RSA (Rivest, Shamir et Adelman) Introduction RSA (Rivest, Shamir et Adelman)
Les algorithmes de chiffrement à clé symétrique Rabin Les algorithmes de chiffrement à clé symétrique Rabin
Les algorithmes de chiffrement à clé publique Autres algorithmes à clé publique) Les algorithmes de chiffrement à clé publique Autres algorithmes à clé publique)

Un exemple d’application de l’algorithme RSA (2) Inconvénients de RSA

Texte en clair (P) Texte chiffré (C) Après déchiffrement


Symbolique Numérique P3 P 3 [33] C7 C 7 [33] Symbolique
S 19 6859 28 13492928512 19 S • Il est à souligner que la façon d’utiliser RSA décrite est semblable à
U 21 9261 21 1801088541 21 U
Z 26 17576 20 1280000000 26 Z l’usage d’un algorithme symétrique type ECB ;
A 01 1 1 1 01 A
N 14 2744 5 78125 14 N • Il est nécessaire d’introduire une forme de chaı̂nage quelconque pour
N 14 2744 5 78125 14 N obtenir un bon chiffrement ;
E 05 125 26 8031810176 05 E
• RSA est largement utilisé pour distribuer des clés de session unique
destinées à être utilisées dans un algorithme de type AES ou TDES
• Étant donné que nous avons choisi de petites valeurs pour cet (Triple DES) ;
exemple, P doit être inférieur à 33 ; Chaque bloc du texte en clair ne
peut contenir qu’un seul caractère ; Il en résulte un chiffre de type • RSA est (malheureusement) trop lent pour encoder de grands
substitution monoalphabétique (pas trop impressionnant) ; volumes de données ;
• Si nous avions pris p et q égaux à 2512 , nous aurions obtenu
n = 21024 , soit 128 caractères par bloc de texte clair ;

mohamed.koubaa@enit.rnu.tn C&C - PI 82 mohamed.koubaa@enit.rnu.tn C&C - PI 83


Introduction RSA (Rivest, Shamir et Adelman) Introduction RSA (Rivest, Shamir et Adelman)
Les algorithmes de chiffrement à clé symétrique Rabin Les algorithmes de chiffrement à clé symétrique Rabin
Les algorithmes de chiffrement à clé publique Autres algorithmes à clé publique) Les algorithmes de chiffrement à clé publique Autres algorithmes à clé publique)

Plan du cours Constitution des clés

• Introduction • Une paire de clés du système de Rabin est construite à partir :


• Les algorithmes de chiffrement à clé symétrique ◦ d’un couple de deux nombres premiers distincts p et q tels que p ≡ 3[4]
◦ DES (Data Encryption Standard) et q ≡ 3[4] ;
◦ AES (Advanced Encryption Standard) ◦ du produit de ces deux nombres premiers n = pq ;
◦ Modes de chiffrement ◦ de deux entiers (coefficients de Bezout) a et b tel que :
◦ Cryptanalyse
ap + bq = 1
• Les algorithmes de chiffrement à clé publique
◦ RSA (Rivest, Shamir et Adelman) • La clé publique est l’entier n ;
◦ Rabin
• La clé privée est le quadruplet (p, q, a, b) ;
◦ Autres algorithmes à clé publique

mohamed.koubaa@enit.rnu.tn C&C - PI 84 mohamed.koubaa@enit.rnu.tn C&C - PI 85

Introduction RSA (Rivest, Shamir et Adelman) Introduction RSA (Rivest, Shamir et Adelman)
Les algorithmes de chiffrement à clé symétrique Rabin Les algorithmes de chiffrement à clé symétrique Rabin
Les algorithmes de chiffrement à clé publique Autres algorithmes à clé publique) Les algorithmes de chiffrement à clé publique Autres algorithmes à clé publique)

Une exemple de paires de clé Chiffrement de Rabin

• Un message à chiffrer est un entier compris entre 0 et n − 1 ;


• Soit P le message à chiffrer ;
• p = 19 = 4 × 4 + 4, q = 23 = 4 × 5 + 3 deux nombres premiers congrus
à 3 modulo 4 ; • Le message chiffré est obtenu en utilisant la clé publique n du
destinataire et en calculant le carré de P modulo n :
• n = pq = 437 ;
• a = −6 et b = 5 ; C ≡ P 2 [n]
• Clé publique : n = 437 ;
• Le message chiffré est donc un entier compris entre 0 et n − 1 ;
• Clé privée : (p, q, a, b) = (19, 23, −6, 5) ;
• Exemple : le message P = 15 chiffré avec la clé n = 437 donne :

C ≡ P 2 [n] = 225

mohamed.koubaa@enit.rnu.tn C&C - PI 86 mohamed.koubaa@enit.rnu.tn C&C - PI 87


Introduction RSA (Rivest, Shamir et Adelman) Introduction RSA (Rivest, Shamir et Adelman)
Les algorithmes de chiffrement à clé symétrique Rabin Les algorithmes de chiffrement à clé symétrique Rabin
Les algorithmes de chiffrement à clé publique Autres algorithmes à clé publique) Les algorithmes de chiffrement à clé publique Autres algorithmes à clé publique)

Déchiffrement Sécurité de Rabin

• Soit C le message à déchiffrer ;


• Pour déchiffrer C , le destinataire utilise sa clé privée (p, q, a, b) et
calcule : • Ève écoute les échanges entre Alice et Bob et connaı̂t la clé
(p+1)
◦ r ≡C 4 [p] ; publique de Bob ;
• Étant donné un texte chiffré C et la clé publique de Bob, n, Ève
(q+1)
◦ s≡C [q] ;
4

◦ x ≡ (aps + bqr )[n] ; souhaite calculer le texte clair P ;


◦ y ≡ (aps − bqr )[n] ; • Problème du calcul d’une racine carrée modulo un entier composé
• Le message clair est l’un des quatre nombres x, n-x, y, n-y ; dont on ne connaı̂t pas la factorisation ;
• Exemple : • On démontre que le problème de Ève est équivalent au problème de
◦ Le texte chiffré C = 225 se déchiffre avec la clé privée la factorisation des entiers ;
(p, q, a, b) = (19, 23, −6, 5) :
 r = 4;
• Aucun algorithme efficace connu actuellement capable de casser le
 s = 8; chiffre de Rabin ;
 x = 422 ;
 y = 376 ;
◦ Le message clair P est l’un des quatre nombres 422, 15, 376, 61 ;

mohamed.koubaa@enit.rnu.tn C&C - PI 88 mohamed.koubaa@enit.rnu.tn C&C - PI 89

Introduction RSA (Rivest, Shamir et Adelman) Introduction RSA (Rivest, Shamir et Adelman)
Les algorithmes de chiffrement à clé symétrique Rabin Les algorithmes de chiffrement à clé symétrique Rabin
Les algorithmes de chiffrement à clé publique Autres algorithmes à clé publique) Les algorithmes de chiffrement à clé publique Autres algorithmes à clé publique)

Plan du cours Autres algorithmes à clé publique


• Bien que RSA soit largement utilisé, d’autres algorithmes à clé
publique existent ;
• L’algorithme du sac à dos
• Introduction ◦ Un nombre d’objets ayant chacun un poids différent ;
◦ On chiffre le message secrètement en choisissant un sous-ensemble des
• Les algorithmes de chiffrement à clé symétrique objets qu’on place dans un sac à dos ;
◦ DES (Data Encryption Standard) ◦ Le poids des objets utilisés pour le chiffrement est rendu public ainsi
◦ AES (Advanced Encryption Standard) que la liste de tous les objets possibles ; la liste des objets placés dans
◦ Modes de chiffrement le sac à dos est gardée secrète ;
◦ Cryptanalyse ◦ L’inventeur de cet algorithme R. Merkle, était tellement sûr que son
• Les algorithmes de chiffrement à clé publique algorithme ne pouvait être cassé qu’il offrit une récompense de 100$ à
◦ RSA (Rivest, Shamir et Adelman) quiconque y parviendrait ;
◦ Autres algorithmes à clé publique ◦ A. Shamir le cassa rapidement ;
◦ R. Merkle renforça son algorithme et porta le montant de la
récompense à 1000$ ;
◦ R. Rivest cassa rapidement le nouveau algorithme ;
• L’algorithme du sac à dos n’est pas considéré comme sûr et n’est
jamais utilisé en pratique ;
mohamed.koubaa@enit.rnu.tn C&C - PI 90 mohamed.koubaa@enit.rnu.tn C&C - PI 91
Introduction RSA (Rivest, Shamir et Adelman)
Les algorithmes de chiffrement à clé symétrique Rabin
Les algorithmes de chiffrement à clé publique Autres algorithmes à clé publique)

Les différentes catégories d’algorithmes de


chiffrement à clé publique

• Les principales catégories


◦ Celles qui se fondent sur la difficulté de factoriser de grands nombres ;
◦ Celles qui calculent des logarithmes discrets modulo un grand nombre
premier ;
◦ Celles qui reposent sur des courbes elliptiques ;
• Ces problèmes sont considérés comme nativement difficiles à
résoudre car les mathématiciens s’y sont cassés les dents ;

mohamed.koubaa@enit.rnu.tn C&C - PI 92

Vous aimerez peut-être aussi