Cryptologie RSA. Arithmétique. DUT Informatique. IUT de Fontainebleau

Documents pareils
Cryptographie et fonctions à sens unique

Travail d intérêt personnel encadré : La cryptographie

Cryptographie RSA. Introduction Opérations Attaques. Cryptographie RSA NGUYEN Tuong Lan - LIU Yi 1

Cryptologie. Algorithmes à clé publique. Jean-Marc Robert. Génie logiciel et des TI

Fonction de hachage et signatures électroniques

Cours 14. Crypto. 2004, Marc-André Léger

Calculateur quantique: factorisation des entiers

ÉPREUVE COMMUNE DE TIPE Partie D

INF 4420: Sécurité Informatique Cryptographie II

Chapitre 7. Sécurité des réseaux. Services, attaques et mécanismes cryptographiques. Hdhili M.H. Cours Administration et sécurité des réseaux

Cryptographie. Cours 3/8 - Chiffrement asymétrique

0x700. Cryptologie Pearson France Techniques de hacking, 2e éd. Jon Erickson

Sommaire Introduction Les bases de la cryptographie Introduction aux concepts d infrastructure à clés publiques Conclusions Références

Cryptologie à clé publique

Nombres premiers. Comment reconnaître un nombre premier? Mais...

Quelques tests de primalité

Factorisation d entiers (première partie)

Correction du baccalauréat ES/L Métropole 20 juin 2014

Sécurité de l'information

Exercices - Polynômes : corrigé. Opérations sur les polynômes

Chapitre VI - Méthodes de factorisation

avec des nombres entiers

Petite introduction aux protocoles cryptographiques. Master d informatique M2

Chapitre 1 I:\ Soyez courageux!

LES SECURITES DE LA CARTE BANCAIRE

Cryptographie Quantique

Cryptologie et physique quantique : Espoirs et menaces. Objectifs 2. distribué sous licence creative common détails sur

Les Réseaux sans fils : IEEE F. Nolot

Aristote Groupe PIN. Utilisations pratiques de la cryptographie. Frédéric Pailler (CNES) 13 janvier 2009

TECHNIQUES DE CRYPTOGRAPHIE

La persistance des nombres

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Licence Sciences et Technologies Examen janvier 2010

Protocoles d authentification

La cryptographie du futur

CRYPTOGRAPHIE. Signature électronique. E. Bresson. SGDN/DCSSI Laboratoire de cryptographie

Résolution d équations non linéaires

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

Vous revisiterez tous les nombres rencontrés au collège, en commençant par les nombres entiers pour finir par les nombres réels.

Le format OpenPGP. Traduit par : Sébastien Person. personseb@yahoo.fr. Matthieu Hautreux. matthieu.hautreux@insa-rouen.fr.

Représentation des Nombres

Certificats X509 & Infrastructure de Gestion de Clés. Claude Gross CNRS/UREC

Exercices sur le chapitre «Probabilités»

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

MATHÉMATIQUES DISCRÈTES (4) CRYPTOGRAPHIE CLASSIQUE

Cours d arithmétique Première partie

Exo7. Limites de fonctions. 1 Théorie. 2 Calculs

AC AB. A B C x 1. x + 1. d où. Avec un calcul vu au lycée, on démontre que cette solution admet deux solutions dont une seule nous intéresse : x =

Qu est-ce qu un ordinateur quantique et à quoi pourrait-il servir?

Encryptions, compression et partitionnement des données

Cryptographie. Master de cryptographie Architectures PKI. 23 mars Université Rennes 1

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

TP 2 Réseaux. Adresses IP, routage et sous-réseaux

Système binaire. Algèbre booléenne

Tests de primalité et cryptographie

Introduction à l étude des Corps Finis

Des codes secrets dans la carte bleue. François Dubois 1

Le protocole sécurisé SSL

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

Algorithmes récursifs

Corrigé des TD 1 à 5

Solutions du chapitre 4

Probabilités sur un univers fini

Carl-Louis-Ferdinand von Lindemann ( )

1 Recherche en table par balayage

module Introduction aux réseaux DHCP et codage Polytech / 5

Sauvegarder automatiquement ses documents

Raisonnement par récurrence Suites numériques

Gestion des Clés. Pr Belkhir Abdelkader. 10/04/2013 Pr BELKHIR Abdelkader

