3. Position du problème:
Tout système d’informations est vulnérable : il existe
donc un besoin de protéger des informations digitales dans
un environnement distribué, souvent accessible et sans
frontière matérielle.
Cryptographie:
L'art et la science de garder le secret des messages, Le
terme « cryptographie » vient en effet des mots grecs
anciens : kruptos qu’on peut traduire comme secret ou
caché; et graphein pour écriture.
4. I. l'Antiquité:
Le plus vieux document chiffre date du XVIe siècle avant J. C.
Chiffre de Atbash: (Ve siècle avant J.C.)
premières techniques de chiffrement par les Hébreux.
Scytale: (487 avant J.C.)
un bâton autour duquel une bande longue et
mince de cuir était enveloppée et sur laquelle
on écrivait le message.
Chiffre de César: (100-44 av J.C.)
utilisait un chiffrement par décalage, chaque lettre est remplacée
par la lettre décalée de k dans l'alphabet.
Al-Kindi: (9e siècle)
rédige le plus ancien texte connu
décrivant la technique de décryptement,
analyse des fréquences.
5. II. Moyen Âge:
Chiffre d’Alberti: (1466 par Léon Battista Alberti)
le premier exemple de chiffre poly alphabétique, Il repose sur
l'utilisation d'un « Cadran Chiffrant »
Chiffre de Vigenère: (1585)
est une amélioration décisive du chiffre de César.
Sa force réside dans l'utilisation non pas d'un, mais
de 26 alphabets décalés pour chiffrer un message.
On peut résumer ces décalages avec un carré de Vigenère.
III. La cryptologie moderne: (1970 )
Lucifer: (1970)
qui inspira plus tard le chiffre DES
Whitfield Diffie/Hellman: (1976)
introduisant l'idée de cryptographie
à clef publique.
RSA: (1978)
PGP: (1991)
6. Le système de chiffrement RSA a été inventé par trois
mathématiciens : Ron Rivest, Adi Shamir et Len Adleman, en 1977
(On retrouve le sigle RSA dans les noms des inventeurs).
Voici une photo des trois
7. Les systèmes Asymétriques utilisent deux clés. Une pour chiffrer et
une autre pour déchiffrer on appelle Clé Publique la clé servant à
chiffrer et Clé Privée la clé servant à déchiffrer.
le système RSA ne nécessite pas de transfert de clé entre
l'expéditeur et le destinataire. C'est un point de sécurité qui n'est
nullement négligeable puisqu'ainsi personne d'autres que les
concernés ne peuvent comprendre le message chiffré.
8. Exemple:
Alice et Bob possèdent tout deux une clé publique
et une clé privée.
Comment Bob fait-il pour envoyer un message
chiffré à Alice ?
Bob va donc aller sur un annuaire et prendre la clé publique
d'Alice. Une fois qu'il la possède, il chiffre le message qu'il veut
envoyer à Alice, puis le lui envoie.
Comment Alice déchiffre-t-elle le message
reçu ?
Alice vient de recevoir le message chiffré de Bob, grâce à sa
clé privée (qu'elle seule possède), elle peut déchiffrer et lire le
message que Bob a envoyé.
Bo
b
Alic
e
9. 1/ Création de la clé publique:Pour créer notre clé publique il nous faut choisir deux nombres
premiers.
Soit P et Q, ces deux nombres premiers.
Je prends p = 53 et q = 97
Ensuite, on va prendre un autre nombre, N, tel que : n=pq
Dans mon cas, j'ai n = 53 x 97 = 5141
On pose φ(n) (indicatrice d‘Euler), φ(n)=(P−1)×(Q−1), (n et φ(n)
sont des nombres premiers entre eux ) , J'obtiens , φ(n) = (53 - 1) x
(97 - 1) = 4992
On choisir un nombre E, qui soit premier avec φ(n)
(Il en existe, là aussi, une infinité.) Je choisis e = 7
Notre clé publique est composée de (N, E).
Dans mon cas, j'ai (N = 5141, E = 7) comme clé
publique.
10. 2/ Création de la clé privée:
On va calculer un nombre D, qui va nous permettre d'inverser la
fonction de chiffrement
calculer l'entier naturel D, l’inverse de e modulo φ(n), et strictement
inférieur à φ(n).
Nous allons chercher D, tel que E×D+φ(n)×V=1, d’aprés l’égalité de
Bézout
D, peut se calculer efficacement par l'algorithme d'Euclide étendu
Je retiens D = 4279
notre clé privée est composée de (D, N).
J'ai (D = 4279 et N = 5141) comme clé
privée
11. En réalité, P et Q sont des nombres composés d'une bonne centaine
de chiffres, ce qui fait qu'il est très difficile de décomposer N pour
retrouver P et Q. Même des machines surpuissantes reliées entre elles
ne pourraient pas casser N en un temps raisonnable.
Quelques exemples de vrais facteurs:
qui est décomposable en :
(Il a fallut faire travailler 80 processeurs Opteron de 2.2GHz pendant 5
mois. pour trouver P et Q)
Remarque:
12. 1/ Le Chiffrage:
On va reprendre nos deux camarades, Alice et Bob. La situation est toujou
la même, Bob veut envoyer un message chiffré à Alice. Il va donc récupére
sa clé publique. Dans l'annuaire, il voit :
Personne Clé publique
... (N, C)
Jean (N = 187, C = 3)
Alice (N= 5141, C = 7)
Lucie (N= 4183, C = 19)
Il prend la clé publique d'Alice : (N = 5141, E = 7)
Remplacement des caractères par leurs valeurs ASCII
Calcul de la puissance: on va élever chaque nombre à la puissance
E
Calculer le modulo: On va calculer le modulo du résultat obtenu
13. Exemple:
Bob veut envoyer le message "Bonjour" à Alice. On a vu
précédemment, qu'on devait travailler avec des nombres. On se réfère
à la table ASCII, et on effectue le remplacement.
B o n j o u r
66 111 110 106 111 117 114
On utilise la fonction de chiffrage: f(x)=xemod(N)
• B=66, f(66)=(66)7mod(5141)=386
• o=111, f(111)=1858
• n=110, f(110)=2127
• j=106, f(106)=2809
• o=111, f(111)=1858
• u=117, f(117)=1774
• r=114, f(114)=737
le message « Bonjour » devient " 386 1858 2127 2809 1858 1774
737 "
14. 2/ Le Déchiffrage:
Alice vient de recevoir un message de Bob, le message est : 386 1858
2127 2809 1858 1774 737
Alice vient d’utilisé son clé privée (N=5141, D=4279) pour déchiffrer le
message, utilise la fonction suivant: f(x)=xdmod(N)
• f(386)=(386)4279mod(5141)=66
• f(1858)=111
• f(2127)=110
• f(2809)=106
• f(1858)=111
• f(1774)=117
• f(737)=114
• et effectuer les remplacements nécessaires grâce a le tableau ASCII,
nous venons de reconstituer le message envoyé par Bob : "Bonjour"
15. Plusieurs attaques ont été proposées pour casser le chiffrement
RSA
Attaque de Wiener:
L'attaque de Wiener (1989) est exploitable si l'exposant secret d
est inférieur à N1/4. On peut retrouver dans ce cas l'exposant secret à
l'aide du développement en fractions continues de e/N
Attaque de Håstad:
L'attaque de Håstad, l'une des premières attaques découvertes
(en 1985), repose sur la possibilité que l'exposant public e soit
suffisamment petit. En interceptant le même message envoyé à
plusieurs destinataires différents, il est possible de retrouver le
message originel à l'aide du théorème des restes chinois
16. La Compétition de Factorisation RSA est un concours financé par
les Laboratoires RSA au cours duquel d'importants prix sont décernés
aux informaticiens capables de factoriser certains nombres
particulièrement importants. Pour parvenir à connaître le statut des
systèmes de factorisation, il faut savoir quelle longueur de clé va être
nécessaire pour garantir la sécurité du système RSA.
La Compétition de Factorisation RSA:
Compétition Prix Statut Date de factorisation Par
RSA-576 USD 10 000 Factoris
é
3 décembre 2003 J. Franke et al.
RSA-640 USD 20 000 Factoris
é
2 novembre 2005 F. Bahr et al.
RSA-704 USD 30 000 Annulé - -
RSA-768 USD 50 000 Factoris
é
15 janvier 2010 Divers
organismes
RSA-896 USD 75 000 Annulé - -
RSA-1024 USD 100 000 Annulé - -
17. En théorie, le cryptosystème RSA n'est pas inviolable, il "suffit
juste" de factoriser n en produit de facteurs premiers. Cependant la
puissance actuelle des supercalculateurs ne permet pas de réaliser
ce travail à une échelle de temps raisonnable à partir du moment où n
dépasse 150 chiffres.. A partir de là, le RSA se révèle pour l'instant
comme incassable.
Peut-on alors affirmer à partir de là que le RSA a un long futur
devant lui ?
tant que l'on ne trouvera pas un algorithme permettant de
factoriser en un temps raisonnable. Dans ces cas là il faudra trouver
une autre méthode.
Ainsi, malgré quelques inconvénients (mémoire utilisée, puissance
nécessaire, ...), le RSA est un cryptosystème proche de la perfection.
18. Les nombres premiers
1-Nombres premiers et nombres composés ??
Un nombre entier est dit premier si ce dernier ne peut être divisé que
par (1 et lui-même).
Exemple: (2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, ..., 227)
Un nombre entier est dit composé lorsqu'il ne rentre pas dans la
catégorie des nombres premiers.
Exemple: (12=3.2²), (21=7.3), (36=3².2²)
2-Nombres premiers entre eux ??
Deux nombres entiers sont premiers entre eux si leur PGCD vaut 1.
Exemple: (4, 9) , (14, 25), (15, 32)
I
19. Divisions successives:
il suffit de tester tous les nombres de 2 à √n seulement, puisque si
n=pq alors soit p≤√n soit q≤√n
Test de Lucas-Lehmer:
Soit (Mp = 2p− 1) le nombre de Mersenne à tester, Mp premier ssi:
S(p-1) ≡ 0 mod(Mp) et { s(1)=4 ,
s(n+1)=s(n)²-2
3-Comment trouver des nombres premiers ??
Crible d'Eratosthène:
il s'agit de supprimer d'une table des entiers de
2 à N tous les multiples d'un entier. En
supprimant tous les multiples, à la fin il ne
restera que les entiers qui ne sont multiples
d'aucun entier, et qui sont donc les nombres
premiers.
II
20. 4-Le plus grand nombre premier découvert ??
Un chercheur américain de l'université du Missouri, Curtis Cooper,
rapporte justement la découverte du plus grand nombre premier jamais
identifié. La «bête» fait plus de 17 millions de chiffres, 17.425.170
précisément. Cela correspond à un fichier texte de 22Mo, Comptez
environ 4000 feuilles A4 si vous souhaitez l'imprimer avec une taille de
police classique.
2
(57885161)
-1
III
21. Indicatrice d'Euler
Leonhard Euler
(1707 _ 1783)
Définition:
φ(n) est la quantité de nombres premiers
avec n, qui sont inférieurs à n.
Exemple:
n Premier avec n φ(n)
1 1 1
2 1 1
3 1, 2 2
4 1, 3 2
5 1, 2, 3, 4 4
6 1, 5 2
7 1, 2, 3, 4, 5, 6 6
8 1, 3, 5, 7 4
9 1, 2, 4, 5, 7, 8 6
10 1, 3, 7, 9 4 IV
22. l’égalité de Bézout
ax + by = pgcd(a, b)
Si les entiers relatifs a et b sont premiers entre eux, Le théorème de
Bézout affirme que l'équation
ax + by = 1
V
L'algorithme d'Euclide étendu
Est une variante de l'algorithme d'Euclide qui permet, à partir de
deux entiers a et b, de calculer non seulement leur (PGCD), mais aussi
un de leurs couples de coefficients de Bézout
Exemple: pgcd (120, 23) = 1, donc: 120(x) + 23(y) = 1
r a(x) + b(y)
5 = 120-5.23 = 120(1) + 23(-5)
3 = 23-4.5 = 23 – 4.(120(1) + 23(-5)) = 120(-4) + 23(21)
2 = 5-1.3 = (120(1) + 23(-5)) – 1.(120(-4) + 23(21)) = 120(5) + 23(-26)
1 = 3-1.2 = (120(-4) + 23(21)) – 1.(120(5) + 23(-26)) = 120(-9) + 23(47)