Cryptographie asymétrique L'exemple de RSA. Trance

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

Cryptographie et fonctions à sens unique

Calculateur quantique: factorisation des entiers

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

Quelques tests de primalité

Cryptographie. Cours 3/8 - Chiffrement asymétrique

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

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

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

Chapitre VI - Méthodes de factorisation

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

INF 4420: Sécurité Informatique Cryptographie II

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

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

Sécurité de l'information

Cryptologie à clé publique

Factorisation d entiers (première partie)

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

FONDEMENTS DES MATHÉMATIQUES

Fonction de hachage et signatures électroniques

Introduction à l étude des Corps Finis

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

Panorama de la cryptographie des courbes elliptiques

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

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII

La cryptographie du futur

Tests de primalité et cryptographie

Les risques liés à la signature numérique. Pascal Seeger Expert en cybercriminalité

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

Carl-Louis-Ferdinand von Lindemann ( )

LES SECURITES DE LA CARTE BANCAIRE

6. Hachage. Accès aux données d'une table avec un temps constant Utilisation d'une fonction pour le calcul d'adresses

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

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

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

FICHE UE Licence/Master Sciences, Technologies, Santé Mention Informatique

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

Cours d arithmétique Première partie

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

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

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

TECHNIQUES DE CRYPTOGRAPHIE

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.

Représentation d un entier en base b

Les Réseaux sans fils : IEEE F. Nolot

Projet Matlab : un logiciel de cryptage

Cryptographie appliquée

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

L ordinateur quantique

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

Gestion des certificats digitaux et méthodes alternatives de chiffrement

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

Protocoles d authentification

6. Les différents types de démonstrations

Nouveaux résultats en cryptographie basée sur les codes correcteurs d erreurs

ÉPREUVE COMMUNE DE TIPE Partie D

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

Factorisation Factoriser en utilisant un facteur commun Fiche méthode

Développements limités. Notion de développement limité

Les fonctions de hachage, un domaine à la mode

Sécurisez votre serveur Web Internet Information Services de Microsoft (MS IIS) avec un certificat numérique de thawte thawte thawte thawte thawte

La technologie GQ2 : Un complément essentiel à RSA. Une solution d'authentification dynamique aussi sûre et plus rapide que le RSA

Triangle de Pascal dans Z/pZ avec p premier

Chapitre 7. Récurrences

Fonctions homographiques

Ludovic Mé http ://rennes.supelec.fr/rennes/si/equipe/lme/ Campus de Rennes Equipe SSIR

Probabilités sur un univers fini

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

Principes de cryptographie pour les RSSI

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.

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

CRYPTOGRAPHIE. Chiffrement par flot. E. Bresson. SGDN/DCSSI Laboratoire de cryptographie

Cryptographie Quantique

Traitement et communication de l information quantique

Architectures PKI. Sébastien VARRETTE

avec des nombres entiers

Baccalauréat L spécialité, Métropole et Réunion, 19 juin 2009 Corrigé.

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

Tests d indépendance en analyse multivariée et tests de normalité dans les modèles ARMA

Commun à tous les candidats

MATHÉMATIQUES DISCRÈTES (4) CRYPTOGRAPHIE CLASSIQUE

1 Recherche en table par balayage

- un jeu de K cartes représentées par des nombres C 1, C 2 à C K avec K entier strictement

Raisonnement par récurrence Suites numériques

UNIVERSITE IBN ZOHR Faculté des sciences Agadir. Filière SMA & SMI. Semestre 1. Module : Algèbre 1

NOUVELLES TECHNOLOGIES RESEAUX SSH SSL TLS

ETUDE DES MODELES DE CONFIANCE

Petite introduction aux protocoles cryptographiques. Master d informatique M2

Audit des risques informatiques. Introduction à la Cryptographie Pierre-François Bonnefoi

Steganos présente Security Suite 2007, son incontournable suite de sécurité pour PC.

Trouver un vecteur le plus court dans un réseau euclidien

La cryptographie dans le système bancaire

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

Le protocole sécurisé SSL

Objets Combinatoires élementaires

Audit des risques informatiques

Cours 7 : Utilisation de modules sous python