Continuité et dérivabilité d une fonction

Logiciel de Base. I. Représentation des nombres

Acer edatasecurity Management

Représentation d un entier en base b

Définition : On obtient les nombres entiers en ajoutant ou retranchant des unités à zéro.

Objets Combinatoires élementaires

Chapitre 3. Quelques fonctions usuelles. 1 Fonctions logarithme et exponentielle. 1.1 La fonction logarithme

Théorie et Codage de l Information (IF01) exercices Paul Honeine Université de technologie de Troyes France

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

L ordinateur quantique

Crypter le courrier. Pourquoi crypter? Les clés de cryptage. Supplément au manuel Internet sécurité d'abord!

Problèmes arithmétiques issus de la cryptographie reposant sur les réseaux

108y= 1 où x et y sont des entiers

Continuité en un point

Exo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2.

IV- Comment fonctionne un ordinateur?

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

Bien lire l énoncé 2 fois avant de continuer - Méthodes et/ou Explications Réponses. Antécédents d un nombre par une fonction

Définition 0,752 = 0,7 + 0,05 + 0,002 SYSTÈMES DE NUMÉRATION POSITIONNELS =

I.1. Chiffrement I.1.1 Chiffrement symétrique I.1.2 Chiffrement asymétrique I.2 La signature numérique I.2.1 Les fonctions de hachage I.2.

Conversion d un entier. Méthode par soustraction

Comparaison de fonctions Développements limités. Chapitre 10

CCP PSI Mathématiques 1 : un corrigé

Durée de L épreuve : 2 heures. Barème : Exercice n 4 : 1 ) 1 point 2 ) 2 points 3 ) 1 point

Panorama de la cryptographie des courbes elliptiques

(Third-Man Attack) PASCAL BONHEUR PASCAL 4/07/2001. Introduction. 1 Domain Name Server. 2 Commandes DNS. 3 Hacking des serveurs DNS

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2)

Architectures PKI. Sébastien VARRETTE

Limites finies en un point


Exercice autour de densité, fonction de répatition, espérance et variance de variables quelconques.

Transcription:

Cryptologie RSA IUT de Fontainebleau

Cryptologie RSA Introduction Clé privée Clé publique Clé de session Bases de la cryptologie 1 Le mot cryptographie est un terme générique désignant l ensemble des techniques permettant de chiffrer des messages, c est-à-dire permettant de les rendre inintelligibles sans une action spécifique. Il s agit dans le cas d un texte de transformer les lettres qui composent le message en une succession de chiffres (binaires ou décimaux), puis ensuite de faire des calculs sur ces chiffres pour : d une part les modifier de telle façon à les rendre incompréhensibles. Le résultat de cette modification (le message chiffré) est appelé cryptogramme (en anglais ciphertext) par opposition au message initial, appelé message en clair (en anglais plaintext) ; faire en sorte que le destinataire saura les déchiffrer. Le fait de coder un message de telle façon à le rendre secret s appelle chiffrement (encryption). La méthode inverse, consistant à retrouver le message original, est appelé déchiffrement (decryption). Enfin, on appelle décryptage le fait d essayer de déchiffrer illégitimement le message. 1 Merci à http://www.commentcamarche.net

Cryptologie RSA Introduction Clé privée Clé publique Clé de session Bases de la cryptologie Le chiffrement se fait généralement à l aide d une clef de chiffrement, le déchiffrement nécessite quant à lui une clef de déchiffrement. Il est coutume de noter la clé de chiffrement par e (encryption) et celle de déchiffrement par d (decryption). On distingue généralement deux types de cryptage : à clés symétriques : il s agit de clés utilisées pour le chiffrement ainsi que pour le déchiffrement. à clés asymétriques : une clé différente est utilisée pour le chiffrement et pour le déchiffrement.

Cryptologie RSA Introduction Clé privée Clé publique Clé de session Chiffrement à clés symétriques Le chiffrement symétrique (aussi appelé chiffrement à clé privée ou chiffrement à clé secrète) consiste à utiliser la même clé pour le chiffrement que pour le déchiffrement (e = d). Le chiffrement consiste alors à effectuer une opération entre la clé privée et les données à chiffrer afin de rendre ces dernières inintelligibles. Exemple (chiffrement par XOR) Les messages m et la clé secrète e sont des chaînes binaires. La méthode est basée sur l égalité (m e) e = m (e e) = m 0 = m. On transforme un message m en m e (bit-à-bit) aussi bien pour chiffrer que pour déchiffrer. Par exemple, si m = 1101 et e = 0110 1101 1101 0110 = 1011 1011 0110 = 1101

