Année Universitaire 2012-2013 Cryptosystèmes à clé Publique
Cryptosystèmes à clé Publique Cryptosystème à clé secrète = famille de fonction f qui agit
Cryptosystèmes à clé Publique Cryptosystème à clé secrète = famille de fonction f qui agit message élémentaires P > messages cyptés C,
Cryptosystèmes à clé Publique Cryptosystème à clé secrète = famille de fonction f qui agit message élémentaires P > messages cyptés C, Aussi facile de crypter que de décrypter ; Principales qualités d un Cryptosystèmes à clé Publique f connue et presque impossible de calculer f 1 Une telle fonction f s appelle une fonction à sens unique.
Cryptosystèmes à clé Publique Cryptosystème à clé secrète = famille de fonction f qui agit message élémentaires P > messages cyptés C, Aussi facile de crypter que de décrypter ; Principales qualités d un Cryptosystèmes à clé Publique f connue et presque impossible de calculer f 1 Une telle fonction f s appelle une fonction à sens unique. presque impossible, tout est relatif...
Cryptosystèmes à clé Publique Cryptosystème à clé secrète = famille de fonction f qui agit message élémentaires P > messages cyptés C, Aussi facile de crypter que de décrypter ; Principales qualités d un Cryptosystèmes à clé Publique f connue et presque impossible de calculer f 1 Une telle fonction f s appelle une fonction à sens unique. presque impossible, tout est relatif... pas de résultat mathématique pour l instant
Cryptosystèmes à clé Publique : le principe Alice et Bob veulent échanger un message A choisit une fonction f A
Cryptosystèmes à clé Publique : le principe Alice et Bob veulent échanger un message A choisit une fonction f A calcule f 1 A. Alice publie f A publique. Bob envoie à Alice f A (M). Alice est la seule au monde à pouvoir calculer f 1 A f A(M) = M.
Cryptosystèmes à clé Publique : le principe Alice et Bob veulent échanger un message A choisit une fonction f A calcule f 1 A. Alice publie f A publique. Bob envoie à Alice f A (M). Alice est la seule au monde à pouvoir calculer f 1 A f A(M) = M. Eve intercepte le message f A (M) Elle ne sait pas calculer f 1 A même si f A publique.
Ces méthodes impliquent une exponentiation
Ces méthodes impliquent une exponentiation le procédé de cryptographie à clé publique beaucoup plus lent que les procédés de cryptographie à clé secrète.
Ces méthodes impliquent une exponentiation le procédé de cryptographie à clé publique beaucoup plus lent que les procédés de cryptographie à clé secrète. Compromis : PGP pour Pretty Good Privacy : Echange de clé >
Ces méthodes impliquent une exponentiation le procédé de cryptographie à clé publique beaucoup plus lent que les procédés de cryptographie à clé secrète. Compromis : PGP pour Pretty Good Privacy : Echange de clé > le cryptosystème à clé publique Cryptage du message >
Ces méthodes impliquent une exponentiation le procédé de cryptographie à clé publique beaucoup plus lent que les procédés de cryptographie à clé secrète. Compromis : PGP pour Pretty Good Privacy : Echange de clé > le cryptosystème à clé publique Cryptage du message > un système de type one time pad à la Vigenère.
via la clé publique Bob veut être sûr que le message reçu vient bien d Alice avant d en accepter le contenu, Envoi d un message de contrôle f A (MC)
via la clé publique Bob veut être sûr que le message reçu vient bien d Alice avant d en accepter le contenu, Envoi d un message de contrôle f A (MC) Alice lui renvoie MC
via la clé publique Bob veut être sûr que le message reçu vient bien d Alice avant d en accepter le contenu, Envoi d un message de contrôle f A (MC) Alice lui renvoie MC Seule au monde à pouvoir lui renvoyer.
via la clé publique Bob veut être sûr que le message reçu vient bien d Alice avant d en accepter le contenu, Envoi d un message de contrôle f A (MC) Alice lui renvoie MC Seule au monde à pouvoir lui renvoyer. Procédure en cours des Cartes Bleues.
via la clé publique Bob veut être sûr que le message reçu vient bien d Alice avant d en accepter le contenu, Envoi d un message de contrôle f A (MC) Alice lui renvoie MC Seule au monde à pouvoir lui renvoyer. Procédure en cours des Cartes Bleues. aléatoire
Signature systématique Alice veut envoyer le message M suivi de sa signature S elle envoie le message f B (M) suivi de f B f 1 A (S). Bob décrypte : d abord f 1 B f Bf 1 1 (S) = f (S) puis A A
Signature systématique Alice veut envoyer le message M suivi de sa signature S elle envoie le message f B (M) suivi de f B f 1 A (S). Bob décrypte : d abord f 1 B f A (f 1 A )(S) = S f Bf 1 1 (S) = f (S) puis A A
Signature systématique Alice veut envoyer le message M suivi de sa signature S elle envoie le message f B (M) suivi de f B f 1 A (S). Bob décrypte : d abord f 1 B f Bf 1 1 (S) = f (S) puis A f A (f 1 A )(S) = S Le message vient d Alice. A
Signature systématique Alice veut envoyer le message M suivi de sa signature S elle envoie le message f B (M) suivi de f B f 1 A (S). Bob décrypte : d abord f 1 B f Bf 1 1 (S) = f (S) puis A A f A (f 1 A )(S) = S Le message vient d Alice. Mais bien sûr le faire de façon systématique ralentirait le procédé.. D où l idée de faire cela aléatoirement!
Un retour sur le cours d arithmétique Dans cette partie, on rappelle les principaux résultats vu dans le cours d arithmétique utiles pour la méthode RSA. Définition On appelle Indicatrice d Euler la fonction ϕ définie sur N à valeurs dans N par ϕ(1) = 1 d une part et d autre part ϕ(n) = Card {k, 1 k n tels que (k, n) = 1}. Proposition 1)a) La classe d équivalence ā est inversible dans Z/nZ si et seulement si (a, m) = 1. b) l ensemble U(Z/nZ) des éléments inversibles de l anneau Z/nZ est : U(Z/nZ) = { k tels que k et n sont premiers entre eux }. 2) Card(U(Z/nZ))=ϕ(n).
Fermat-Euler On obtient le Théorème d Euler et de Fermat dans le cas où le cardinal n est un nombre premier p Théorème ( (Théorèmes d Euler et de Fermat) Soit n un nombre entier n 2 Pour tout a Z, premier avec n, a ϕ(n) 1[n]. Corrolaire Petit Théorème de Fermat Soit p un nombre premier a) Pour tout a Z, tel que p ne divise pas a, a p 1 1[p]. b) Pour tout a Z, a p a[p].
Théorème Chinois Théorème Si (m, n) = 1, étant donnés a, b et n des entiers relatifs, le système de congruence : (S) { x a [n] x b [n] admet une unique solution modulo n Si (m, n) = 1, les anneaux (Z/mnZ, +, ) et (Z/mZ, +, ) (Z/nZ, +, ) sont isomorphes.
Théorème Chinois Théorème Généralisation Soient m 1,... m r des entiers naturels non nuls et tels que si i j, (m i, m j ) = 1 ( les m i sont deux à deux premiers entre eux). Si on pose M = m 1... m r, on a : a) Etant donnés a 1,..., a r entiers relatifs, le système de congruence : (S) { x a 1 [m 1 ] x a 2 [m 2 ].. x a r [m r ] admet une unique solution modulo M b) Z/MZ Z/m 1 Z... Z/m r Z Preuve du Théorème chinois : Voir cours arithmétique ou L. Childs ou M. Demazure.
Corollaire n = p α 1 1... pα k k, on a a) U(Z/nZ) U(Z/p α 1 1 Z)... U(Z/pα k k Z) b)ϕ(p 1... p k ) = (p 1 1)(p 2 1)... (p k 1) ϕ(n) = (p 1 1)(p 2 1)... (p k 1)p α 1 1 1 p α 2 1 2... p α k 1 k ϕ(n) = n(1 1 p 1 )(1 1 p 2 )... (1 1 p k )
La méthode RSA C est totalement lié à la propriété d Euler. Alice doit procéder comme suit : A1. On choisit deux grands nombres premiers p, q
La méthode RSA C est totalement lié à la propriété d Euler. Alice doit procéder comme suit : A1. On choisit deux grands nombres premiers p, q A2. On calcule N = pq and ϕ(n) = (p 1)(q 1)
La méthode RSA C est totalement lié à la propriété d Euler. Alice doit procéder comme suit : A1. On choisit deux grands nombres premiers p, q A2. On calcule N = pq and ϕ(n) = (p 1)(q 1) A3. Trouver un nombre e tel que gcd(e, ϕ(n)) = 1
La méthode RSA C est totalement lié à la propriété d Euler. Alice doit procéder comme suit : A1. On choisit deux grands nombres premiers p, q A2. On calcule N = pq and ϕ(n) = (p 1)(q 1) A3. Trouver un nombre e tel que gcd(e, ϕ(n)) = 1 A4. PAr l algorithme d Euclide trouver d tel que ed 1 mod ϕ(n).
La méthode RSA C est totalement lié à la propriété d Euler. Alice doit procéder comme suit : A1. On choisit deux grands nombres premiers p, q A2. On calcule N = pq and ϕ(n) = (p 1)(q 1) A3. Trouver un nombre e tel que gcd(e, ϕ(n)) = 1 A4. PAr l algorithme d Euclide trouver d tel que ed 1 mod ϕ(n). A5. Publier la clé (N, e). DAns la pratique on fait [A3.] et [A4.] en même temps
La méthode, la suite Bob veut envoyer le message secret M Z/NZ à Alice. B1. Il récupère la clé (N, e) d Alice, B2. Il calcule C M e mod N où C Z/nZ, B3. Il envoie C à Alice.
La méthode, la suite Bob veut envoyer le message secret M Z/NZ à Alice. B1. Il récupère la clé (N, e) d Alice, B2. Il calcule C M e mod N où C Z/nZ, B3. Il envoie C à Alice. Pour décrypter, Alice retrouve M en élevant C à la puissance d.
La méthode, la suite Bob veut envoyer le message secret M Z/NZ à Alice. B1. Il récupère la clé (N, e) d Alice, B2. Il calcule C M e mod N où C Z/nZ, B3. Il envoie C à Alice. Pour décrypter, Alice retrouve M en élevant C à la puissance d. Preuve que cela marche. Comme ed 1 mod ϕ(n), il existe k N tel que ed = 1 + kϕ(n) = 1 + k(p 1)(q 1). Euler-Fermat, si pgcd(m, N) = 1, >
La méthode, la suite Bob veut envoyer le message secret M Z/NZ à Alice. B1. Il récupère la clé (N, e) d Alice, B2. Il calcule C M e mod N où C Z/nZ, B3. Il envoie C à Alice. Pour décrypter, Alice retrouve M en élevant C à la puissance d. Preuve que cela marche. Comme ed 1 mod ϕ(n), il existe k N tel que ed = 1 + kϕ(n) = 1 + k(p 1)(q 1). Euler-Fermat, si pgcd(m, N) = 1, > M ϕ(n) 1 mod N C d = M ed = M 1+k(p 1)(q 1) M mod N. Découper M en mot élémentaire de m chiffres, m < inf (m p, m q ),
La méthode, la suite Bob veut envoyer le message secret M Z/NZ à Alice. B1. Il récupère la clé (N, e) d Alice, B2. Il calcule C M e mod N où C Z/nZ, B3. Il envoie C à Alice. Pour décrypter, Alice retrouve M en élevant C à la puissance d. Preuve que cela marche. Comme ed 1 mod ϕ(n), il existe k N tel que ed = 1 + kϕ(n) = 1 + k(p 1)(q 1). Euler-Fermat, si pgcd(m, N) = 1, > M ϕ(n) 1 mod N C d = M ed = M 1+k(p 1)(q 1) M mod N. Découper M en mot élémentaire de m chiffres, m < inf (m p, m q ), > (M, N) = 1
Cryptosystème RSA Cryptosystème (RSA) Soit N = pq avec p, q de nombres premiers. Le système RSA est défini par : P = Z/NZ K = U(Z/ϕ(N)Z) F = {T k k K} where T k : Z/NZ Z/NZ x x k La Condition ( ) dans la définition d un cryptosystème est satisfaite car T k est T u où u est l inverse de k modulo ϕ(n).
Cryptosystème RSA Cryptosystème (RSA) Soit N = pq avec p, q de nombres premiers. Le système RSA est défini par : P = Z/NZ K = U(Z/ϕ(N)Z) F = {T k k K} where T k : Z/NZ Z/NZ x x k La Condition ( ) dans la définition d un cryptosystème est satisfaite car T k est T u où u est l inverse de k modulo ϕ(n). La clé publique est (N, e) donc N est aussi connu de tous. Chaque utilisateur posséde une clé originale : Bob choisisse et publie (N B, e B ).
Pour chaque message des puissances importantes à calculer!
Pour chaque message des puissances importantes à calculer! On utilise l exponentiation rapide
Pour chaque message des puissances importantes à calculer! On utilise l exponentiation rapide Calcul de a m : on décompose m en base 2 m = k 0 α i2 i. a m = a 2k a α k 12 k 1... a α 12 a α 0. Calcul de chaque terme a 2i+1 en calculant le carré du précédent car a 2i+1 (a 2i ) 2 [N]. 37 = 2 5 + 2 2 + 1 > calculer a 37 signifie
Pour chaque message des puissances importantes à calculer! On utilise l exponentiation rapide Calcul de a m : on décompose m en base 2 m = k 0 α i2 i. a m = a 2k a α k 12 k 1... a α 12 a α 0. Calcul de chaque terme a 2i+1 en calculant le carré du précédent car a 2i+1 (a 2i ) 2 [N]. 37 = 2 5 + 2 2 + 1 > calculer a 37 signifie 4 élévations au carré et de 3 multiplications soit 7 multiplications. Exercice Ecrire une procédure récursive pour calculer au mieux cette exponentiation rapide.
Un exemple élémentaire Soit N = 77 = 7 11. Donc ϕ(n) = 60 et si on prend e = 13 comme clé publique. L inverse de 13 modulo 60, est
Un exemple élémentaire Soit N = 77 = 7 11. Donc ϕ(n) = 60 et si on prend e = 13 comme clé publique. L inverse de 13 modulo 60, est d = 37.
Un exemple élémentaire Soit N = 77 = 7 11. Donc ϕ(n) = 60 et si on prend e = 13 comme clé publique. L inverse de 13 modulo 60, est d = 37. Message à envoyer [4, 17, 25].
Un exemple élémentaire Soit N = 77 = 7 11. Donc ϕ(n) = 60 et si on prend e = 13 comme clé publique. L inverse de 13 modulo 60, est d = 37. Message à envoyer [4, 17, 25]. 4 13 53 mod 77, 17 13 73 mod 77, 25 13 60 mod 77 le texte crypté est [53, 73, 60].
Un exemple élémentaire Soit N = 77 = 7 11. Donc ϕ(n) = 60 et si on prend e = 13 comme clé publique. L inverse de 13 modulo 60, est d = 37. Message à envoyer [4, 17, 25]. 4 13 53 mod 77, 17 13 73 mod 77, 25 13 60 mod 77 le texte crypté est [53, 73, 60]. Pour décrypter on élève à la puissance 37 53 37 4 mod 77, 73 37 17 mod 77, 60 37 25 mod 77 Voyons un exemple plus réaliste.
Alphabet A à n lettres numérotées de 0 à n 1. Blocs de k lettres et messages élémentaires codés avec des nombres inférieurs à n k. Une chaine de caractères (a 0,..., a k 1 ) avec chaque a i dans Z/nZ est encodée numériquement par : a k 1 n k 1 +... + a 1 n + a 0 {0,..., n k 1}.
Alphabet A à n lettres numérotées de 0 à n 1. Blocs de k lettres et messages élémentaires codés avec des nombres inférieurs à n k. Une chaine de caractères (a 0,..., a k 1 ) avec chaque a i dans Z/nZ est encodée numériquement par : a k 1 n k 1 +... + a 1 n + a 0 {0,..., n k 1}. Dans le cryptosystème RSA, on utilise des messages élémentaires de type entiers modulo N = pq et non n k.
Alphabet A à n lettres numérotées de 0 à n 1. Blocs de k lettres et messages élémentaires codés avec des nombres inférieurs à n k. Une chaine de caractères (a 0,..., a k 1 ) avec chaque a i dans Z/nZ est encodée numériquement par : a k 1 n k 1 +... + a 1 n + a 0 {0,..., n k 1}. Dans le cryptosystème RSA, on utilise des messages élémentaires de type entiers modulo N = pq et non n k. Ne pas utiliser le même k pour les messages en clair et ceux cryptés (les puissances donnent des grands nombres).
Alphabet A à n lettres numérotées de 0 à n 1. Blocs de k lettres et messages élémentaires codés avec des nombres inférieurs à n k. Une chaine de caractères (a 0,..., a k 1 ) avec chaque a i dans Z/nZ est encodée numériquement par : a k 1 n k 1 +... + a 1 n + a 0 {0,..., n k 1}. Dans le cryptosystème RSA, on utilise des messages élémentaires de type entiers modulo N = pq et non n k. Ne pas utiliser le même k pour les messages en clair et ceux cryptés (les puissances donnent des grands nombres). Choisissez k < l avec n k < N < n l. Bob encode le texte clair text par bloc de k lettres et Alice décode le texte crypté en utilisant des blocs de l lettres. Tout message élémentaire M est donc crypté en un entier C N et comme N < n l, C est connu comme un bloc de l lettres.
Donnons un exemple avec l alphabet standard à 26 lettres. Ici on va k = 1 and l = 2 car le nombre pris plus haut pour N vérifie 26 < 77 < 26 2.
Donnons un exemple avec l alphabet standard à 26 lettres. Ici on va k = 1 and l = 2 car le nombre pris plus haut pour N vérifie 26 < 77 < 26 2. Bob veut envoyer GARE AU GORILLE. En utilisant des blocs d une lettre et la clé publique d Alice (77, 13), cela donne[6, 0, 17, 4] suivi de [0, 20] et de [6, 14, 17, 8, 11, 11, 4]. 6 13 62 mod 77 0 13 0 mod 77 17 73 73 mod 77 4 13 53 mod 77 20 13 69 mod 77 14 13 49 mod 77... on obtient 62, 0, 73, 53 pour GARE puis 0, 69 suivi de 62, 49, 73, 50, 11, 11, 53. En base 26, cela donne 62 = (2, 10) 26, 0 = (0, 0) 26, 73 = (2, 21) 26 et 53 = (2, 1) 26 69 = (2, 17) 26, 49 = (1, 23) 26, 50 = (1, 24) 26 et aussi 11 = (0, 11) 2
et cela conduit au texte chiffré 2, 10, 0, 0, 2, 21, 2, 1 suivi de 0, 0, 2, 17 puis de... ie ckaacvcb suivi de... Pour décrypter Alice regroupe les termes par blocs de deux lettres : ckaacvcb 2, 10, 0, 0, 2, 21, 2, 1 (62, 0, 73, 53) et elle élève tout cela à la puissance 37 pour obtenir [6, 0, 17, 4].
Remark C est le cas typique où on n obtient pas tous les n l messages chiffrés possibles puisque C est nécessairement encodé par un nombre inférieur à 77. Exercice Ecrire une procédure pour encoder RSA avec p := 367, q = 37 et N := p q = 13579 votre phrase préférée ou celle-ci Il n est point de sot métier il n y a que des sottes gens. à l aide d un alphabet à 29 caractères pour gérer les caractères blanc, et é.
Le choix de p et q choisir p et q?.. Par exemple, il faut éviter de p et q trop proches ; en effet, si N = pq, et tous les deux sont impairs, on a donc N = ( p + q ) 2 ( p q ) 2 et si p et q sont proches 2 2 t = p+q 2 est voisi de la racine carrée de N tandis que t 2 N est un carré parfait petit (( p q 2 )2 = s 2 ). Donc en testant des t > N et proche de cette racine on trouve le couple (t, s) puis on factorise N... C est l idée de la factorisation à la FERMAT Par exemple, il faut se débrouiller pour que le PGCD de p 1 et de q 1 soit le plus petit possible et que p 1 et q 1 ait chacun un facteur premier très grand et différent bien sûr. Pourquoi? A cause d une propriéte bien connue
Le Lemme d Euler sans facteurs carrés Lemme Euler et les nombres sans facteurs carrés Soit n = p 1... p k un entier n > 1, sans facteur carré. Soit m un entier tel que pour tout nombre premier p qui divise n, p 1 divise m 1. Alors : a m 1 1[n] pour tout entier a tel que (a, n) = 1, a m a[n] Preuve du Lemme (22) : Soit p un diviseur premier de n et a un entier. On sait par Fermat que a p 1 0[p] ou a p 1 1[p] suivant que p divise a ou non. Mais il existe d tel que m 1 = d(p 1) donc on a aussi a m 1 0[p] ou a m 1 1[p] suivant que p divise a ou non. Donc p divise a m a et cette propriété est vraie pour chaque p i, facteur premier de n. Mais alors le Lemme de Gauss dit que n = p 1... p k divise aussi a m a. Si (a, n) = 1 alors comme n divise a(a m 1 1) divise a m 1 1 et a m 1 1[n]
Corrolaire Soit n = p 1... p k un entier > 1, sans facteur carré et r tel que ϕ(n) divise r. Alors a r 1[n] pour tout entier a tel que (a, n) = 1, a r+1 a[n]. Preuve du Corollaire (4.1) : On applique le Lemme avec m = r + 1 puisque ϕ(n) = (p 1 1)... (p k 1).
Un corrolaire 1)Soit N = pq un entier > 1, sans facteur carré et r tel que ppcm(p 1, q 1) divise r. Alors on a : a r 1[N] pour tout entier a tel que (a, N) = 1,
Un corrolaire 1)Soit N = pq un entier > 1, sans facteur carré et r tel que ppcm(p 1, q 1) divise r. Alors on a : a r 1[N] pour tout entier a tel que (a, N) = 1, Pour tout entier a, a r+1 a[n]. 2) Soit d un nombre tel que tel que ed 1[r].
Un corrolaire 1)Soit N = pq un entier > 1, sans facteur carré et r tel que ppcm(p 1, q 1) divise r. Alors on a : a r 1[N] pour tout entier a tel que (a, N) = 1, Pour tout entier a, a r+1 a[n]. 2) Soit d un nombre tel que tel que ed 1[r]. Alors pour tout entier a ed a[n] Ainsi même si on ne connait pas p, q et ϕ(n), on peut trouver d qui joue le rôle de la clé secrète d d Alice.
Un corrolaire 1)Soit N = pq un entier > 1, sans facteur carré et r tel que ppcm(p 1, q 1) divise r. Alors on a : a r 1[N] pour tout entier a tel que (a, N) = 1, Pour tout entier a, a r+1 a[n]. 2) Soit d un nombre tel que tel que ed 1[r]. Alors pour tout entier a ed a[n] Ainsi même si on ne connait pas p, q et ϕ(n), on peut trouver d qui joue le rôle de la clé secrète d d Alice. On voit donc que l on a tout intêret à ce que le ppcm(p 1, q 1) ne soit pas par ex. q 1 car sinon un multiple de q 1 permettra de décoder. D ailleurs si on possède un nombre r tel que pour tout entier a r+1 a[n], on peut s en servir pour factoriser N... ( cf + tard)
On encode l alphabet classique par les nombres de 0 à 25, 26 =blanc, 27 =., 28 =?, 29 = et les chiffres de 0 à 9 par 30, 31,..., 39 soit un alphabet à 40 caractères. Les messages élémentaires en clair sont les digrammes tandis que les messages élémentaires chiffrés sont des trigrammes ; 1) Envoyez le message à Alice ( Clé publique (N A, e A ) = (2047, 179) ) ENVOYEZ MOI 300 2) Expliquez pour le nombre de Mersenne 2047 = 2 11 1 est un mauvais choix de clé publique.
Lien ϕ(n) et p et q Le mieux est parfois l ennemi du bien Idée géniale : Prendre d assez petit,
Lien ϕ(n) et p et q Le mieux est parfois l ennemi du bien Idée géniale : Prendre d assez petit, pour diminuer le coût calcul du déchiffrement... Or e et ϕ(n) sont premiers entre eux
Lien ϕ(n) et p et q Le mieux est parfois l ennemi du bien Idée géniale : Prendre d assez petit, pour diminuer le coût calcul du déchiffrement... Or e et ϕ(n) sont premiers entre eux le théorème de Bézout dit k Z ed kϕ(n) = 1 ou Mais e ϕ(n) e N connu e ϕ(n) k d = 1 dϕ(n)
Lien ϕ(n) et p et q Le mieux est parfois l ennemi du bien Idée géniale : Prendre d assez petit, pour diminuer le coût calcul du déchiffrement... Or e et ϕ(n) sont premiers entre eux le théorème de Bézout dit k Z ed kϕ(n) = 1 ou Mais e ϕ(n) e N connu et la fraction k est irréductible d e ϕ(n) k d = 1 dϕ(n)
Lien ϕ(n) et p et q Le mieux est parfois l ennemi du bien Idée géniale : Prendre d assez petit, pour diminuer le coût calcul du déchiffrement... Or e et ϕ(n) sont premiers entre eux le théorème de Bézout dit k Z ed kϕ(n) = 1 ou Mais e ϕ(n) e N connu et la fraction k est irréductible d e ϕ(n) k d = 1 dϕ(n)
Un résultat sur l approximation par fractions continues Proposition Si x est un réel positif et p q une fraction irréductible telle que ( ) x p q 1 2q 2 Alors p q est un réduite du développement en fractions continues de x. Ainsi si jamais k d satisfait une inégalité du type (*), en cherchant les différentes réduites du développement en fractions continues de la fraction x = e N, dont les dénominateurs sont inférieurs à n, bien sûr, on trouve d et on peut déchiffrer.
Vous avez dit fractions continues ou continuées? Les fractions continuées : les meilleures approximations rationnelles On a un nombre 0 < α < 1.
Vous avez dit fractions continues ou continuées? Les fractions continuées : les meilleures approximations rationnelles On a un nombre 0 < α < 1. On définit q 1 = E( 1 α ) où E désigne la partie entière d un nombre décimal. C est l approximation par nombre entier par défaut
Vous avez dit fractions continues ou continuées? Les fractions continuées : les meilleures approximations rationnelles On a un nombre 0 < α < 1. On définit q 1 = E( 1 α ) où E désigne la partie entière d un nombre décimal. C est l approximation par nombre entier par défaut Donc 0 < α 1 = 1 α q 1 < 1
Vous avez dit fractions continues ou continuées? Les fractions continuées : les meilleures approximations rationnelles On a un nombre 0 < α < 1. On définit q 1 = E( 1 α ) où E désigne la partie entière d un nombre décimal. C est l approximation par nombre entier par défaut Donc 0 < α 1 = 1 α q 1 < 1 On définit q 2 = E( 1 α 1 ).
Vous avez dit fractions continues ou continuées? Les fractions continuées : les meilleures approximations rationnelles On a un nombre 0 < α < 1. On définit q 1 = E( 1 α ) où E désigne la partie entière d un nombre décimal. C est l approximation par nombre entier par défaut Donc 0 < α 1 = 1 α q 1 < 1 On définit q 2 = E( 1 α 1 ). Donc 0 < α 2 = 1 α 1 q 2 < 1
Vous avez dit fractions continues ou continuées? Les fractions continuées : les meilleures approximations rationnelles On a un nombre 0 < α < 1. On définit q 1 = E( 1 α ) où E désigne la partie entière d un nombre décimal. C est l approximation par nombre entier par défaut Donc 0 < α 1 = 1 α q 1 < 1 On définit q 2 = E( 1 α ). Donc 0 < α 2 = 1 α 1 q 2 < 1 On définit q i = E( 1 α i 1 ).
Vous avez dit fractions continues ou continuées? Les fractions continuées : les meilleures approximations rationnelles On a un nombre 0 < α < 1. On définit q 1 = E( 1 α ) où E désigne la partie entière d un nombre décimal. C est l approximation par nombre entier par défaut Donc 0 < α 1 = 1 α q 1 < 1 On définit q 2 = E( 1 α ). Donc 0 < α 2 = 1 α 1 q 2 < 1 On définit q i = E( 1 α i 1 ). Donc 0 < α i = 1 α i 1 q i < 1 Finalement en réécrivant les différentes définitions des α i : α = 1 q 1 + α 1 =
Vous avez dit fractions continues ou continuées? Les fractions continuées : les meilleures approximations rationnelles On a un nombre 0 < α < 1. On définit q 1 = E( 1 α ) où E désigne la partie entière d un nombre décimal. C est l approximation par nombre entier par défaut Donc 0 < α 1 = 1 α q 1 < 1 On définit q 2 = E( 1 α ). Donc 0 < α 2 = 1 α 1 q 2 < 1 On définit q i = E( 1 α i 1 ). Donc 0 < α i = 1 α i 1 q i < 1 Finalement en réécrivant les différentes définitions des α i : α = 1 q 1 + α 1 = 1 q 1 + 1 q 2 +α 2 =
Vous avez dit fractions continues ou continuées? Les fractions continuées : les meilleures approximations rationnelles On a un nombre 0 < α < 1. On définit q 1 = E( 1 α ) où E désigne la partie entière d un nombre décimal. C est l approximation par nombre entier par défaut Donc 0 < α 1 = 1 α q 1 < 1 On définit q 2 = E( 1 α ). Donc 0 < α 2 = 1 α 1 q 2 < 1 On définit q i = E( 1 α i 1 ). Donc 0 < α i = 1 α i 1 q i < 1 Finalement en réécrivant les différentes définitions des α i : α = 1 q 1 + α 1 = 1 q 1 + 1 q 2 +α 2 = 1 q 1 + 1 q 2 + 1 q 3 +... Cette expression s appelle une fraction continue (continuée) de α.
Euler ( Bâle1707-St Pétersbourg1783
Euler ( Bâle1707-St Pétersbourg1783 Un mathématicien suisse prolifique Bac à 15 ans, Maîtrise en mathématiques à 17 ans Etudes Universitaires à Bâle (directeur : Jean Bernoulli) En 1727, il quitte Bâle pour St Pétersbourg à 33 ans, déjà 80 traités divers
Euler ( Bâle1707-St Pétersbourg1783 Un mathématicien suisse prolifique Aperçu de ses contributions en mathématiques : -Concept de fonctions -Convergence des séries : 1 1 2 + 1 2 2 + 1 3 2 + 1 4 2 +... 1 n 2 +... = π2 6 - Résolution des Equations différentielles par des méthodes approchées (Analyse numérique) Théorie des nombres : prolonge le travail de P. de Fermat Il résoud la conjecture de Fermat pour n = 3, 4
Euler Le résultat sur les fractions continuées α = 1 q 1 + α 1 = 1 q 1 + 1 q 2 +α 2 = Si on néglige α 3, α u 3 v 3 = Si on néglige α 4, α u 4 v 4 = 1 q 1 + 1 q 2 + 1 q 3 +... 1 q 1 + 1 q 2 + 1 q 3 1... 1 q 1 + q 2 + 1 q 3 + q 1 4 = 1 q 1 + 1 q 2 + 1 q 3 + q 1 4 +α 4
Euler Le résultat sur les fractions continuées α = 1 q 1 + α 1 = 1 q 1 + 1 q 2 +α 2 = Si on néglige α 3, α u 3 v 3 = Si on néglige α 4, α u 4 v 4 = 1 q 1 + 1 q 2 + 1 q 3 +... 1 q 1 + 1 q 2 + 1 q 3 1... 1 q 1 + q 2 + 1 q 3 + q 1 4 = 1 q 1 + 1 q 2 + 1 q 3 + q 1 4 +α 4 Proposition Parmi toutes les approximations de α dont le dénominateur est inférieur à v n, la fraction la plus proche du nombre α est un v n.
Inégalité ( ) x p q 1 2q 2 si x = e N, p q = k d Quand a-t-on une telle propriété?
Inégalité ( ) x p q 1 2q 2 si x = e N, p q = k d Quand a-t-on une telle propriété? quand d est par trop petit...en effet : e N k d = ed kϕ(n) + k(ϕ(n) N) = 1 + k(ϕ(n) N) Nd Nd
Inégalité ( ) x p q 1 2q 2 si x = e N, p q = k d Quand a-t-on une telle propriété? quand d est par trop petit...en effet : e N k d = ed kϕ(n) + k(ϕ(n) N) = 1 + k(ϕ(n) N) Nd Nd donc e N k k(p + q) (p + q) d Nd N
Inégalité ( ) x p q 1 2q 2 si x = e N, p q = k d Quand a-t-on une telle propriété? quand d est par trop petit...en effet : e N k d = ed kϕ(n) + k(ϕ(n) N) = 1 + k(ϕ(n) N) Nd Nd donc e N k k(p + q) (p + q) d Nd N car k d < 1 et si on choisit des p et q qui ont de l ordre du même nombre de chiffres (base 2), on obtient
Inégalité ( ) x p q 1 2q 2 si x = e N, p q = k d Quand a-t-on une telle propriété? quand d est par trop petit...en effet : e N k d = ed kϕ(n) + k(ϕ(n) N) = 1 + k(ϕ(n) N) Nd Nd donc e N k k(p + q) (p + q) d Nd N car k d < 1 et si on choisit des p et q qui ont de l ordre du même nombre de chiffres (base 2), on obtient e N k d 3 N N donc la propriété (*) sera satisfaite dès que d sera inférieur strictement à 1 3 N 1 4!!!!
Lien ϕ(n) et p et q Théorème Si N est le produit de deux nombres premiers distincts. Alors la connaissance de p et de q est équivalente à la connaissance de ϕ(n), plus précisément, on peut calculer ϕ(n) à partir de p et q en O(log(N)) opérations et si l on connaissait ϕ(n) on pourrait calculer p et qà partir de ϕ(n) en O(log 3 (N)) opérations.
La preuve ϕ(n) = (p 1)(q 1) = pq + 1 (p + q). Calcul de ϕ(n) : une multiplication, une addition et une soustraction. Si N et ϕ(n) connus, p et q étant inconnues. Leur produit P := N et leur somme S := N + 1 ϕ(n) ;
La preuve ϕ(n) = (p 1)(q 1) = pq + 1 (p + q). Calcul de ϕ(n) : une multiplication, une addition et une soustraction. Si N et ϕ(n) connus, p et q étant inconnues. Leur produit P := N et leur somme S := N + 1 ϕ(n) ; p and q sont les solutions de X 2 SX + P = 0.
La preuve ϕ(n) = (p 1)(q 1) = pq + 1 (p + q). Calcul de ϕ(n) : une multiplication, une addition et une soustraction. Si N et ϕ(n) connus, p et q étant inconnues. Leur produit P := N et leur somme S := N + 1 ϕ(n) ; p and q sont les solutions de X 2 SX + P = 0. {p, q} = { S + S 2 4P 2 > O(log 3 (N)) opérations..., S S 2 4P }. 2
Exemple d attaque Trouver p, q N = pq = 5371 et ϕ(n) = 5200.... X 2 SX + P = 0 avec P = N et S = N + 1 ϕ(n) = 172. Soit à trouver les racines de X 2 172X + 5371. S + S 2 4P 2 S S 2 4P 2 = = 172 + 90 2 172 90 2 = 131, = 41
Alice a comme clé publique (N A, e A )
Alice a comme clé publique (N A, e A ) Elle signe son message par S d A mod n A
Alice a comme clé publique (N A, e A ) Elle signe son message par S d A mod n A Bob calcule S d A mod n A à la puissance e A Il obtient S d Ae A S mod N