1 radian. De même, la longueur d un arc de cercle de rayon R et dont l angle au centre a pour mesure α radians est α R. R AB =R.

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

Transcription:

Cryptographie asymétrique L'exemple de RSA Trance trancefusion@hotmail.fr www.ghostsinthestack.org

Sommaire Introduction à la cryptographie Cryptographie symétrique Principe, exemples, avantage / inconvénient Cryptographie asymétrique Principe, illustration, utilisation courante L'exemple de RSA Préliminaires, Principe Attaques Algorithmes et nombres premiers Trance - trancefusion@hotmail.fr - www.ghostsinthestack.org 2/33

Cryptographie - Introduction But : échanger un secret entre 2 pers. Utilisation d'algorithmes simples Algo révélé = perte du secret insuffisant Utilisation d'algo + d'une clé Clé = sorte de «variante» pour l'algo Algo révélé = nécessite toujours la clé... déjà mieux... Trance - trancefusion@hotmail.fr - www.ghostsinthestack.org 3/33

Cryptographie - Introduction Deux types de cryptographies Crypto symétrique (à clé privée) Crypto asymétrique (à clé publique) Chacune a ses avantages / inconvénients De nos jours, on utilise les 2 Trance - trancefusion@hotmail.fr - www.ghostsinthestack.org 4/33

Cryptographie symétrique Nécessite : Un algorithme F de chiffrement symétrique Ou 2 algos (F1 pour chiffrer, F2 pour déchiffrer) Une clé K partagée entre Bob et Alice Principe : Bob chiffre le message M en C = F1(K,M) Bob envoie le message C à Alice Alice le décrypte et retrouve M = F2(K,C) Trance - trancefusion@hotmail.fr - www.ghostsinthestack.org 5/33

Cryptographie symétrique Exemples simples Code César et variantes (ROT13,...) F1(3,«COUCOU») = «FRXFRX» Algos de substitutions Carré de Polybe... Avantage Très rapide en général Inconvénient Si la clé est interceptée, le secret est perdu Trance - trancefusion@hotmail.fr - www.ghostsinthestack.org 6/33

Cryptographie asymétrique Principe : On utilise 2 clés Une clé «publique» qui sert à crypter Une clé «privée» servant à décrypter Clé publique : peut transiter S'assurer toutefois de son authenticité Clé privée : reste chez son propriétaire Il doit être impossible de déduire la clé privée de la clé publique Trance - trancefusion@hotmail.fr - www.ghostsinthestack.org 7/33

Principe en images Alice génère deux clés. La clé publique (verte) qu'elle envoie à Bob et la clé privée (rouge) qu'elle conserve précieusement sans la divulguer à quiconque. Bob chiffre le message avec la clé publique d'alice et envoie le texte chiffré. Alice déchiffre le message grâce à sa clé privée. Trance - trancefusion@hotmail.fr - www.ghostsinthestack.org 8/33

Cryptographie asymétrique Avantage Même en interceptant le message, impossible de le décrypter sans la clé privée Inconvénient Algos lents en général Attaques par substitution de clé possibles... Organismes de confiance, PKI,... Trance - trancefusion@hotmail.fr - www.ghostsinthestack.org 9/33

Utilisation courante On utilise en fait les 2 types de crypto Crypto symétrique On chiffre un message M avec une clé K Crypto asymétrique On génère 2 clés privée (Pr) et publique (Pu) La clé K est cryptée avec la clé Pu On envoie M et la clé K cryptée sur le réseau Le dest. décrypte la clé K avec Pr, et s'en sert pour finalement décrypter M Gain de temps! Trance - trancefusion@hotmail.fr - www.ghostsinthestack.org 10/33

L'exemple de RSA Rivest, Shamir et Adleman en 1977 Algo le plus utilisé SSL PGP Carte Bleue Reste non cassé à ce jour Attention à la signification de «casser»... Trance - trancefusion@hotmail.fr - www.ghostsinthestack.org 11/33

RSA - Préliminaires Diviseur a est diviseur de b si b est un multiple de a ex: 2 = diviseur de tous les nombres pairs décomposition d'un nombre en ses diviseurs Nombre premier n'a que 2 diviseurs : 1 et lui-même ex: 2, 3, 5, 7, 11, 13, 17, 23,... PGCD(a,b) le plus grand diviseur commun de 2 a et b Trance - trancefusion@hotmail.fr - www.ghostsinthestack.org 12/33

