Académique Documents
Professionnel Documents
Culture Documents
1
Terminologie
• Cryptologie: Branche de l'informatique théorique qui
s’intéresse à la transmission secrête des données
2
Notion de base- Définitions
• Cryptosystèmes : Mécanismes assurant les services requis
• Cryptographie : Art de concevoir des cryptosystèmes
• Cryptanalyses : Art de casser des cryptosystèmes
• Cryptologie : Science qui étudie les deux arts précédents.
• Chiffrement : Le chiffrement consiste à transformer une donnée
(texte, message, ...) an de la rendre incompréhensible par une
personne autre que celui qui a créé le message et celui qui en est le
destinataire.
• Déchiffrement : La fonction permettant de retrouver le texte clair à
partir du texte chiffré.
Steganographie : cacher le message pour que l’ennemi ne le trouve
pas.
3
Domaines inclus dans la cryptologie
4
Historique
• Jules César(Rome, 100-44 avant J.-C.)
Employait une substitution simple avec l’alphabet normal (il s’agissait
simplement de décaler les lettres de l’alphabet d’une quantité fixe) dans
les communications du gouvernement
• Arthur Scherbius(Allemagne)
Fait breveter sa machine à chiffrer Enigma
5
RSA
• Ron Rivest, Adi Shamir et Leonard Adleman( 1977)
L’algorithme RSA basé sur la difficulté de factoriser un nombre n en deux
nombres premiers p et q. Il utilise les notions de théorie des nombres. Il
existe encore a nos jours.
6
ENIGMA
La première version d’ENIGMA était utilisée comme suit.
10
Les menaces actives
Appartiennent principalement à quatre catégories
• Interruption : problème lié à la disponibilité des
données
• Interception :problème lié à la confidentialité des
données
• Modification : problème lié à intégrité des
données
• Fabrication : problème lié à authenticité des
données
11
Les menaces actives (figure)
12
Rappel : objectifs de la sécurité
13
Formalisation
14
Algorithme cryptographique
• Paire de fonctions utilisées pour le chiffrement et le
déchiffrement.
• Algorithme restreint: l'algorithme est secret
– Cela n'est plus utilisé
– La conception d'un tel algorithme nécessite un expert
– On ne peut utiliser d'algorithmes commerciaux
– Différents algorithmes pour différents utilisateurs.
15
Clef cryptographique
• Valeur K provenant d'un grand ensemble de valeurs possibles
(espace des clefs).
16
Clef cryptographique
K1 K2
M C M
Chiffrement Déchiffrement
17
Deux types d'algorithmes
• Algorithmes à clef secrète
– K1 peut être calculé à partir K2 et vice versa.
– On a souvent K1=K2
– K1 et K2 doivent être secrètes
18
Algorithmes à clef secrète
– Exemple: Chaque caractère du message est remplacé par celui qui se trouve K
places plus loin (modulo 26)
• Code de Jules César: K=3
19
Chiffrement/ clef secrète
Une des principales méthodes pour assurer la
confidentialité des données est le chiffrement.
20
Chiffres symétriques
Un chiffre est appelé symétrique si la clé de chiffrement
est la même que celle pour le déchiffrement.
21
Algorithme à clef secrète
• Chiffre à transposition: Les caractères du message sont
inchangés mais leur position est modifiée.
– Exemple (transposition simple en colonne):
LASSASSIN
ESTLEDOCT
EURMATRIX
REGARDEZD
ERRIERELH
ORLOGE
22
Substitution++
Différentes techniques peuvent être utilisées pour rendre le
chiffrement par substitution plus sécuritaire tout en gardant
une clef de taille raisonnable.
etc.… 23
Marie Stuart
En 1586, Marie Stuart, reine d’Écosse fut
jugée en Angleterre.
24
Code de Marie Stuart
25
Marie Stuart
Gifford transmettait secrètement les lettres de Marie
mais c’était en fait un agent double et il transmettait
aussi les lettres au services de renseignement de la
Reine qui réussirent a briser le code utilisé par Marie.
ALAIN=1,12,1,9,14
ALAINALAINALAINALAINALAINALAINALAINALAINA
LE_CODE_DE_VIGENERE_EST_IL_INDECHIFFRABLE
MQALBEQAMSAGJPSOQSNNFDUIWMLJWRFOIRTGCBKZF
28
Masque jetable
Peut-on avoir un cryptosystème ayant une
confidentialité absolue et qui soit impossible à briser?
• Clef privée K2
• DK2(EK1(M)) = EK1(DK2(M)) = M
33
Cryptographie à clef publique
Privé!
Privé!
Privé!
34
Comment cela fonctionne?
• Chaque utilisateur doit posséder une clef publique et
une clef privée.
35
Arithmétique modulaire
x y(mod n) ssi x kn y avec y n
27 3 * 7 6 alors 27 6(mod 7)
x(mod n) y(mod n) x y(mod n)
9 11 20 6(mod 7) et
9(mod 7) 11(mod 7) 2 4 6(mod 7)
x 8
x
2
2 2
donc pour calculer x (2k )
(mod n)
38
Inverse multiplicatif
a 1 mod m avec PGCD( a, m) 1
(m, a,1, 0)
(a, b, c, d ) (b, a mod b, d c(a div b) mod m, c)
si b 1 alors répondre c
51 8 mod13 7 1 19 mod 22
(13,5,1, 0) (22, 7,1, 0)
(5,3, 0 1*(2) mod13,1) (5,3,11,1) (7,1, 0 1*(3) mod 22,1) (7,1,19,1)
(3, 2,1 11*(1) mod13,11) (3, 2,3,11) 7 *19 133 6* 22 1 1mod 22
(2,1,11 3*(1) mod13,3) (2,1,8,3)
5*8 40 1mod13
40
Exemple : RSA
(Rivest, Shamir et Adleman 1978)
41
Étape 1
Comment trouver un nombre premier aléatoire:
42
Étape 2
43
Étape 3
On veut un entier e impair et relativement premier à (n).
Euclide(a,b)
si b=0 alors retourner a
sinon retourner Euclide(b,a mod b)
44
Étape 4
Nous avons besoin de l'algorithme d'Euclide étendu qui permet de trouver trois
valeurs entières (d,x,y) tels que:
t = PGCD(a,b) = ax + by
Euclide_étendu(a,b)
si b=0 alors retourner (a,1,0)
sinon
(t',x',y') = Euclide_étendu(b,a mod b)
retourner (t,x,y) = (t',y',x'- a/b y')
On a donc
1 = PGCD(e, (n)) = ex + (n) y
Ce qui implique
ex mod (n) = 1
46
Pourquoi cela fonctionne-t-il?
Si M mod p = 0 alors Med mod p = M mod p=0
Sinon
47
Pourquoi cela fonctionne-t-il?
Theorème du reste chinois:
Soit p1, p2, ..., pk des nombres relativement premiers.
Alors le système d'équations
x = ai mod pi (1i k )
Possède une solution unique modulo n=p1p2...pk
Corollaire:
On a
b = a mod p et
b = a mod q
si et seulement si
b = a mod n
48
Pourquoi cela fonctionne-t-il?
Med mod p = M
Med mod q = M
Med mod n = M
49
Utilisation de RSA
• Puisque
D(E(M)) = M mod n
alors on doit avoir M<n
50
Exemple d'utilisation de RSA
• Prenons p=47 et q=71
51
Exemple d'utilisation de RSA
52
Signature numérique
Nous avons vu que Bechir pouvait signer un message M en utilisant sa clef
privée pour calculer S = D(M) et envoyer (M,S).
En général, M est trop grand pour que ce calcul puisse être effectué de
manière efficace et on veut une signature qui ne soit pas trop longue.
53
Fonction de hachage à sens unique
En pratique, on ne signe pas le message lui-même mais plutôt une empreinte
digitale obtenue à l'aide d'une fonction de hachage h satisfaisant les
propriétés suivantes:
54
Conséquences
• Casser ce type de cryptage est très très très très très long,
exponentiel en la taille de la clés
• Exemple (taille de la clés, temps logarithmique) :
– (512 bits, 58)
– (1024 bits, 80)
– (2048 bits, 111)
– (4096 bits, 149)
– (8192 bits, 156)
• Environ 2^60 ans pour une clés de 1024 bits soit environ
11529215046 milliards d’années
55/47
Questions générales :
• 1-Quels sont les éléments généraux présents
dans tous les algorithmes déchiffrement
asymétriques ?
• 2-Pour quelles usages utilisent on la
cryptographie symétrique ? Asymétrique ?
• 3-Quels sont les avantages/ inconvénients de
la cryptographie asymétrique par rapport à la
symétrique ?
56
Questions générales (suite)
4-Qu'est ce qu'un chiffrement probabiliste ?
Dans quel cas cela est important ?
57
Exemple-0
• Le mode ECB (Electronic Code Book)
Déterminer deux fonctions une pour le
chiffrement et l’autre pour déchiffrement.
Quel est le problème de ce mode ? Proposez
une solution pour ce problème ? Soient M =
101100010100101 message en clair et une clé
K = (1->2, 2->3, 3-> 4, 4->1) par permutation.
Chiffrez le message M.
58
Exemple -1
• Fabrication des clés par RSA L’utilisateur A choisit les
facteurs premiers p = 11 et q = 23. Trouvez n, e et d.
59
Exercice-1
• Bob utilise le protocole RSA et publie sa clé
publique N = 187 et e = 3.
1. Encoder le message m = 15 avec la clé
publique de Bob.
2. En utilisant le fait que ϕ(N) = 160, retrouver
la factorisation de N, puis la clé privée de Bob.
60
Exercice-2
• Effectuer le chiffrement et le déchiffrement en
utilisant l’algorithme RSA pour les valeurs
suivantes: Les deux nombres premiers p = 3 et
q = 11 e = 7 Le message M = 5
61