Cryptographie : Clé publique et RSA C. Georgelin Cryptographie Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Année Universitaire 2012-2013 Authentification via RSA Cryptosystèmes à clé Publique Cryptosystèmes à clé Publique Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA Cryptosystème à clé secrète = famille de fonction f qui agit Cryptosystèmes à clé Publique Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA Cryptosystème à clé secrète = famille de fonction f qui agit message élémentaires P − > messages cyptés C, Cryptosystèmes à clé Publique Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA 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 Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA 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 Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA 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 Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA Alice et Bob veulent échanger un message A choisit une fonction fA Cryptosystèmes à clé Publique : le principe Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA Alice et Bob veulent échanger un message A choisit une fonction fA calcule fA−1 . Alice publie fA publique . Bob envoie à Alice fA (M). Alice est ”la seule au monde” à pouvoir calculer fA−1 fA (M) = M. Cryptosystèmes à clé Publique : le principe Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA Alice et Bob veulent échanger un message A choisit une fonction fA calcule fA−1 . Alice publie fA publique . Bob envoie à Alice fA (M). Alice est ”la seule au monde” à pouvoir calculer fA−1 fA (M) = M. Eve intercepte le message fA (M) Elle ne sait pas calculer fA−1 même si fA publique . Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA Ces méthodes impliquent une exponentiation Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA 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. Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA 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é −− > Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA 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 −− > Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA 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. Authentification via la clé publique Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA 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 fA (MC ) Authentification via la clé publique Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA 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 fA (MC ) Alice lui renvoie MC Authentification via la clé publique Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA 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 fA (MC ) Alice lui renvoie MC Seule au monde à pouvoir lui renvoyer . Authentification via la clé publique Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA 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 fA (MC ) Alice lui renvoie MC Seule au monde à pouvoir lui renvoyer . Procédure Authentification en cours des Cartes Bleues . Authentification via la clé publique Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA 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 fA (MC ) Alice lui renvoie MC Seule au monde à pouvoir lui renvoyer . Procédure Authentification en cours des Cartes Bleues . Authentification aléatoire Signature systématique Cryptographie : Clé publique et RSA C. Georgelin Alice veut envoyer le message M suivi de sa signature S Généralités Rappels arithmétiques elle envoie le message fB (M) suivi de fB fA−1 (S). Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA Bob décrypte : d’abord fB−1 fB fA−1 (S) = fA−1 (S) puis Signature systématique Cryptographie : Clé publique et RSA C. Georgelin Alice veut envoyer le message M suivi de sa signature S Généralités Rappels arithmétiques elle envoie le message fB (M) suivi de fB fA−1 (S). Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA Bob décrypte : d’abord fB−1 fB fA−1 (S) = fA−1 (S) puis fA (fA−1 )(S) = S Signature systématique Cryptographie : Clé publique et RSA C. Georgelin Alice veut envoyer le message M suivi de sa signature S Généralités Rappels arithmétiques elle envoie le message fB (M) suivi de fB fA−1 (S). Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA Bob décrypte : d’abord fB−1 fB fA−1 (S) = fA−1 (S) puis fA (fA−1 )(S) = S Le message vient d’Alice . Signature systématique Cryptographie : Clé publique et RSA C. Georgelin Alice veut envoyer le message M suivi de sa signature S Généralités Rappels arithmétiques elle envoie le message fB (M) suivi de fB fA−1 (S). Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA Bob décrypte : d’abord fB−1 fB fA−1 (S) = fA−1 (S) puis fA (fA−1 )(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 Rappels arithmétiques Cryptographie : Clé publique et RSA Dans cette partie, on rappelle les principaux résultats vu dans le cours d’arithmétique utiles pour la méthode RSA. C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via 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 Cryptographie : Clé publique et RSA C. Georgelin Généralités On obtient le Théorème d’Euler et de Fermat dans le cas où le cardinal n est un nombre premier p Rappels arithmétiques Théorème ( (Théorèmes d’Euler et de Fermat) Système RSA Soit n un nombre entier n ≥ 2 Pour tout a ∈ Z, premier avec n, aϕ(n) ≡ 1[n]. Comment choisir p et q : Quelques précautions à prendre Authentification via RSA Corrolaire Petit Théorème de Fermat Soit p un nombre premier a) Pour tout a ∈ Z, tel que p ne divise pas a, ap−1 ≡ 1[p]. b) Pour tout a ∈ Z, ap ≡ a[p]. Théorème Chinois Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA 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 Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA Théorème Généralisation Soient m1 , . . . mr des entiers naturels non nuls et tels que si i 6= j , (mi , mj ) = 1 ( les mi sont deux à deux premiers entre eux). Si on pose M = m1 × . . . × mr , on a : a) Etant donnés a1 , . . . , ar entiers relatifs, le système de congruence : (S) x ≡ a1 n x ≡ a2 .. . [m1 ] [m2 ] .. . x ≡ ar [mr ] admet une unique solution modulo M b) Z/MZ ' Z/m1 Z × . . . Z/mr Z Preuve du Théorème chinois : Voir cours arithmétique ou L. Childs ou M. Demazure. Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA Corollaire n = p1α1 . . . pkαk , on a a) U(Z/nZ) ' U(Z/p1α1 Z) × . . . × U(Z/pkαk Z) b)ϕ(p1 . . . pk ) = (p1 − 1)(p2 − 1) . . . (pk − 1) ϕ(n) = (p1 − 1)(p2 − 1) . . . (pk − 1)p1α1 −1 p2α2 −1 . . . pkαk −1 ϕ(n) = n(1 − p11 )(1 − p12 ) . . . (1 − p1k ) La méthode RSA Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via 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 Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via 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 Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via 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 Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via 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 Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via 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 Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA Bob B1. B2. B3. veut envoyer le message secret M ∈ Z/NZ à Alice. Il récupère la clé (N, e) d’Alice, Il calcule C ≡ M e mod N où C ∈ Z/nZ, Il envoie C à Alice. La méthode, la suite Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA 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 Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre 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). Authentification via RSA Euler-Fermat, si pgcd(M, N) = 1, − > La méthode, la suite Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre 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). Authentification via RSA 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 (mp , mq ), La méthode, la suite Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre 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). Authentification via RSA 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 (mp , mq ),− − − − − > (M, N) = 1 Cryptosystème RSA Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre 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 = {Tk | k ∈ K} where Tk : Z/NZ −→ Z/NZ x 7−→ xk Authentification via RSA La Condition (∗) dans la définition d’un cryptosystème est satisfaite car Tk est Tu où u est l’inverse de k modulo ϕ(N). Cryptosystème RSA Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre 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 = {Tk | k ∈ K} where Tk : Z/NZ −→ Z/NZ x 7−→ xk Authentification via RSA La Condition (∗) dans la définition d’un cryptosystème est satisfaite car Tk est Tu 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 (NB , eB ). Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA Pour chaque message des puissances importantes à calculer ! Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA Pour chaque message des puissances importantes à calculer ! On utilise l’exponentiation rapide Cryptographie : Clé publique et RSA C. Georgelin Pour chaque message des puissances importantes à calculer ! On utilise l’exponentiation rapide P Calcul de am : on décompose m en base 2 m = k0 αi 2i . Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA k k−1 am = a2 aαk−1 2 i+1 . . . aα1 2 aα0 . Calcul de chaque terme a2 en calculant le carré du précédent i+1 i car a2 ≡ (a2 )2 [N]. 37 = 25 + 22 + 1 −− > calculer a37 signifie Cryptographie : Clé publique et RSA C. Georgelin Pour chaque message des puissances importantes à calculer ! On utilise l’exponentiation rapide P Calcul de am : on décompose m en base 2 m = k0 αi 2i . Généralités k Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA k−1 am = a2 aαk−1 2 Rappels arithmétiques . . . aα1 2 aα0 . i+1 Calcul de chaque terme a2 en calculant le carré du précédent i+1 i car a2 ≡ (a2 )2 [N]. 37 = 25 + 22 + 1 −− > calculer a37 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 Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA 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 Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA 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 Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA 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 Cryptographie : Clé publique et RSA C. Georgelin Généralités 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]. Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA 413 ≡ 53 mod 77, 1713 ≡ 73 le texte crypté est [53, 73, 60]. mod 77, 2513 ≡ 60 mod 77 Un exemple élémentaire Cryptographie : Clé publique et RSA C. Georgelin Généralités 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]. Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA 413 ≡ 53 mod 77, 1713 ≡ 73 mod 77, 2513 ≡ 60 mod 77 6037 ≡ 25 mod 77 le texte crypté est [53, 73, 60]. Pour décrypter on élève à la puissance 37 5337 ≡ 4 mod 77, 7337 ≡ 17 Voyons un exemple plus réaliste . mod 77, Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA 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 à nk . Une chaine de caractères (a0 , . . . , ak−1 ) avec chaque ai dans Z/nZ est encodée numériquement par : ak−1 · nk−1 + . . . + a1 · n + a0 ∈ {0, . . . , nk − 1}. Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA 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 à nk . Une chaine de caractères (a0 , . . . , ak−1 ) avec chaque ai dans Z/nZ est encodée numériquement par : ak−1 · nk−1 + . . . + a1 · n + a0 ∈ {0, . . . , nk − 1}. Dans le cryptosystème RSA, on utilise des messages élémentaires de type entiers modulo N = pq et non nk . Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA 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 à nk . Une chaine de caractères (a0 , . . . , ak−1 ) avec chaque ai dans Z/nZ est encodée numériquement par : ak−1 · nk−1 + . . . + a1 · n + a0 ∈ {0, . . . , nk − 1}. Dans le cryptosystème RSA, on utilise des messages élémentaires de type entiers modulo N = pq et non nk . Ne pas utiliser le même k pour les messages en clair et ceux cryptés (les puissances donnent des ”grands” nombres) . Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA 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 à nk . Une chaine de caractères (a0 , . . . , ak−1 ) avec chaque ai dans Z/nZ est encodée numériquement par : ak−1 · nk−1 + . . . + a1 · n + a0 ∈ {0, . . . , nk − 1}. Dans le cryptosystème RSA, on utilise des messages élémentaires de type entiers modulo N = pq et non nk . Ne pas utiliser le même k pour les messages en clair et ceux cryptés (les puissances donnent des ”grands” nombres) . Choisissez k < ` avec nk < N < n` . Bob encode le texte clair text par bloc de k lettres et Alice décode le texte crypté en utilisant des blocs de ` lettres. Tout message élémentaire M est donc crypté en un entier C ≤ N et comme N < n` , C est connu comme un bloc de ` lettres. Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA Donnons un exemple avec l’alphabet standard à 26 lettres . Ici on va prendre k = 1 and ` = 2 car le nombre pris plus haut pour N vérifie 26 < 77 < 262 . Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Donnons un exemple avec l’alphabet standard à 26 lettres . Ici on va prendre k = 1 and ` = 2 car le nombre pris plus haut pour N vérifie 26 < 77 < 262 . 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]. Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA 613 ≡ 62 1773 ≡ 73 2013 ≡ 69 mod 77 013 ≡ 0 mod 77 413 ≡ 53 mod 77 1413 ≡ 49 mod 77 mod 77 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 Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA 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]. Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA Remark C’est le cas typique où on n’obtient pas tous les nl 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 Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA Comment choisir p et q ? .. Par exemple, il faut éviter de prendre p et q trop proches ; en effet , si N = pq , et tous les deux sont impairs, p+q 2 p−q 2 on a donc N = ( ) −( ) et si p et q sont proches 2 2 p+q t = 2 est voisi de la racine carrée de N tandis que t 2 − N 2 2 est un carré parfait ”petit” (( p−q 2 ) =s ) . √ 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 Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA Lemme Euler et les nombres sans facteurs carrés Soit n = p1 . . . pk 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 : am−1 ≡ 1[n] pour tout entier a tel que (a, n) = 1, am ≡ a[n] Preuve du Lemme (22) : Soit p un diviseur premier de n et a un entier . On sait par Fermat que ap−1 ≡ 0[p] ou ap−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 am−1 ≡ 0[p] ou am−1 ≡ 1[p] suivant que p divise a ou non. Donc p divise am − a et cette propriété est vraie pour chaque pi , facteur premier de n. Mais alors le Lemme de Gauss dit que n = p1 . . . pk divise aussi am − a . Si (a, n) = 1 alors comme n divise a(am−1 − 1) divise am−1 − 1 et am−1 ≡ 1[n] Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA Corrolaire Soit n = p1 . . . pk un entier > 1, sans facteur carré et r tel que ϕ(n) divise r . Alors ar ≡ 1[n] pour tout entier a tel que (a, n) = 1, ar +1 ≡ a[n]. Preuve du Corollaire (4.1) : On applique le Lemme avec m = r + 1 puisque ϕ(n) = (p1 − 1) . . . (pk − 1). Un corrolaire Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA 1)Soit N = pq un entier > 1, sans facteur carré et r tel que ppcm(p − 1, q − 1) divise r . Alors on a : ar ≡ 1[N] pour tout entier a tel que (a, N) = 1, Un corrolaire Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA 1)Soit N = pq un entier > 1, sans facteur carré et r tel que ppcm(p − 1, q − 1) divise r . Alors on a : ar ≡ 1[N] pour tout entier a tel que (a, N) = 1, Pour tout entier a, ar +1 ≡ a[N]. 2) Soit d 0 un nombre tel que tel que ed 0 ≡ 1[r ] . Un corrolaire Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA 1)Soit N = pq un entier > 1, sans facteur carré et r tel que ppcm(p − 1, q − 1) divise r . Alors on a : ar ≡ 1[N] pour tout entier a tel que (a, N) = 1, Pour tout entier a, ar +1 ≡ a[N]. 2) Soit d 0 un nombre tel que tel que ed 0 ≡ 1[r ] . 0 Alors pour tout entier aed ≡ a[N] Ainsi même si on ne connait pas p, q et ϕ(N), on peut trouver d 0 qui joue le rôle de la clé secrète d d’Alice. Un corrolaire Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA 1)Soit N = pq un entier > 1, sans facteur carré et r tel que ppcm(p − 1, q − 1) divise r . Alors on a : ar ≡ 1[N] pour tout entier a tel que (a, N) = 1, Pour tout entier a, ar +1 ≡ a[N]. 2) Soit d 0 un nombre tel que tel que ed 0 ≡ 1[r ] . 0 Alors pour tout entier aed ≡ a[N] Ainsi même si on ne connait pas p, q et ϕ(N), on peut trouver d 0 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 ar +1 ≡ a[N], on peut s’en servir pour factoriser N .... ( cf + tard) Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA 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 (NA , eA ) = (2047, 179) ) ENVOYEZ MOI 300€ 2) Expliquez pour le nombre de Mersenne 2047 = 211 − 1 est un mauvais choix de clé publique. Lien ϕ(N) et p et q Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA Le mieux est parfois l’ennemi du bien Idée géniale : Prendre d assez ”petit” , Lien ϕ(N) et p et q Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA 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 Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA 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 e k 1 ∃k ∈ Z ed − kϕ(N) = 1 ou − = ϕ(N) d dϕ(N) e ∼ Ne connu Mais ϕ(N) Lien ϕ(N) et p et q Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA 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 e k 1 ∃k ∈ Z ed − kϕ(N) = 1 ou − = ϕ(N) d dϕ(N) e ∼ Ne connu Mais ϕ(N) k et la fraction est irréductible d Lien ϕ(N) et p et q Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA 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 e k 1 ∃k ∈ Z ed − kϕ(N) = 1 ou − = ϕ(N) d dϕ(N) e ∼ Ne connu Mais ϕ(N) k et la fraction est irréductible d Un résultat sur l’approximation par fractions continues Cryptographie : Clé publique et RSA C. Georgelin Généralités Proposition Si x est un réel positif et Rappels arithmétiques (∗) Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA Alors de x. p q p q une fraction irréductible telle que 1 p |x − | ≤ 2 q 2q est un réduite du développement en fractions continues Ainsi si jamais dk satisfait une inégalité du type (*), en cherchant les différentes réduites du développement en fractions continues de la fraction x = Ne , 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 Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA On a un nombre 0 < α < 1. Vous avez dit ”fractions continues” ou ”continuées” ? Les fractions continuées : les meilleures approximations rationnelles Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA On a un nombre 0 < α < 1. On définit q1 = 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 Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA On a un nombre 0 < α < 1. On définit q1 = 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 − q1 < 1 Vous avez dit ”fractions continues” ou ”continuées” ? Les fractions continuées : les meilleures approximations rationnelles Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA On a un nombre 0 < α < 1. On définit q1 = 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 − q1 < 1 On définit q2 = E ( α11 ). Vous avez dit ”fractions continues” ou ”continuées” ? Les fractions continuées : les meilleures approximations rationnelles Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA On a un nombre 0 < α < 1. On définit q1 = 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 − q1 < 1 On définit q2 = E ( α11 ). Donc 0 < α2 = α1 1 − q2 < 1 Vous avez dit ”fractions continues” ou ”continuées” ? Les fractions continuées : les meilleures approximations rationnelles Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA On a un nombre 0 < α < 1. On définit q1 = 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 − q1 < 1 On définit q2 = E ( α11 ). Donc 0 < α2 = α1 1 − q2 < 1 1 On définit qi = E ( αi−1 ). Vous avez dit ”fractions continues” ou ”continuées” ? Les fractions continuées : les meilleures approximations rationnelles Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA On a un nombre 0 < α < 1. On définit q1 = 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 − q1 < 1 On définit q2 = E ( α11 ). Donc 0 < α2 = α1 1 − q2 < 1 1 On définit qi = E ( αi−1 ). Donc 0 < αi = α1 i−1 − qi < 1 Finalement en réécrivant les différentes définitions des αi : α= 1 = q1 + α1 Vous avez dit ”fractions continues” ou ”continuées” ? Les fractions continuées : les meilleures approximations rationnelles Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA On a un nombre 0 < α < 1. On définit q1 = 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 − q1 < 1 On définit q2 = E ( α11 ). Donc 0 < α2 = α1 1 − q2 < 1 1 On définit qi = E ( αi−1 ). Donc 0 < αi = α1 i−1 − qi < 1 Finalement en réécrivant les différentes définitions des αi : α= 1 1 = = 1 q1 + α1 q1 + q2 +α 2 Vous avez dit ”fractions continues” ou ”continuées” ? Les fractions continuées : les meilleures approximations rationnelles Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA On a un nombre 0 < α < 1. On définit q1 = 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 − q1 < 1 On définit q2 = E ( α11 ). Donc 0 < α2 = α1 1 − q2 < 1 1 On définit qi = E ( αi−1 ). Donc 0 < αi = α1 i−1 − qi < 1 Finalement en réécrivant les différentes définitions des αi : α= 1 1 1 = = 1 q1 + α1 q1 + q2 +α2 q1 + q + 1 2 1 q3 +... Cette expression s’appelle une fraction continue (continuée) de α. Euler ( Bâle1707-St Pétersbourg1783 Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA Euler ( Bâle1707-St Pétersbourg1783 Un mathématicien suisse prolifique Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA 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 Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA Aperçu de ses contributions en mathématiques : -Concept de fonctions -Convergence des séries : 1 1 1 1 π2 1 + + + + . . . + . . . = 12 22 32 42 n2 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 Cryptographie : Clé publique et RSA C. Georgelin Généralités α= 1 1 1 = = 1 q1 + α1 q1 + q2 +α2 q1 + q + 1 2 Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA Si on néglige α3 , α ' Si on néglige α4 , α ' u3 1 = v3 q1 + q = 1 q3 +... 1 1 2+ q 3 u4 1 = v4 q1 + q + 1 2 1 q3 + q1 4 ... 1 q1 + 1 q2 + 1 1 q3 + q +α 4 4 Euler Le résultat sur les fractions continuées Cryptographie : Clé publique et RSA C. Georgelin Généralités α= 1 1 1 = = 1 q1 + α1 q1 + q2 +α2 q1 + q + 1 2 Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Si on néglige α3 , α ' Si on néglige α4 , α ' Authentification via RSA u3 1 = v3 q1 + q = 1 q3 +... 1 q1 + 1 q2 + 1 1 q3 + q +α 4 4 1 1 2+ q 3 u4 1 = v4 q1 + q + 1 2 ... 1 q3 + q1 4 Proposition Parmi toutes les approximations de α dont le dénominateur est inférieur à vn , la fraction la plus proche du nombre α est uvnn . Inégalité (∗) |x − qp | ≤ Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA 1 2q 2 si x = Quand a-t-on une telle propriété ? e N , p q = k d Inégalité (∗) |x − qp | ≤ Cryptographie : Clé publique et RSA 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 : C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA | ed − kϕ(N) + k(ϕ(N) − N) 1 + k(ϕ(N) − N) e k = − |= N d Nd Nd Inégalité (∗) |x − qp | ≤ Cryptographie : Clé publique et RSA 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 : C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA | ed − kϕ(N) + k(ϕ(N) − N) 1 + k(ϕ(N) − N) e k = − |= N d Nd Nd donc | e k k(p + q) (p + q) − |≤ ≤ N d Nd N Inégalité (∗) |x − qp | ≤ Cryptographie : Clé publique et RSA 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 : C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA | ed − kϕ(N) + k(ϕ(N) − N) 1 + k(ϕ(N) − N) e k = − |= N d Nd Nd donc | e k k(p + q) (p + q) − |≤ ≤ N d Nd N car dk < 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 − qp | ≤ Cryptographie : Clé publique et RSA 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 : C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA | ed − kϕ(N) + k(ϕ(N) − N) 1 + k(ϕ(N) − N) e k = − |= N d Nd Nd donc | e k k(p + q) (p + q) − |≤ ≤ N d Nd N car dk < 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 k 3 N | − |≤ N d N donc la propriété (*) sera satisfaite dès que d sera inférieur 1 strictement à 31 N 4 ! ! ! ! Lien ϕ(N) et p et q Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA 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(log3 (N)) opérations . La preuve Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA ϕ(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 Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA ϕ(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 Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA ϕ(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. √ √ S + S 2 − 4P S − S 2 − 4P {p, q} = { , }. 2 2 − − −− > O(log3 (N)) opérations ..... Exemple d’attaque Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA 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 172 + 90 = = 131 , 2 2 √ S − S 2 − 4P 172 − 90 = = 41 2 2 Authentification via RSA Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA Alice a comme clé publique (NA , eA ) Authentification via RSA Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Système RSA Comment choisir p et q : Quelques précautions à prendre Authentification via RSA Alice a comme clé publique (NA , eA ) Elle signe son message par S dA mod nA Authentification via RSA Cryptographie : Clé publique et RSA C. Georgelin Généralités Rappels arithmétiques Alice a comme clé publique (NA , eA ) Système RSA Elle signe son message par S dA mod nA Comment choisir p et q : Quelques précautions à prendre Bob calcule S dA mod nA à la puissance eA Authentification via RSA Il obtient S dA eA ≡ S mod N