RSA - Préliminaires Nombres premiers entre eux a et b sont premiers entre eux ssi PGCD(a,b)=1 ex: 4 et 5, 3 et 10,... Identité de Bézout si a et b sont premiers entre eux, il existe x et y tel que a.x + b.y = 1 Trance - trancefusion@hotmail.fr - www.ghostsinthestack.org 13/33

RSA - Préliminaires Congruences On dit que «a est congru à b modulo n», et l'on note a b[n] si a peut s'écrire : a = n.q + b avec 0 < b < n r est le reste de la division de a par n q est le quotient ex: 15 = 7*2 + 1 donc 15 1[7] Si a 0[n] alors a est un multiple de n Trance - trancefusion@hotmail.fr - www.ghostsinthestack.org 14/33

RSA - Préliminaires Fonction indicatrice d'euler : Phi A valeur de N dans N (entiers naturels) Phi(n) = nombre d'entiers premiers à n et inférieurs à n ex: Phi(8) = 3 car 3,5,7 premiers avec 8 Calcul de Phi(n) : Si n = p.q avec p et q premiers, alors Phi(n) = (p-1).(q-1) Très dur à calculer si n est grand... Calculer Phi(n) est aussi dur que de factoriser n Trance - trancefusion@hotmail.fr - www.ghostsinthestack.org 15/33

RSA - Préliminaires Théorème d'euler Si a est premier avec n, alors : Petit théorème de Fermat a Phi n 1[n] Si p est un nombre premier, a p a[ p] Trance - trancefusion@hotmail.fr - www.ghostsinthestack.org 16/33

RSA Génération des clés Choisir 2 entiers premiers n et p Poser N = p.q Calculer Phi(N) = (p-1).(q-1) Choisir E tq E<N et E premier avec Phi(N) Calculer D en résolvant E.D 1[Phi N ] cf «Algo d'euclide étendu» sur Wikipédia... C'est fini! Le couple (N,E) est la clé publique Le couple (N,D) est la clé privée Trance - trancefusion@hotmail.fr - www.ghostsinthestack.org 17/33

RSA - (Dé)cryptage Pour crypter un message M : C M E [N] Pour décrypter un message crypté C : M C D [N] Comment ça marche? Posons C M E [N] et M C D [N]. On a alors : C D M E D [N] M E.D [N] Or, E.D 1[Phi N ] donc E.D = k.phi(n) + 1 Donc C D M 1 k.phi n [N] M. M Phi n k [N] M[N] ( Euler + Fermat ) 1[N ] (Voir http://fr.wikipedia.org/wiki/rivest_shamir_adleman pour la preuve détaillée) Trance - trancefusion@hotmail.fr - www.ghostsinthestack.org 18/33

Attaques de RSA Factorisation du module (N = p.q) Si on parvient à retrouver p et q, on peut tout retrouver...... mais la factorisation d'un nombre est un problème complexe (complexité NP) Le temps croît exponentiellement avec la taille de N Plusieurs méthodes existent pour accélérer... Crible algébrique (NFS)... mais restent encore trop lentes Trance - trancefusion@hotmail.fr - www.ghostsinthestack.org 19/33

Attaques de RSA Attaques temporelles (timing attacks) Attaque uniquement liée à l'implémentation! Tiennent compte du temps mis pour décrypter Inefficace si l'implémentation de RSA utilise de l'aveuglement cryptographique (blinding) Faire en sorte que le temps de calcul soit constant Insérer des calculs «inutiles» dans l'algo... Trance - trancefusion@hotmail.fr - www.ghostsinthestack.org 20/33

Attaques de RSA Ordinateur quantique...? Nouvelle génération de calculateurs Régis par la mécanique quantique Utilisent des q-bits à états superposables Accélération phénoménale de la vitesse de factorisation (temps linéaire) Le record actuel : 15 = 5 * 3 :)... c'est pas encore gagné! Trance - trancefusion@hotmail.fr - www.ghostsinthestack.org 21/33

