Cryptographie et fonctions à sens unique

Documents pareils
Cryptographie et fonctions à sens unique

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

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

Quelques tests de primalité

Fonction de hachage et signatures électroniques

ÉPREUVE COMMUNE DE TIPE Partie D

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

Calculateur quantique: factorisation des entiers

La cryptographie du futur

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

Cryptographie. Cours 3/8 - Chiffrement asymétrique

Introduction à l étude des Corps Finis

INF 4420: Sécurité Informatique Cryptographie II

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

Petite introduction aux protocoles cryptographiques. Master d informatique M2

Panorama de la cryptographie des courbes elliptiques

Factorisation d entiers (première partie)

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

Tests de primalité et cryptographie

Sécurité de l'information

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

Chapitre VI - Méthodes de factorisation

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

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

Cryptologie à clé publique

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

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé

Chapitre 6. Fonction réelle d une variable réelle

Le partage de clés cryptographiques : Théorie et Pratique

Représentation des Nombres

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

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

D31: Protocoles Cryptographiques

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

Baccalauréat S Antilles-Guyane 11 septembre 2014 Corrigé

Cryptographie Quantique

Simulation de variables aléatoires

Informatique. Les réponses doivent être données en cochant les cases sur la dernière feuille du sujet, intitulée feuille de réponse

Fonctions homographiques

Développement décimal d un réel

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

Probabilités conditionnelles Exercices corrigés

MATHÉMATIQUES DISCRÈTES (4) CRYPTOGRAPHIE CLASSIQUE

LES SECURITES DE LA CARTE BANCAIRE

Polynômes à plusieurs variables. Résultant

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

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

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.

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

Quelques algorithmes simples dont l analyse n est pas si simple

Structures algébriques

Sécurité des réseaux IPSec

Gestion des certificats digitaux et méthodes alternatives de chiffrement

Chapitre 1 : Évolution COURS

TSTI 2D CH X : Exemples de lois à densité 1

FONDEMENTS DES MATHÉMATIQUES

TECHNIQUES DE CRYPTOGRAPHIE

Angles orientés et trigonométrie

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

Probabilités sur un univers fini

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 =

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.

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

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

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

La cryptographie dans le système bancaire

Résolution de systèmes linéaires par des méthodes directes

Programmation linéaire

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

Objets Combinatoires élementaires

Définitions. Numéro à préciser. (Durée : )

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

DOCM Solutions officielles = n 2 10.

Signatures électroniques dans les applications INTERNET

Cryptographie à clé publique : Constructions et preuves de sécurité

Exercices sur le chapitre «Probabilités»

Résolution d équations non linéaires

Baccalauréat ES/L Métropole La Réunion 13 septembre 2013 Corrigé

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

Cryptographie appliquée

Fonctions de plusieurs variables

Authentification de messages et mots de passe

CONCOURS D ENTREE A L ECOLE DE 2007 CONCOURS EXTERNE. Cinquième épreuve d admissibilité STATISTIQUE. (durée : cinq heures)

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

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

Pascal Gachet Travail de diplôme Déploiement de solutions VPN : PKI Etude de cas

L ordinateur quantique

Modes opératoires pour le chiffrement symétrique

Exo7. Matrice d une application linéaire. Corrections d Arnaud Bodin.

Problème 1 : applications du plan affine

Le produit semi-direct

Raisonnement par récurrence Suites numériques

Gestion des clés. Génération des clés. Espaces de clés réduits. Mauvais choix de clés. Clefs aléatoires. Phrases mots de passe

Traitement et communication de l information quantique

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

IPSEC : PRÉSENTATION TECHNIQUE

titre.dsf - Page : 1 Ordinateur quantique: rêves et réalité J.M. Raimond Laboratoire Kastler Brossel

Baccalauréat ES/L Amérique du Sud 21 novembre 2013

Introduction à la sécurité Cours 8 Infrastructure de clés publiques. Catalin Dima

Transcription:

Cryptographie et fonctions à sens unique P. Rouchon Ecole des Mines de Paris Centre Automatique et Systèmes Novembre 2007

