Cryptographie. Cryptosystèmes à clé Publique. Année Universitaire Cryptographie : Clé publique et RSA. C. Georgelin. Rappels arithmétiques

Documents pareils
Cryptographie et fonctions à sens unique

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

Quelques tests de primalité

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

Introduction à l étude des Corps Finis

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

ÉPREUVE COMMUNE DE TIPE Partie D

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

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

INF 4420: Sécurité Informatique Cryptographie II

Tests de primalité et cryptographie

Calculateur quantique: factorisation des entiers

Chapitre VI - Méthodes de factorisation

Factorisation d entiers (première partie)

Cryptographie. Cours 3/8 - Chiffrement asymétrique

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 =

MATHÉMATIQUES DISCRÈTES (4) CRYPTOGRAPHIE CLASSIQUE

Cours d arithmétique Première partie

Panorama de la cryptographie des courbes elliptiques

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

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

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

Fonction de hachage et signatures électroniques

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

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que

Raisonnement par récurrence Suites numériques

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

La cryptographie du futur

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

Fonctions homographiques

avec des nombres entiers

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)

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

Bac Blanc Terminale ES - Février 2011 Épreuve de Mathématiques (durée 3 heures)

Compter à Babylone. L écriture des nombres

Groupe symétrique. Chapitre II. 1 Définitions et généralités

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

LES SECURITES DE LA CARTE BANCAIRE

FONDEMENTS DES MATHÉMATIQUES

La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1

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

Limites finies en un point

Le produit semi-direct

DOCM Solutions officielles = n 2 10.

Triangle de Pascal dans Z/pZ avec p premier

Chapitre 1 : Évolution COURS

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

Partie 1 - Séquence 3 Original d une fonction

TECHNIQUES DE CRYPTOGRAPHIE

Université Paris-Dauphine DUMI2E 1ère année, Applications

Extrait du poly de Stage de Grésillon 1, août 2010

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

IV- Comment fonctionne un ordinateur?

Petite introduction aux protocoles cryptographiques. Master d informatique M2

Cryptologie à clé publique

Objets Combinatoires élementaires

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

CCP PSI Mathématiques 1 : un corrigé

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.

Image d un intervalle par une fonction continue

Polynômes à plusieurs variables. Résultant

I. Cas de l équiprobabilité

Algorithmique quantique : de l exponentiel au polynômial

Cryptographie Quantique

Distribution Uniforme Probabilité de Laplace Dénombrements Les Paris. Chapitre 2 Le calcul des probabilités

Continuité en un point

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

Exercices sur le chapitre «Probabilités»

Mathématiques Algèbre et géométrie

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

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

Feuille TD n 1 Exercices d algorithmique éléments de correction

Continuité et dérivabilité d une fonction

Sécurité de l'information

Journées Télécom-UPS «Le numérique pour tous» David A. Madore. 29 mai 2015

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

t 100. = 8 ; le pourcentage de réduction est : 8 % 1 t Le pourcentage d'évolution (appelé aussi taux d'évolution) est le nombre :

Projet Matlab : un logiciel de cryptage

Probabilités sur un univers fini

Conversion d un entier. Méthode par soustraction

Développement décimal d un réel

Séminaire TEST. 1 Présentation du sujet. October 18th, 2013

SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique

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

Représentation géométrique d un nombre complexe

Cours de Probabilités et de Statistique

Royal Military Academy Brussels, BELGIUM Secure Information Storage in the Cloud

Théorème du point fixe - Théorème de l inversion locale

Mathématiques Première L, ES, S, Concours Post-Bac Equations et inéquations du second degré FORMAV

Texte Agrégation limitée par diffusion interne

1 Définition et premières propriétés des congruences

CORRIGE LES NOMBRES DECIMAUX RELATIFS. «Réfléchir avant d agir!»

Résolution d équations non linéaires

Feuille d exercices 2 : Espaces probabilisés

Logique. Plan du chapitre

Carl-Louis-Ferdinand von Lindemann ( )

Date : Tangram en carré page

DÉRIVÉES. I Nombre dérivé - Tangente. Exercice 01 (voir réponses et correction) ( voir animation )

Encryptions, compression et partitionnement des données

Théorie et codage de l information

Transcription:

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