RSA, en résumé Un système basé sur une conjecture On «suppose» qu'il est fiable, et que le casser revient à factoriser le module En pratique, a fait ses preuves même si certaines implémentations contiennent des failles... Utiliser des clés de 1024 bits min. Lent, comme tout système asymétrique Sert en pratique à crypter des clés symétriques pour les échanger Trance - trancefusion@hotmail.fr - www.ghostsinthestack.org 22/33

Algos et nombres premiers Buts Générer des nombres premiers En général de plus de 500 chiffres Tester si un nombre et premier Factoriser un nombre composé (Mal)heureusement... Aucun algo 100% efficace Les algos exacts sont trops lents Les algos rapides ne sont pas toujours exacts Trance - trancefusion@hotmail.fr - www.ghostsinthestack.org 23/33

Générer des nombres premiers Il existe un tas de formules toutes plus complexes les unes que les autres Ex : polynôme de degré 25 à 26 variables Trouver la bonne combinaison des 26 variables qui donne un nombre positif En réalité, inutile...... on n'a trouvé que le nombre 2 avec! Trance - trancefusion@hotmail.fr - www.ghostsinthestack.org 24/33

La bête... Trance - trancefusion@hotmail.fr - www.ghostsinthestack.org 25/33

Tests de primalité En général, on génère un nombre N aléatoire, et on teste s'il est premier Comment tester si un nombre est premier? Méthode naïve tester si N est divisible par tous les entiers inférieurs à N pas efficace pour les grands nombres Autres méthodes exactes Test AKS, temps polynomial Trance - trancefusion@hotmail.fr - www.ghostsinthestack.org 26/33

Tests de primalité Algos probabilistes Répondent «oui» ou «non» avec une certaine probabilité p Plus p est proche de 1, plus on est sûr Ex : Fermat, Miller-Rabin, Solovay-Strassen Trance - trancefusion@hotmail.fr - www.ghostsinthestack.org 27/33

Test de Fermat Si 1 2 x 1 3 x 1 5 x 1 7 x 1 [ x ] Alors x est «certainement» premier De façon générale, si a x 1 1[ x ] avec a premier, x est certainement premier a est appelé «témoin» Augmenter le nombre de témoins augmente la chance de ne pas se tromper Trance - trancefusion@hotmail.fr - www.ghostsinthestack.org 28/33

Exponentiation modulaire But : calculer a c [b] de façon efficace Plusieurs techniques Ex: méthode rapide Basée sur les équations suivantes : a 2 [b] a[b] 2 [b] m n [b] m[b] n[b] [b] A vous de faire l'algo! Indice : regarder la parité de l'exposant... cad pour a^n, regarder si n est pair ou impair et appliquer l'une des 2 formules en fonction. Défense de regarder sur internet! La solution (certes pas optimisée) tient en 4 lignes... Trance - trancefusion@hotmail.fr - www.ghostsinthestack.org 29/33

Factorisation Divisions successives, le plus simple GNFS, un des plus efficace (et complexe) Courbes elliptiques, efficace, probabiliste Factorisation de Fermat, simple Principe : tout N impair se décompose ainsi : N=a 2 b 2 = a b. a b Trance - trancefusion@hotmail.fr - www.ghostsinthestack.org 30/33

Factorisation de Fermat FactorFermat(N): // N doit être impair A := partie_entiere(sqrt(n)) Bsq := A*A - N tant que Bsq n'est pas un carré: A := A + 1 Bsq := A*A - N retourner (A - sqrt(bsq), A + sqrt(bsq)) Trance - trancefusion@hotmail.fr - www.ghostsinthestack.org 31/33

Conclusion Cryptographie basée sur les maths Certaines propriétés restent non prouvées ex : difficulté de casser RSA Importance des nombres premiers Sans oublier... Les méthodes présentées ici sont simples, la réalité est bien plus complexe... Les démos des propriétés ont été (volontairement) zappées Trance - trancefusion@hotmail.fr - www.ghostsinthestack.org 32/33

Références Wikipédia FR Comprendre, implémenter et casser RSA, dedji, Hackademy Manuel n 8 Trance - trancefusion@hotmail.fr - www.ghostsinthestack.org 33/33