Plan 1 Fonction à Sens unique Notion intuitive Stockage des mots de passe 2 Exponentielle modulaire Définition Le protocole de Diffie-Hellman Système d El Gamal DSS Pile ou face par téléphone 3 Protocole RSA Protocole di-symétrique Signature

La cryptographie moderne fondée sur les fonctions à sens unique commence en 1976 où Diffie et Hellman proposent une solution à un problème considéré alors comme insoluble: Alice et Bob ne disposent pour communiquer que d une ligne de transmission écoutée en permanence par le méchant Oscar; Oscar ne peut pas se faire passer pour Alice auprès de Bob et pour Bob après d Alice. Un exposé détaillé: l excellent cours de Gilles Zémor de l ENST.

Notion intuitive Soit n N grand. On pose A n = {1,..., n} et B n deux ensembles finis indexés par n et f n : A n B n. f n est à sens unique, si et seulement si, pour n devenant très grand 1 Il est facile de calculer f n (x) pour importe quel x A n ; 2 Il est difficile pour y f n (A n ) de trouver un x tel que f n (x) = y.

Notion intuitive f n facile à calculer: un algorithme "rapide" pour calculer f n (x), nécessitant une quantité polynômiale de calculs en fonction du nombre de bits nécessaires pour coder x A n, à savoir log 2 (n). Si on note C n (x) le nombre d opérations élémentaires nécessaires au calcul de f n (x), cela veut dire qu il existe M, α > 0 tels que pour tout n N, et pour tout x A n, C n (x) M(log n) α. f n difficile à inverser: on ne connaît pas d algorithme rapide (.i.e. de complexité polynômiale) qui permette de résoudre f n (x) = y. Pour n grand, il est illusoire pour trouver un tel x d utiliser la méthode "brutale" en testant tous les x de A n via le calcul "rapide" de f n (quantité exponentielle de calculs)

Stockage des mots de passe Au lieu de stocker les mots de passe en clair sur un fichier même protégé du compte "système", il suffit de stocker dans un fichier l image des mots de passe via la fonction f n. Lorsque l on se connecte avec son mot de passe, disons π, la machine calcule f n (π) et vérifie s il est bien dans la liste qu elle a sur son disque dur. Nous voyons qu il est difficile même connaissant n, f n et la liste des images par f n des mots de passe, de remonter à ceux-ci.

Définition Soit p un nombre premier, a priori grand. L ensemble Z p = (Z/pZ)\{0}, les entiers définis modulo p et différents de zéro, forme un groupe cyclique pour la multiplication: il est engendré par les puissances de certains de ses éléments, dits éléments primitifs. Soit α Z primitif. Alors les gens s accordent pour dire que la fonction est à sens unique. Z p Z p x f (x) = α x

Définition Calcul rapide de l exponentielle Pour calculer f (x), on écrit x en base 2: x = m i=0 a i2 i avec a i {0, 1} ce qui donne un algorithme avec au plus E(2 log 2 (p)) multiplications modulo p (E est la partie entière). Nous avons en tout au plus 2m 2 log 2 (p) multiplications modulo-p.

Définition Tous les algorithmes connus pour inverser cette fonction (le logarithme discret) nécessitent un temps de calcul non polynômial en log(p) et sont impraticables dès que p est un nombre de quelques centaines de bits. Pourquoi donc prendre un nombre premier p et un élément primitif modulo-p. Tout d abord, p premier implique que tout entier non nul plus petit que p est inversible. Ensuite α primitif implique que l application f est bijective: l exponentielle modulaire f est une permutation difficile à inverser d un ensemble à p éléments:

Le protocole de Diffie-Hellman Pour communiquer de façon confidentielle, Alice et Bob vont se mettre d accord sur un nombre secret S qui leur servira de clé à un système classique de chiffrement. En utilisant uniquement le canal public, ils doivent s échanger la clé secrète S.

Le protocole de Diffie-Hellman 1 Alice et Bob échangent publiquement un nombre premier p et un élément primitif α modulo-p. 2 Alice choisit secrètement a et Bob b. Alice et Bob calculent chacun une exponentielle (facile), A = α a mod (p) pour Alice et B = α b mod (p) pour Bob. 3 Alice et Bob échangent publiquement A et B. 4 Alice calcule S = B a mod (p) et Bob calcule S = A b mod (p). La clé secrète est alors S = α ab mod (p)