Cryptologie RSA Introduction Clé privée Clé publique Clé de session Les limites du chiffrement symétrique Toutefois, dans les années 40, Claude Shannon démontra que pour être totalement sûr, les systèmes à clefs privées doivent utiliser des clefs d une longueur au moins égale à celle du message à chiffrer. De plus le chiffrement symétrique impose d avoir un canal sécurisé pour l échange de la clé, ce qui dégrade sérieusement l intérêt d un tel système de chiffrement. Le principal inconvénient d un cryptosystème à clefs secrètes provient donc de l échange des clés. En effet, le chiffrement symétrique repose sur l échange d un secret (les clés). Ainsi, se pose le problème de la distribution des clés : Pour un groupe de n personnes utilisant un cryptosystème à clés secrètes, il est nécessaire de distribuer n (n 1)/2 clés. Supposez alors que le groupe en question compte plusieurs millions de personnes (internet... )

Chiffrement à clés asymétriques Cryptologie RSA Introduction Clé privée Clé publique Clé de session Dans un cryptosystème asymétrique (aussi appelé cryptosystème à clés publiques), les clés existent par paires : Une clé publique e pour le chiffrement. Une clé secrète d pour le déchiffrement. Ainsi, dans un tel système, chaque utilisateur choisit une clé privée dont il est seul connaisseur. A partir de cette clé, il déduit une clé publique qu il met sur un serveur de clés tel qu un annuaire. Lorsqu un utilisateur désire envoyer un message à un autre utilisateur, il lui suffit de chiffrer le message à envoyer au moyen de la clé publique du destinataire. Ce dernier sera en mesure de déchiffrer le message à l aide de sa clé privée (qu il est seul à connaître).

Cryptologie RSA Introduction Clé privée Clé publique Clé de session Le cryptosystème RSA Le premier algorithme de chiffrement à clef publique a été développé par R. Merckle et M. Hellman en 1977. Il fut vite rendu obsolète grâce aux travaux de Shamir, Zippel et Herlestman, de célèbres cryptanalistes. En 1978, l algorithme à clé publique de Rivest, Shamir, et Adelman (d où son nom RSA) apparaît. Cet algorithme est très largement utilisé de nos jours. Voici son principe. Génération des clés pour RSA Un utilisateur de RSA doit générer une clé privée et une clé publique. Il choisit au hasard deux (très) grands nombres premiers p et q et calcule n = pq. Il calcule ϕ(n) = (p 1)(q 1) et choisit un grand nombre e premier à ϕ(n). Il calcule ensuite d = e 1 mod ϕ(n). Il publie alors le couple (n, e) (clé publique) et garde secret d (clé privée) ; il peut ensuite oublier p, q et ϕ(n).

RSA : comment ça marche Cryptologie RSA Introduction Clé privée Clé publique Clé de session Chiffrement/déchiffrement par RSA Soit T le message à envoyer, supposé être une chaîne décimale. On découpe M en morceaux T i de longueur fixe tels que T i < n (il suffit que le nombre de chiffres de T i soit inférieur à celui de n). On transforme chaque T i en S i = Ti e S 1, S 2,... mod n et l on envoie la suite Pour déchiffrer, le destinataire calcule S d i mod n, il obtient alors T i. Si une personne non autorisée intercepte et veut décrypter le message chiffré, elle doit calculer la clé privée d = e 1 mod ϕ(n). Il faut pour cela trouver ϕ(n) = (p 1)(q 1), e étant publique. La seule façon connue de le faire est de calculer p et q, c est-à-dire décomposer n. Or il est actuellement impossible de le faire dans un temps raisonnable si n est très grand, ce qui rend RSA sure.