Système d El Gamal Di-symétrie dans le chiffrement et le déchiffrement avec premier p et α primitif modulo-p. Le destinataire Bob dispose de la clé publique (p, α, P) et la clé secrète s avec laquelle il a calculé P = α s mod (p); Alice souhaite envoyer le message M à Bob. Alice choisit alors un nombre k au hasard et calcule les deux exponentielles suivantes: A = α k mod (p), B = MP k mod (p). Alice envoie alors à Bob A et B: (A, B) forme le message chiffré. Pour le décodage, Bob connaissant s, calcule A s mod (p) qui n est autre que P k mod (p) et obtient le message en clair via M = B/A s mod (p).

DSS DSS: Digital Signature Standard qui date de 1994: authentification de message M envoyé en clair avec une signature publique (p, α, P). 1 Alice dispose d un nombre premier p et de α primitif modulo-p. Elle choisie un nombre s au hasard, une fois pour toute et calcule P = α s mod (p). Elle communique de façon officielle sa signature par le triplet rendu public (p, α, P). 2 Connaissant la signature d Alice (p, α, P), Bob reçoit un jour un message en clair M et il veut être bien sûr que c est Alice qui lui a envoyé ce message. Pour cela Alice rajoute à M deux nombres S = (u, v) qui authentifient le message et en forment une signature très difficile à imiter et en plus liée au contenu du message M.

DSS (u, v) nombres sont construits de la façon suivante: Alice choisit au hasard un nombre k premier avec p 1. Elle calcule ensuite u = α k mod (p) et alors v est l unique solution de M = us + kv mod (p 1) (k est inversible modulo-(p 1)). Ainsi Bob recevant M avec la signature S = (u, v) connaissant (p, α, α s ) vérifie par une simple exponentiation que seule Alice peut avoir envoyé ce message. En effet, le calcul de α M donne α M = α us+kv+r(p 1) = (α s ) u (α k ) v où r est un certain entier et utilisant le petit théorème de Fermat qui assure que α p 1 = 1 mod (p) dès que p est premier et α entre 1 et p 1. Comme (α s ) u = P u et (α k ) v = u v, Bob peut calculer P u et u v et s assurer que leur produit donne bien α M modulo-p.

DSS Pour signer le message M sans connaître s on est face à un problème difficile trouver u et v vérifiant α M = P u u v mod (p) problème qui nécessite a priori le calcul d un logarithme. En conclusion, tout le monde sait authentifier le message d Alice mais seule Alice peut authentifier ses messages. Pour cela Alice utilise astucieusement l exponentielle modulaire et le petit théorème de Fermat. Exercice: Imaginer un protocle à base d exponentielles modulaires pour jouer à pile ou face sur internet, garantissant le fait qu aucun des deux joueurs ne pourra tricher sans que l autre ne le sache.

Pile ou face par téléphone Alice lance la pièce, Bob parie et Alice lui dit s il a gagné. Problème: il ne faut pas qu Alice puisse tricher. Une solution reposant sur l engagement d Alice (commitment): une fonction a sens unique injective connue de Bob et d Alice, f : A B, une partition A = A p A f en deux parties de même taille A f pour face et A p pour pile. Le protocole (Blum) est le suivant (ordre chronologique): 1 Alice lance la pièce: si c est face (resp. pile) elle choisit aléatoirement x A f (resp. x A p ), calcule y = f (x) et envoie y à Bob. Alice s engage en communiquant le résultat y sans dévoiler x. 2 Bob déclare son choix à Alice, pile ou face. 3 Alice lui dit s il a gagné ou perdu en communiquant à Bob x; Bob se persuade qu Alice n a pas triché en vérifiant que f (x) est bien égal à y.

Protocole di-symétrique RSA inventé par Rivest, Shamir et Adleman en 1977: Ce système di-symétrique s appuie sur la difficulté de factoriser un grand nombre n (d au moins 512 voir 1024 bits) qui est le produit de deux grands nombres premiers p et q: clé publique n et e inversible modulo ϕ(n) = (p 1)(q 1), clé secrète (p, q). Chiffrement d un message en clair défini par un entier M mod (n) se fait par la transformation suivante: M M e mod (n). Déchiffrement: Bob reçoit via un canal public A = M e. Pour déchiffrer, il lui suffit d élever A à la puissance d où d est l inverse de e modulo ϕ(n) = (p 1)(q 1). On sait en utilisant le théorème d Euler-Fermat et le théorème chinois que M ϕ(n) = 1 mod (n), donc A d = (M e ) d = M ed = M car ed = 1 + rϕ(n) pour un certain r. mod (n)

Protocole di-symétrique Remarquons maintenant que le grand méchant Oscar doit trouver M vérifiant A = M e mod (n) en ne connaissant que A, e et n. On ne sait pas comment faire un tel calcul en temps polynômial sans connaître ϕ(n). Comme, ϕ(n) = (p 1)(q 1) et n = pq cela revient à connaître p et q. On ne sait pas a l heure actuelle démontrer qu il n existe pas d algorithme polynômial qui donne, quand c est possible, un diviseur non trivial d un nombre n. Le premier qui trouve une démonstration empoche 1 Million de $ car il aura alors montré la grande conjecture de la théorie de la complexité: P NP.

Signature En mode signature, il suffit de permuter le rôle de e et d. Ainsi, Alice choisit p et q deux grands nombres premiers et communique sa signature officielle sous la forme de (n = pq, e) où e est inversible par rapport à ϕ(n). Alice garde bien-sûr sa clé secrète d qui est l inverse de e modulo ϕ(n). Pour signer son message Alice envoie à Bob M et sa signature M d. Alors Bob authentifie le message comme provenant d Alice en vérifiant que (M d ) e = M mod (n) qui signifie implicitement que l expéditeur connaît un inverse de e modulo ϕ(n) et donc la factorisation de n. Ce ne peut donc être qu Alice. Exercice: Imaginer un système de monnaie électronique anonyme utilisant la fonction puissance de RSA (solution: voir le cours de Zémor).

Signature Monnaie électronique et fonction puissance de RSA La banque possède n = pq et e inversible modulo ϕ(n), d inverse d. Elle garde secret p, q et d. Elle ne communique que n et e. On dispose aussi d une fonction à sens unique f de {1,..., n} dans lui même. Sont publics: n, e et la fonction f. L utilisateur U souhaite une unité de monnaie. Il choisit aléatoirement r et x modulo n, calcule Y = r e f (x) mod (n) et envoie uniquement Y à la banque. La banque calcule Z = Y d mod (n), prélève le compte de U et communique Z à U. Celui ci divise alors Z par r pour en déduire X = f (x) d mod (n). L unité de monnaie électronique est alors (x, X). Si U souhaite payer anonymement avec (x, X), le vendeur vérifie bien que f (x) = X e mod (n) et contacte la banque pour savoir si le billet (x, X) n a pas déjà été utilisé. La banque est incapable de remonter à l utilisateur U.

Signature Identification et preuve sans transfert de connaissance Le prouveur P détient le secret s {1,..., p 1} et est identifié par I = α s mod (p) avec p premier et α primitif modulo p. Il s agit de convaincre le vérificateur V que P est bien celui qui connaît le logarithme de I. P choisit r mod (p 1) aléatoire, calcule t = α r mod (p) et envoie t à V. V choisit un bit aléatoire ɛ = 0 ou 1 et l envoie à P. Si ɛ = 0, P renvoie x = r mod (p 1) à V; si ɛ = 1 P renvoie x = r + s mod (p 1) à V. V vérifie que α x = I ɛ t mod (p). Après k échanges de ce type V est convaincu, avec la probabilité de 1 2 k que P est bien de détenteur du logarithme discret de I. Maintenant, l information qu a obtenue V n est qu une liste d entiers aléatoires x et leurs exponentielles α x mod (p), liste que V aurait pu construire sans passer par P.