RSA : exemple Cryptologie RSA Introduction Clé privée Clé publique Clé de session Alice voudrait que tout le monde puisse lui écrire des messages chiffrés. Alice choisit p = 101 et q = 113, donc n = pq = 11413 et ϕ(n) = 100 112 = 11200. Elle choisit ensuite au hasard e = 3533 et vérifie par Euclide que e ϕ(n) = 1 : r q u v Donc 11200 3533 = 1 et 11200 601 5 1. 0 3 3533 528 3 1 0. 1 16 1 = 11200u 7 3533 4603 La dernière égalité se lit 73 7. 19 17 4. 149 3533 ( 4603) 1 (mod 11200), 5 3. 615 2 2. 1994 d où 1 2 u 7 4603 e 1 4603 6597 (mod 11200) La clé publique d Alice est (n, e) = (11413, 3533), et sa clé privée est d = e 1 = 6597.

Cryptologie RSA Introduction Clé privée Clé publique Clé de session RSA : exemple (suite) Lorsque Bob veut envoyer un message M =... 1859726 à Alice : il le découpe en morceaux inférieurs à n : M =... 185 9726 }{{} pour chaque morceau T il calcule S = T e mod n : S = 9726 3533 mod 11413 = 5761 il complète les valeurs obtenues par 0 à gauche jusqu à la longueur de n et les envoie à Alice : Bob... 05761 }{{} Alice S Lorsqu Alice reçoit le cryptogramme de Bob : elle le découpe en morceaux S de longueur égale à celle de n ; elle calcule S d mod n pour retrouver T : 5761 6597 mod 11413 = 9726 T ;

RSA : pourquoi ça marche Théorème Le déchiffrement RSA fonctionne. Démonstration. Cryptologie RSA Introduction Clé privée Clé publique Clé de session Soit 0 T < n et S = T e mod n. Il faut montrer que T = S d mod n. Comme d = e 1 mod ϕ(n), nous avons ed 1 (mod ϕ(n)), donc il existe k > 0 tel que ed = 1 + kϕ(n). On en déduit que S d (T e ) d T ed T 1+kϕ(n) (mod n) Si T p = 1 alors, d après Euler, T 1+kϕ(n) T 1+kϕ(p)ϕ(q) T (mod p) Si p T alors T 0 T 1+kϕ(n) (mod p). Donc, dans tous les cas T 1+kϕ(n) T (mod p). Le même résultat est valable pour q.

RSA : pourquoi ça marche Cryptologie RSA Introduction Clé privée Clé publique Clé de session Démonstration (suite). Notons par X le nombre T 1+kϕ(n). Nous avons donc { X T (mod p) X T (mod q) Comme p q = 1, le théorème chinois implique que le système ci-dessus admet une seule solution X X 0 modulo p q = pq = n. Il est évident que X 0 = T vérifie le système, donc X T 1+kϕ(n) T (mod n) Comme T < n, le théorème est démontrée. Remarque On peut remarquer un default de RSA : sa lenteur. Un autre inconvénient majeur est liée à la difficulté de trouver des grands nombres premiers.

Cryptologie RSA Introduction Clé privée Clé publique Clé de session Clé de session Les algorithmes asymétriques permettent de s affranchir de problèmes liés à l échange de clé via un canal sécurisé. Toutefois, ils restent beaucoup moins efficaces (en temps de calcul) que les algorithmes symétriques. Ainsi, la notion de clé de session est un compromis entre le chiffrement symétrique et asymétrique. Son principe consiste à générer aléatoirement une clé de session de taille raisonnable, et de chiffrer celle-ci à l aide d un algorithme de chiffrement à clef publique (celle du destinataire). Le destinataire est en mesure de déchiffrer la clé de session à l aide de sa clé privée. Ainsi, expéditeur et destinataires sont en possession d une clé secrète qu ils peuvent utiliser pour s envoyer des documents chiffrés à l aide d un algorithme de chiffrement symétrique.

Ce n est pas tout Cryptologie RSA Introduction Clé privée Clé publique Clé de session Nous n avons abordé qu une partie (mathématique) de la cryptologie. Si vous voulez savoir ce qu est une signature numérique, une autorité de certification, le cryptosystème PGP, etc, vous pouvez vous rendre sur http://www.commentcamarche.net/crypto/crypto.php3

RSA : mise en œuvre Cryptologie RSA Mise en œuvre Multiplication Nombres premiers Contraintes Rappel Pour crypter un message numérique à l aide de RSA il faut d abord : choisir deux grands nombres premiers p et q, calculer n = pq et ϕ(n) = (p 1)(q 1) ; choisir un grand entier e < ϕ(n) premier à ϕ(n) et calculer d e 1 mod ϕ(n) ; oublier p, q, ϕ(n), publier (n, e) et garder secret d. Pour crypter un bloc numérique T < n, on calcule S = T e décrypter, on calcule S d mod n. mod n. Pour Nous allons étudier quelques aspects importants de la mise en œuvre de RSA.

Calcul de a c mod n Cryptologie RSA Mise en œuvre Multiplication Nombres premiers Contraintes Commençons par voir comment calculer a c mod n pour utiliser RSA. Vu que les nombres en question ont des centaines de chiffres, l approche brute (calculer a c par c 1 multiplication) est dérisoire : 10 100 multiplications cela dépasse la durée de vie de l univers, et même si on les fait, l univers n a pas assez de place pour stocker le résultat. La première simplification vient du fait que le résultat nous intéresse modulo n on peut donc réduire le produit mod n à chaque étape du calcul. La deuxième astuce permet de minimiser le nombre de multiplications nécessaires, comme le montre l exemple suivant : a 25 = a a 24 = a a 12 a 12 a 12 = a 6 a 6 a 6 = a 3 a 3 a 3 = a a 2 = a a a Il n a donc fallu que 6 multiplications pour calculer a 25.

Algorithme de multiplication Cryptologie RSA Mise en œuvre Multiplication Nombres premiers Contraintes La fonction récursive xmod(a, n, m) calcule a n mod m : si n = 1 retourner a mod m ; sinon, calculer r = xmod(a, n/2, m) et retourner r 2 a }{{} n%2 mod m. 1 ou a Montrons par récurrence sur n que cette fonction calcule bien a n mod m, et que le nombre de multiplications nécessaires ne dépasse pas 2 log 2 n : si n = 1 evident ; sinon, xmod(a, n/2, m) = a n/2 xmod(a, n, m) car n = 2 (n/2) + (n%2). mod m par récurrence, donc ( a n/2) 2 a n%2 a 2 (n/2)+(n%2) a n (mod m) Comme xmod(a, n/2, m) necessite au plus 2 log 2 (n/2) = 2 log 2 n 2 multiplications, il en faut au plus 2 log 2 n 2 + 2 = 2 log 2 n pour calculer xmod(a, n, m). Par exemple, si n 2 256, cela fait 512 multiplications au plus.

Cryptologie RSA Mise en œuvre Multiplication Nombres premiers Contraintes RSA : sécurité La sécurité de RSA repose sur la difficulté de décomposer un très grand nombre entier n = pq en facteurs premiers. La division brute est impensable, car il y a n/ ln n nombres premiers inférieurs à n, donc 2 n/ ln n inférieurs à n. Cela donne 10 47 divisions pour décomposer un nombre à 100 chiffres c est BEAUCOUP. Actuellement, l algorithme le plus rapide est celui du crible sur le corps numérique (NFS, pour Number Fields Sieve ). Il nécessite quand-même une année de travail continu de 1000 machines pour décomposer un nombre difficile de 576 bits (174 digits) ; les nombres de 2048 bits sont hors de la portée pour l instant 2. L accroissement de la puissance du calcul ne met pas RSA en danger, car il suffira d augmenter d autant la longueur des clés. 2 Les laboratoires de RSA (www.rsasecurity.com/rsalabs/, rubrique Challenges) proposent des prix variant de 20000$ (640 bits) à 200000$ (2048 bits) pour la factorisation de certains grands entiers.

Cryptologie RSA Mise en œuvre Multiplication Nombres premiers Contraintes Recherche de très grands nombres premiers Le revers de la médaille est la difficulté de trouver des grands nombres premiers. Ceux utilisés actuellement par RSA ont 256 512 bits (soit 80 160 chiffres décimales). Il y en a plus de 10 150, soit beaucoup plus que le nombre d atomes dans l univers (estimé à 10 84 ), on ne va donc jamais tomber à court de nombres premiers. Si l on choisit au hasard un entier inférieur à n, il aura une probabilité de 1/ ln n d être premier. Il faudra donc faire en moyenne ln n choix avant de trouver un nombre premier (soit seulement 370 essais pour n = 10 160 ). Mais comment le reconnaître, si la factorisation est si difficile?

Cryptologie RSA Mise en œuvre Multiplication Nombres premiers Contraintes Tests probabilistes On utilise pour cela des test probabilistes, qui déterminent avec une très grande fiabilité la nature d un nombre (premier ou composé). La plupart de ces tests sont basés sur les résultats suivants : si p est premier et 0 < a < p alors a p 1 1 (mod p) (Euler) ; si p est premier et x 2 1 (mod p) alors x ±1 (mod p) (TD). A titre d illustration, considérons le test de Lehmann : pour tester si un nombre impair p est premier il faut 1. choisir un nombre aléatoire 0 < a < p (témoin) ; 2. calculer x = a (p 1)/2 mod p ; 3. si x ±1 (mod p) alors p n est pas premier ; sinon, la probabilité que p soit composé est de 50% au plus. Pour justifier ce test, on remarque que, si p est premier, alors x 2 donc x ±1 (mod p). ( a (p 1)/2) 2 a p 1 1 (mod p),

Cryptologie RSA Mise en œuvre Multiplication Nombres premiers Contraintes Exemple : test de Lehmann Un entier p qui passe le test de Lehmann pour 100 témoins indépendants aura donc moins de 1 chance sur 2 100 (soit 10 30 ) d être composé 3. Actuellement il faut juste quelques secondes pour générer un nombre premier de 512 bits à l aide de ce test (un bémol quand-même il n est pas sûr à 100%). Exemple Soit p = 21. Si l on choisit a = 2, alors x 2 (21 1)/2 1024 16 (mod 21) ce qui montre que 21 est composé. Par contre, p = 341 = 11 31 passe le test de Lehmann pour a = 2, mais pas pour a = 3 : 2 (341 1)/2 1, mais 3 (341 1)/2 67 (mod 341) 3 Un tel entier est appelé nombre premier de qualité industrielle.

Cryptologie RSA Mise en œuvre Multiplication Nombres premiers Contraintes Exemple : test de Rabin-Miller Un test plus performant est celui de Rabin-Miller : pour un candidat donné p et un témoin a < p écrire p = 2 d q + 1, où q est impair ; si a d ±1 (mod p) ou r < s, a 2r d 1 (mod p) alors p est dit a-pseudo-premier ; sinon, p est composé. Par exemple, p = 341 qui passe Lehmann avec a = 2, est stoppé par Rabin-Miller : 341 = 2 2 85 + 1, et 2 85 32 ±1 (mod 341), 2 2 85 1 1 (mod 341) En général, un nombre a-pseudo-premier a une probabilité au moins 3/4 d être premier (contre 1/2 de Lehmann). Mieux encore, il y a des fortes raisons de croire qu un entier n qui est a-pseudo-premier pour tout a < 2(ln n) 2, est vraiment premier. Cela fait un peu plus de 10c 2 témoins à interroger pour un nombre à c chiffres.

Cryptologie RSA Mise en œuvre Multiplication Nombres premiers Contraintes Contraintes Les clés de RSA sont (e, n) et d, les valeurs de p, q et ϕ(n) ne sont généralement pas communiquées à l utilisateur. On peut donc se demander s il peut les retrouver. Théorème Connaissant (n, e) et d, on peut factoriser n. Démonstration. Comme n n est pas premier, on peut trouver un témoin a et un entier k tels que z = a k ±1 (mod n) et z 2 1 (mod n) (test de Rabin-Miller). Donc z 2 1 0 (mod n), d où n (z 2 1). Que valent alors n (z 1) et n (z + 1)? Les valeurs possibles sont 1, p, q, n. Mais n ne divise pas z 1, sinon on aurait z 1 (mod n) (idem pour z + 1). De même, n (z 1) 1, sinon n serait diviseur de z + 1. En conclusion, un des deux PGCD vaut p et l autre q. Corollaire Deux utilisateurs ne peuvent pas avoir le même n dans leur clé publique.

Contraintes Cryptologie RSA Mise en œuvre Multiplication Nombres premiers Contraintes Exemple Soit n = 11 31 = 341. En prenant 2 pour témoin : z = 2 85 32 (mod 341), z 2 = 2 2 85 1 (mod 341) Nous obtenons donc et qui sont les facteurs premiers de n. 341 (z 1) = 341 31 = 31 341 (z + 1) = 341 33 = 11