Protection de l information - 61 exercices corrigés
|
|
|
- Marc-Antoine Bilodeau
- il y a 9 ans
- Total affichages :
Transcription
1 1 Pierre-Louis CAYREL Protection de l information - 61 exercices corrigés 1 / 63
2 2
3 Table des matières 1 Énoncés Ordres de grandeur Mot de passe Dénombrements Vider l océan avec un dé à coudre La force brute La loi de Moore Vigénère, Polybe et Hill César/Vigénère Chiffrement de Vigénère Chiffrement de Polybe Chiffrement affine Chiffrement de Hill Chiffrement et modes de chiffrement Cryptographie à clé secrète Amélioration d un système de chiffrement Mode ECB Mode CBC Mode CTR Attaque par insertion Malléabilité des chiffrements à flot DES et 2DES Algorithme de Berlekamp-Massey Méthodes de calcul Square and Multiply Calcul modulaire Théorème des restes chinois Autour des nombres premiers Test de primalité de Miller-Rabin Algorithme p 1 de Pollard Théorème de Wilson Échange de clefs Fonctionnement clé privée vs clé publique Clé privée vs clé publique Diffie-Hellman Perte d une clé privée Attaque par le milieu de Diffie-Hellman Chiffrement Kid-RSA
4 4 TABLE DES MATIÈRES Chiffrement/Déchiffrement RSA Exemples de RSA Chiffrement RSA RSA Chiffrement El Gamal Changement de clés Attaques sur RSA Attaque par module commun De φ(n) à la factorisation RSA avec deux facteurs trop proches Malléabilité de RSA Le temps de factorisation des grands entiers Signature et hachage Signature RSA Signature aveugle avec RSA Signature El Gamal Signature El Gamal : utilisation de l aléa Signature El Gamal sans vérification modulaire Signature GHR (Gennaro-Halevi-Rabin) Hachage Fonction de hachage faiblement sans collision Fonction de hachage et signature Le buzz free mobile Authentification Authentification à clef secrète Authentification à clef publique Schéma de Schnorr PKI, Certificats PKI Certificats Distinguer les clefs utilisées dans PGP Hachés de mots de passe Le protocole HTTPS La carte bleue Corrections Pour se familiariser avec les ordres de grandeur Mot de passe Dénombrements Vider l océan avec un dé à coudre La force brute La loi de Moore Vigénère, Polybe et Hill César/Vigénère Chiffrement de Vigénère Chiffrement de Polybe Chiffrement affine Chiffrement de Hill Chiffrement et modes de chiffrement
5 TABLE DES MATIÈRES Cryptographie à clé secrète Amélioration d un système de chiffrement Mode ECB Mode CBC Mode CTR Attaque par insertion Malléabilité des chiffrements par flot DES et 2DES Algorithme de Berlekamp-Massey Méthodes de calcul Square and Multiply Calcul modulaire Théorème des restes chinois Autour des nombres premiers Test de primalité de Miller-Rabin Algorithme p 1 de Pollard Théorème de Wilson Échange de clefs Fonctionnement clé privée vs clé publique Clé privée vs clé publique Perte d une clé privée Diffie-Hellman Attaque par le milieu de Diffie-Hellman Chiffrement Kid-RSA Chiffrement/Déchiffrement RSA Exemple de RSA Chiffrement RSA RSA Chiffrement El Gamal Changement de clés Attaques sur RSA Attaque par module commun De φ(n) à la factorisation RSA avec deux facteurs trop proches Malléabilité de RSA Le temps de factorisation des grands entiers Signature Signature RSA Signature aveugle avec RSA Signature El Gamal Signature El Gamal : utilisation de l aléa Signature El Gamal sans vérification modulaire Signature GHR (Gennaro-Halevi-Rabin) Hachage Fonction de hachage faiblement sans collision Fonction de hachage et signature Le buzz free mobile Authentification / 63
6 6 TABLE DES MATIÈRES Authentification à clef secrète Authentification à clef publique Schéma de Schnorr PKI, certificats PKI Certificats Distinguer les clefs utilisées dans PGP Hachés de mots de passe Le protocole HTTPS La carte bleue Ces exercices ont été inspirés par les supports de cours/td de : Didier Alquié Christine Bacchoc Florent Bernard Emmanuel Bresson Céline Chevalier Philippe Gaborit Arthur Hecker Jean Leneutre Philippe Oechslin Rodolphe Ortalo Nouha Oualha Emmanuel Thomé Damien Vergnaud
7 Chapitre 1 Énoncés Cryptographie à clef secrète 1.1 Ordres de grandeur Mot de passe Un système est protégé par un mot de passe, après un essai infructueux le système attend 1s avant de redemander. Combien de temps faudra-t-il pour s identifier dans les cas suivants : 1. le mot de passe est un prénom 1 ; 2. c est un mot du dictionnaire 2 ; 3. il est composé de 4 chiffres ; 4. il fait 8 caractères Dénombrements Le nombre de clés disponibles dans un système de chiffrement donne une borne maximale de sa sécurité (mesure de la complexité d une recherche exhaustive). 1. Quel est le nombre de clés possibles dans un chiffrement de César? 2. Pour un chiffrement affine? (C(x) = ax + b mod 26 pour chaque caractère x Z 26 ) 3. Pour un chiffrement par substitution (substitution arbitraire, caractère par caractère)? 4. Pour un chiffrement de Vigénère (avec une clé de longueur k)? Vider l océan avec un dé à coudre On considère qu un dé à coudre est un cylindre de 1, 5 cm. de hauteur pour 1, 5 cm de diamètre. Selon l Institut Français des Mers, les océans couvrent 360 millions de km 2 avec une profondeur moyenne de 3800 m. Encadrer entre deux puissances de 2 consécutives le nombre de dés à coudre d eau que contiennent les océans La force brute Le facteur de travail d un algorithme est le nombre d instructions élémentaires nécessaire à son exécution. La puissance d une machine est le nombre d instructions qu elle exécute par unité 1. L INSEE publie la liste des prénoms donnés en France depuis En pratique, seul un millier de prénoms suffit à désigner plus de la moitié de la population française. 2. Le français compte environ mots dont seulement 3000 sont utilisés couramment. 7
8 8 CHAPITRE 1. ÉNONCÉS de temps. La puissance d un PC actuel est d environ 2000 Mips. (millions d instructions par secondes). Le facteur de travail d un algorithme optimisé pour tester une clé de 128 bits de l algorithme AES est d environ 1200 instructions élémentaires. On dispose d un couple clair/chiffré connu et on désire retrouver la clé utilisée par force brute, c est- à-dire en testant toutes les clés les unes après les autres. Une clé est constituée d un mot de 128 symboles binaires. On suppose que toutes les clés sont équiprobables. 1. En combien de temps une machine de 2000 Mips teste-t-elle une clé? 2. Combien y a-t-il de clés possibles? Quel est le nombre moyen de clés à tester avant de trouver la bonne? 3. À quel temps moyen de calcul cela correspond-il si on suppose que le milliard de PC de l internet sont mobilisés à cette tâche? La loi de Moore Il est admis que, grâce aux progrès technologiques permanents, la puissance des machines double en moyenne tous les 18 mois (loi de Moore). On suppose maintenant que l on change les machines tous les mois (30 jours) en commençant avec une machine d une puissance de 1000 Mips. Pour tout entier n, on note W n le nombre d instructions exécutées par la machine du mois n. 1. Quel est le facteur d amélioration a de la puissance des machines d un mois à l autre? 2. Calculer W 0, puis W n en fonction de W 0, de a et de n. 3. Quel est le temps moyen nécessaire pour trouver la clé (de l exercice précédent)? 1.2 Vigénère, Polybe et Hill César/Vigénère Le chiffrement de César prend un texte composé de lettres, et décale chaque lettre d un nombre constant de positions dans l alphabet. Ce nombre de positions est la clé. Pour déterminer la clé à partir d un message chiffré, on fait des suppositions statistiques sur le message d entrée. Par exemple, si on suppose que le message est en français, la lettre la plus fréquente est le e. Par ordre décroissant de fréquence, on trouve : e, s, a, i, t, n, r, u. 1. Est-il plus facile de déchiffrer un texte long ou un texte court? 2. Pouvez-vous déchiffrer le message suivant : pwpnetzyacpdtopyetpwwp Le chiffrement de Vigénère (en fait du à Alberti au XVème siècle) est une sorte de César amélioré. La clé est constituée non pas d un, mais de plusieurs décalages. Cette clé est spécifiée sous forme d un mot qui constitue la clé. Par exemple la clé bac, de longueur trois, spécifie que pour chiffré un message, on décale la première lettre d une position (lettre b), la deuxième de zéro positions (lettre a), la troisième de deux positions (lettre c), et ainsi de suite en reprenant la clé au début. 3. Si l attaquant obtient la connaissance d un couple message clair / message chiffré, peut-il déchiffrer tous les messages chiffrés ensuite avec cette même clé? 4. On suppose que seulement un message chiffré est à disposition de l attaquant. Si un attaquant connaît la longueur de la clé, comment faire pour déchiffrer?
9 1.2. VIGÉNÈRE, POLYBE ET HILL 9 5. D une manière générale, ce système de chiffrement est-il difficile à casser? Chiffrement de Vigénère 1. Chiffrer à l aide de l algorithme de Vigénère le texte suivant : textesecretadecoder en utilisant comme clé le mot crypto ; 2. Pour le même texte clair on obtient le texte chiffré suivant brqksmzcspxiqxtcxzr. Quelle est la clé? 3. Même question si le chiffré est aaabbbcccdddeeefffg. Que remarque-t-on? Chiffrement de Polybe On considère l alphabet privé du W, soit 25 lettres. Polybe a proposé le mécanisme suivant : on range les lettres dans un tableau 5 5, en commençant par le mot clé (et en supprimant les doublons), puis on continue avec les lettres restantes de l alphabet, dans l ordre. Par exemple, avec le mot-clé MYSTERE, on construit le tableau suivant : M Y S T E 2 R A B C D 3 F G H I J 4 K L N O P 5 Q U V X Z Le chiffrement s effectue alors en remplaçant chqaue lettre par les deux chiffres : ligne colonne qui indiquent sa position dans la grille. Par exemple, F est chiffré Expliquer comment on peut cryptanalyser un tel système : par une attaque à clair connu, puis dans une attaque simple (seulement un chiffré). Raoul envoie un message à Anna pour lui fixer rendez-vous. Le cryptogramme est le suivant : Décrypter ce message. Quelle est la sévérité de l attaque (distinguer le chiffré d un aléa, cassage total,...)? Chiffrement affine 1. On représente l alphabet latin par les entiers entre 0 et 25 avec la convention A = 0, B = 1, C = 2,... Un chiffrement affine x ax+b mod 26 transforme le message CRYPTO en le cryptogramme ROXEYZ. Trouver la clé (a, b)correspondante. 2. Le message clair CRYPTO a cette fois été chiffré deux fois de suite par un chiffre affine de clé (a, b ) (c est-à-dire qu on a chiffré le chiffré) pour donner en sortie NGBAMX. (a) Montrer que NGBAMX est le chiffré de CRYPTO par un chiffre affine de clé (a, b ). Trouver (a, b ). 9 / 63
10 10 CHAPITRE 1. ÉNONCÉS Chiffrement de Hill Examen Dans le chiffrement de Hill, chaque lettre de l alphabet est représentée par un entier compris entre 0 et 25. L algorithme est un chiffrement par blocs de m lettres, qui transforme un bloc (x 1, x 2,..., x m ) en un bloc (y 1, y 2,..., y m ) défini par la relation algébrique : (y 1, y 2,..., y m ) = (x 1, x 2,..., x m ) A où A est une matrice carrée d ordre m à coefficients dans Z 26, tous les calculs sont effectués modulo 26. ( ) 5 1 Par exemple avec m = 2 et A =, le message (10, 21) est chiffré en : 12 3 (10, 21) A = ( , ) = (16, 21). Sachant que le chiffrement du mot chiffrement avec la même clé donne le chiffré jvfrtqealv. Décrypter (partiellement, les 4 premiers caractères suffiront) le texte suivant qui a été obtenu en appliquant le chiffrement de Hill sur des blocs de taille 2 sur un mot de la langue française : gzatzxjihvbreosu 4pts Indications : ( ) a b Posons : M = M c d 4 (Z 26 ) la matrice à utiliser pour le déchiffrement. Le fait que M transforme ( le bigramme ) ( jv) en le bigramme ch et le bigramme fr en le bigramme if, nous donne 3 : M. = Si la matrice n est pas inversible, prenez le bigramme suivant.
11 1.3. CHIFFREMENT ET MODES DE CHIFFREMENT Chiffrement et modes de chiffrement Cryptographie à clé secrète Examen Quel candidat a gagné le concours AES? 0.5pt 2. Expliquer la différence entre décoder, déchiffrer et décrypter. 1.5pt 3. Que signifie confusion et diffusion? 2pts 4. Quelles sont les grandes idées utilisées en chiffrement par blocs? 1.5pt 5. Citer 3 noms de cryptographes (célèbres) 4 ayant travaillé sur les schémas de chiffrement par blocs. 0.5pt Amélioration d un système de chiffrement Monsieur X utilise pour chiffrer ses données privées le cryptosystème DES, paramétré par une clé secrète k de 56 bits connue de lui seul. Comme Monsieur X a entendu dire que 56 bits étaient bien peu de nos jours, il envisage de rendre plus sûr le stockage de ses données en chiffrant une seconde fois toutes ses données, avec la clé DES k = k + 1 (pour chaque donnée en clair m, la donnée chiffrée est donc c = DES k+1 (DES k (m)), où k désigne la clé). 1. Est-ce une bonne idée? 2. Discuter les avantages et/ou les inconvénients. 3. Monsieur X pense à une autre amélioration possible. Il va chiffrer une fois avec DES, et une fois avec AES128. Comme AES128 a besoin de clés de 128 bits, il va paramétrer son chiffrement DES par sa clé secrète k, et pour son chiffrement AES128 la mêeme clé secrète k, mais avec des zéros pour faire le remplissage. Est-ce mieux? 4. Quelle erreur fondamentale Monsieur X commet-il, eu égard aux principes de Kerckhoffs? Mode ECB Le mode de chiffrement ECB (Electronic Code Book ou Dictionnaire de code) est le mode de chiffrement le plus simple que l on puisse imaginer : chaque bloc de données est chiffré indépendamment par la fonction de chiffrement. 1. Ce mode de chiffrement n est pas sûr, expliquer pourquoi. 2. Jack, qui gagne euros par an, a retrouvé l entrée chiffrée qui lui correspond dans la base de données des salaires de son entreprise : Q92DFPVXC9IO Sachant que la fonction de chiffrement utilisé a des blocs de deux caractères et que le service informatique de son entreprise ne comprend aucun expert en cryptographie (entendre par là, utilise le mode ECB!), retrouver le salaire de Jane la patronne de Jack parmi le reste de la base de données : TOAV6RFPY5VXC9, YPFGFPDFDFIO, Q9AXFPC9IOIO, ACED4TFPVXIOIO, UTJSDGFPRTAVIO 3. Exemple 2. Imaginer à quel point ce mode chiffrement est déplorable pour les photographies. 4. Cayrel n est pas (encore) une réponse acceptable 11 / 63
12 12 CHAPITRE 1. ÉNONCÉS Mode CBC Le mode de chiffrement CBC (Cipher Block Chaining ou Enchaînement des blocs) suit le shéma suivant : 1. Dessiner le schéma de déchiffrement correspondant à ce mode de chiffrement. 2. À quoi sert le vecteur d initialisation (IV)? Doit-il rester secret? 3. Que se passe-t-il lors du déchiffrement si l un des blocs chiffrés a été altéré? Mode CTR Le mode de chiffrement CTR (mode compteur) consiste à chiffrer un compteur qui est incrémenté à chaque bloc, puis à en calculer le ou exclusif avec le message. Le compteur est initialisé à une valeur choisie au hasard appelée la nonce. 1. Dessiner les schéma de chiffrement et déchiffrement de ce mode opératoire. 2. Expliquer l intérêt de la nonce. 3. Quel intérêt voyez-vous à ce mode de chiffrement quant à son implémentation? Attaque par insertion On considère un chiffrement par blocs utilisant un mode opératoire OFB ou CTR. Un attaquant parvient à intercepter un chiffré C = (c 0, c 1,... ), correspondant à un message M = (m 0, m 1,... ). L attaquant connaît uniquement C, mais pas M, ni bien sûr la clé K ou encore la valeur IV (pour OFB) ou la nonce (pour CTR). On suppose que l attaquant parvient à forcer la personne qui chiffre à re-chiffrer un message M quasiment identique à M, mais avec uniquement un bloc de zéros inséré parmi les autres blocs. On suppose en outre que l attaquant parvient à forcer ce deuxième chiffrement à être réalisé avec la même IV (pour OFB) ou nonce (pour CTR). L attaquant obtient donc un nouveau chiffré C. 1. Comment l attaquant peut-il déterminer le bloc à partir duquel M et M diffèrent? 2. Supposons que ce premier bloc différent ait pour indice i. Que vaut alors c i? Comment l attaquant peut-il en déduire m i? 3. Que doit-on en conclure comme précaution sur l utilisation de OFB ou CTR?
13 1.3. CHIFFREMENT ET MODES DE CHIFFREMENT Malléabilité des chiffrements à flot 1. Rappeler le fonctionnement du chiffrement à flot. 2. Soit C le chiffré d un message M, comment pouvez vous produire le chiffré C du même message que vous aurez altéré. 3. Imaginer une utilisation pratique de cette attaque DES et 2DES 1. Expliquer le fonctionnement de 3DES (T DES). Pourquoi ce schéma de chiffrement est-il utilisé à la place de DES? Quel facteur de complexité ajoute-t-il? 2. Comme l exécution de 3DES est coûteuse, on propose d utiliser à la place l algorithme 2DES, qui consiste à composer deux chiffrements DES classiques avec des clefs différentes. Soit m un message et k 1 et k 2 des clefs DES, on obtient le chiffré c de la façon suivante : c = 2DES(k 2 k 1 ; m) = DES(k 2 ; DES(k 1 ; m)) (a) Quels sont les avantages de cette approche par rapport à 3DES? Quelle est la première estimation naïve de la force cryptographique théorique de 2DES? (b) Analyse de sécurité de 2DES : i. Combien y a-t-il de clefs différentes possibles? On dé?nit les collisions par l existence de messages clair m et chiffré c tels que c = 2DES(k; m) = 2DES(k ; m) avec k k. En considérant la taille des blocs de messages clairs à chiffrer, combien existe-t-il en moyenne de clefs qui pour un clair m donné, crée une collision (i.e. fournissent le même c)? ii. En exploitant la propriété suivante de DES : si c = DES(k 2 ; DES(k 1 ; m)), alors il existe un chiffré c = DES(k 1 ; m) = DES 1 (k 2 ; c), construire une méthode d attaque sur 2DES qui utilise 2 paires de messages clair/chiffré. iii. À partir du nombre moyen d opérations nécessaires à la cryptanalyse de DES, estimer les efforts nécessaires pour cette attaque ainsi que la probabilité d avoir trouver la bonne clef grâce à elle. Quelle est?nalement la force estimée de 2DES? Algorithme de Berlekamp-Massey Cet algorithme consiste à construire pour les valeurs successives de N un LFSR de longueur L N et de polynôme de rétroaction f N qui génère les N premiers bits de la suite s. Pour N = 2L, l algorithme retourne le polynôme de rétroaction du LFSR de départ. Algorithme de Berlekamp-Massey Entrée : s 0, s 1,..., s n 1 une suite de longueur n. Init : f(x) = 1, L = 0, m = 1, g(x) = 1 Pour N variant de 0 à n 1 1. Calculer d = s N + L i=1 c is N i mod 2.(f(X) = 1+c 1 X +c 2 X ) 2. Si d = 1 alors t(x) = f(x) et f(x) = f(x) + g(x)x N m. Si 2L N alors L = N + 1 L, m = N, g(x) = t(x). 1. Appliquer l algorithme de Berlekamp Massey à la suite : Puis concluez en vérifiant votre réponse. 13 / 63
14 14 CHAPITRE 1. ÉNONCÉS Cryptographie à clef publique Dans toute la suite, on pourra utiliser les résultats numériques suivants : 319 = ; = 263 (mod 319) ; = ; = 12 (mod 319) ; = 133 (mod 319) ; 11 2 = 121 (mod 280) ; 11 4 = 81 (mod 280) ; 11 8 = 121 (mod 280) ; = 81 (mod 280) ; 95 = ; = 51 (mod 280) ; = 1 (mod 280). Identité de Bezout Soient a et b deux entiers relatifs et d leur PGCD alors il existe deux entiers u et v tels que : au + bv = d Résolution d une équation diophantienne Soient a, b et c des entiers, et d le PGCD de a et b, alors l équation au + bv = c admet des solutions entières si et seulement si c est un multiple de d. Théorème de Bezout Soient a et b deux entiers relatifs non nuls. a et b sont premiers entre eux si, et seulement si, il existe deux entiers u et v tels que au + bv = 1. Théorème de Gauss Si un nombre a divise un produit de facteurs et si a est premier avec l un des deux facteurs alors a divise le deuxième facteur. L algorithme d Euclide permet de calculer le P.G.C.D. de deux entiers naturels a et b tels que a > b. Il consiste à réitérer les manipulations suivantes : 1. Effectuer la division euclidienne de a par b. Soit r le reste. 2. Remplacer a par b et b par r. On a b > r d après la définition de la division euclidienne. Le P.G.C.D. est le dernier reste non nul. Exemple d application : calcul d inverse modulaire Déterminez d tel que 7d = 1 mod 360. (revient à calculer l inverse de 7 mod 360). puis "on remonte" : D où d = 103. Entraînez-vous en montrant que : 360 = = = mod = 7 2 ( ) mod = mod = 7 ( ) mod = mod = 3 1 mod 170; 37 = 13 1 mod 143; 113 = 17 1 mod 120; 219 = 19 1 mod 520. Détailler le calcul de 3 inverses modulaires (différents de ceux proposés ci-dessus).
15 1.4. MÉTHODES DE CALCUL Méthodes de calcul Square and Multiply En utilisant l algorithme square and multiply, montrer que : mod 527 = 113; 5 7 mod 403 = 346; mod 407 = 50; mod 143 = 2; mod 583 = 192. Détailler le calcul de 3 exponentiations modulaires (différentes de celles déjà proposées) Calcul modulaire Calculer (de tête si possible) mod mod mod mod Théorème des restes chinois Comment résoudre le système de congruences suivant : x = r 1 mod m 1 x = r 2 mod m 2?... x = r k mod m k C est le théorème des restes chinois qui nous fournit la réponse : Soit k nombres entiers naturels m 1, m 2,..., m k, premiers entre eux deux à deux, et k entiers r 1, r 2,..., r k. Le système de congruences x = r 1 mod m 1 x = r 2 mod m 2... x = r k mod m k admet une unique solution modulo M = m 1 m 2...m k. La méthode permettant de construire une solution de ce système est fournit ci-dessous. Posons M i = M m i pour i = 1, 2,..., k. On a donc pgcd(m i, m i ) = 1 et on peut ainsi trouver d après l identité de Bezout deux entiers u i et v i tel que M i u i + m i v i = / 63
16 16 CHAPITRE 1. ÉNONCÉS On a alors : u 1 M 1 r 1 + u 2 M 2 r u k M k r k = r i mod m i pour i = 1, 2,..., k Par conséquent le nombre x = u 1 M 1 r 1 + u 2 M 2 r u k M k r k est solution du système. De plus si y est une autre solution de celui-ci, alors m i divise x y pour chaque i = 1, 2,..., k. Ainsi x y est divisible par M. Le système admet donc une seule solution modulo M. Autrement dit, les solutions du système sont de la forme avec n entier. x = u 1 M 1 r 1 + u 2 M 2 r u k M k r k + nm Application - 1 Une bande de 17 pirates s est emparée d un butin composé de pièces d or d égale valeur. Ils décident de se les partager également et de donner le reste au cuisinier chinois. Celui-ci recevrait trois pièces. Mais les pirates se querellent et six d entre eux sont tués. Le cuisinier recevrait alors 4 pièces. Survient alors un naufrage et seuls 6 pirates, le cuisinier et le trésor sont sauvés et le partage laisserait 5 pièces d or à ce dernier. Quelle est alors la fortune minimale que peut espérer ce dernier s il décide d empoisonner le reste des pirates? Application - 2 Pour vous entraîner, vous appliquerez le théorème des restes chinois à deux des systèmes de congruences suivants (vérifiez votre résultat) : x = 0 mod 5 x = 4 mod 7 x = 4 mod 19 x = 2 mod 5 x = 5 mod 7 x = 10 mod 19 Application x = 0 mod 5 x = 6 mod 7 x = 1 mod 19 x = 5 mod 6 x = 4 mod 11 x = 3 mod 17 Choisissez, sans me le dire, un nombre entier entre 1 et 500. Je vais seulement vous demander trois nombres construits à l aide de celui-ci et je retrouverais sans trop de difficulté le nombre que vous aviez choisi. Pour cela, diviser votre nombre par 5 et donner moi le reste obtenu. Faites de même avec la division par 7 et celle par 19. Ces trois restes suffisent pour retrouver votre nombre. Réaliser cette expérience avec votre voisin (avec trois nombres premiers entre eux de votre choix). Noter sur une feuille, que vous me rendrez, l ensemble des résultats.
17 1.4. MÉTHODES DE CALCUL Autour des nombres premiers 1. Pour quelles valeurs du nombre entier n le nombre n 2 8n + 15 est-il premier? Même question pour n 2 + 4n Pour quelles valeurs de n et m (entiers) le nombre 2n 2 + 5mn + 3m 2 est-il premier? 3. Trouver entiers naturels consécutifs, tous composés. 4. Théorème : Soit n un entier naturel. Si n est un nombre premier, alors pour tout entier a premier avec n, on a a n 1 = 1 mod n (c est-à-dire n divise a n 1 1). Remarque : Le théorème de Fermat peut être utilisé pour montrer qu un entier n est pas premier : si il existe un entier a premier avec n tel que a n 1 1 mod n alors n n est pas premier. Application : L entier est-il premier? Test de primalité de Miller-Rabin Soit p un nombre premier impair que l on écrit sous la forme p = 2 s d+1. Soit a {1,..., p 1}. On définit une suite récurrente (b i ) en posant : b i = a d 2i. 1. Montrer que dans Z/pZ, l équation x 2 = 1 entraine x = 1 ou x = Montrer que b s 1 mod p. 3. On suppose que b 0 n est pas congru à 1 modulo p. Montrer l existence de i {0,..., s 1} tel que b i 1 mod p. 4. En déduire un test de non-primalité d un entier Algorithme p 1 de Pollard Le but est de trouver un fecteur non trivial de n = On prend B = 19 et a = Vérifier que gcd(a, n) = Déterminer, pour chaque nombre premier 19, sa plus grande puissance qui soit n. Soit Q le ppcm de toutes ces puissances, et p un hypothétique fecteur premier de n tel que p 1 soit 19-friable Montrer que p 1 divise Q. 4. En déduire que p divise a Q 1 (on pourra utiliser le petit théorème de Fermat). 5. En déduire que gcd(a Q 1, n)(= gcd((a Q 1) mod n, n)) est différent de On admet le calcul intermédiaire a Q mod n = En déduire numériquement un facteur non-trivial de n Théorème de Wilson Le but de cet exercice est de démontrer le théorème de Wilson : un entier n 2 est premier si et seulement si (n 1)! 1 mod n. 1. Soit p premier. Combien de solutions l équation x 2 = 1 admet-elle dans Z/pZ? 2. Soit p premier. Montrer que (p 1)! = 1 mod p. 3. Soit n 2 un entier tel que n divise (n 1)! + 1. Montrer que pour tout a {1,..., n 1}, a est inversible dans (Z/nZ, ). En déduire que n est premier. 5. C est-à-dire que tous les facteurs premiers sont inférieurs à / 63
18 18 CHAPITRE 1. ÉNONCÉS 1.5 Échange de clefs Fonctionnement clé privée vs clé publique Expliquez les principes de fonctionnement de la cryptographie symétrique et de la cryptographie asymétrique, en mettant en évidence les différences entre ces deux catégories, leurs avantages et leurs inconvénients respectifs. Vous pourrez illustrer votre réponse par un exemple de chaque catégorie, décrit aussi précisément que possible. Réponse limitée à une page Clé privée vs clé publique Dix-sept personnes veulent pouvoir s échanger des messages deux à deux. Si elles choisissent un système à clé secrète, combien de clés faut-il en tout? Même question pour un système à clé publique. Quels sont les avantages de chaque système? Lequel conseillez-vous? Diffie-Hellman Déterminer la clé commune d Alice et Bob dans le cas où p = 23 et g = 3 et Alice choisit un nombre secret a = 6 et Bob choisit b = Perte d une clé privée Un utilisateur, qui utilise souvent la messagerie sécurisée de son entreprise, vient de perdre sa clé privée, mais dispose encore de la clé publique correspondante. 1. Peut-il encore envoyer des courriers électroniques chiffrés? En recevoir? 2. Peut-il encore signer les courriers électroniques qu il envoie? Vérifier les signatures des courriers électroniques qu il reçoit? 3. À quoi peut encore servir la clé publique de notre utilisateur? 4. Que doit-il faire pour être à nouveau capable d effectuer toutes les opérations mentionnées ci-dessus? Attaque par le milieu de Diffie-Hellman Décrire une attaque dans le protocole de Diffie-Hellman dans laquelle un attaquant actif (i.e. qui peut modifier les données pendant le protocole Diffie-Hellman) peut ensuite intercepter, déchiffrer et modifier toutes les communications qu Alice ou Bob chiffrerait avec sa clé.
19 1.6. CHIFFREMENT Chiffrement Kid-RSA Cet exemple indiqué à des fin pédagogiques par Neil Koblitz donne une idée de ce que peut être la cryptographie à clé publique. Evidemment il n est pas réaliste dans la mesure où il est élémentairement cassable. Les lettres A, B,..., Z sont représentées par les nombres 0, 1,..., 25. Alice choisit 4 entiers 3 notés a, b, a, b et calcule successivement : M = ab 1 e = a M + a d = b M + b n = ed 1 M Alice rend public (dans un annuaire par exemple) le couple (n; e) (sa clé publique) et maintient d secret (sa clé privée). L utilisation du système se fait de la façon suivante : si Bob désire envoyer un message à Alice, il chiffre successivement toutes les lettres de ce message en faisant correspondre à tout nombre m compris entre 0 et 25 le nombre c = em mod n. 1. Montrer que n > 25. Pourquoi est-il souhaitable qu il en soit ainsi? Montrer que e et n sont premiers entre eux. 2. Comment Alice peut elle récupérer simplement m lorsqu elle a reçu c? 3. Charlie écoute la ligne de communication entre Alice et Bob et disposent donc de c. Comment peut-il attaquer le système et découvrir m? 4. Utiliser ce système pour signer un message Chiffrement/Déchiffrement RSA On considère la clef publique RSA (11, 319), c est-à-dire pour n = 319 et e = Quel est le chiffrement avec cette clé du message M = 100? 2. Calculer d la clé privée correspondant à la clé publique e. 3. Déchiffrer le message C = Le message chiffré 625 peut-il résulter d un chiffrement avec la clé publique? Exemples de RSA Considérer le système RSA avec p = 19 et q = Calculer n et φ(n). 2. Calculer l exposant d associé à e = 9, puis e = Calculer l exposant d associé à e = 17. Dans le tableau ci-contre n et e sont publics : n = pq avec p et q deux nombres premiers secrets. e a pour inverse d : ed = 1 mod (p 1)(q 1) qui est tenu secret. On donne un chiffré C = m mod n. À vous de retrouver p, q et m. Détaillez votre méthode et vérifiez votre résultat. n e C Donner un autre triplet (n, e, C) (non présent dans le tableau ci-dessus) à votre voisin. À lui de déterminer p, q et m. 19 / 63
20 20 CHAPITRE 1. ÉNONCÉS Chiffrement RSA Examen On utilise les notations habituelles du chiffrement RSA : N est un entier et p et q sont deux entiers premiers tels que N = pq. On note φ l indicatrice d Euler φ = φ(n) = (p 1)(q 1) et e et d sont deux éléments de Z/NZ tels que ed = 1 mod φ. 1. On souhaite utiliser l algorithme de chiffrement RSA. Comment chiffre-t-on un message m? 0.5pt Et comment déchiffre-t-on un message c? 0.5pt Parmi les entiers N, p, q, φ, e et d quels sont ceux qui doivent rester secrets? 0.5pt Montrer que la divulgation de l une quelconque des valeurs secrètes permet de retrouver toutes les autres valeurs privées. 2pts 2. On pose N = 1003 et e = 3. Calculer p, q et φ. 1pt Que vaut alors l entier d associé à e? 1pt Que vaut le message chiffré c associé au message clair m = 4? 0.5pt Dans ce cas particulier, est-il possible de retrouver m à partir de c sans connaître d? 1pt 3. On pose désormais N = 65. Donner tous les couples (e, d) possibles. 1pt Chiffrer le message m = 4 en utilisant e = pt Vérifier le résultat obtenu en le déchiffrant à l aide de la clef privée correspondante. 1.5pt RSA-3 Dans tout cet exercice, on se donne trois entiers premiers impairs p, q et r differents deux à deux. Soit n l entier égal au produit pqr. On s intéresse ici à un cryptosystème identique à RSA. 1. Montrer que l on peut définir, de la même manière que pour RSA, une fonction de chiffrement et de déchiffrement ainsi qu un cryptosystème à clé publique en utilisant l entier N. Vous exhiberez les clés publiques et privées et définirez l ensemble des messages possibles. On notera ce cryptosystème RSA-3 dans toute la suite de l exercice. 2. Rappeler quels sont les messages qui sont dangereux lors de l utilisation de RSA. Quels seront ceux qui seront dangereux pour RSA-3? (Vous argumenterez votre réponse.) 3. Montrer qu il est possible d utiliser le théorème des restes chinois lors du déchiffrement d un message. 4. Donner le chiffrement de x = 13 et le déchiffrement de y = 11 en utilisant le théorème des restes chinois avec p = 3, q = 5, et r = 7 et e (l exposant de chiffrement) égal à 19. Réaliser un protocole de chiffrement à la RSA-3 avec votre voisin. Noter sur une feuille, que vous me rendrez, l ensemble des résultats.
21 1.6. CHIFFREMENT Chiffrement El Gamal Alice choisit p = 97 et g = 13. (a) Elle choisit aléatoirement un nombre a, disons 45, dans l intervalle [1,..., 95]. (b) Elle calcule α = (13 45 mod 97) = 20. (c) Elle publie sa clé (97, 13, 20) et garde secrète sa clé 45. Bob veut envoyer le message RAS à Alice. (a) En utilisant le code ASCII, son message est (b) Il le découpe en nombres entre 0 et 97 : (c) Il choisit aléatoirement un nombre b, disons 35, dans l intervalle [1,.., 95]. (d) Il calcule β = mod 97 = 71 mod Vérifier que le chiffré de son message est (71, ). 2. Comment Alice déchiffre-t-elle le message de Bob? Déchiffrer-le. Réaliser un protocole de chiffrement à la El Gamal avec votre voisin. Noter sur une feuille, que vous me rendrez, l ensemble des résultats Changement de clés Alice change sa clé RSA tous les 25 jours. Bob lui change sa clé tous les 31 jours. Sachant qu Alice change sa clé aujourd hui et que Bob a changé sa clé il y a trois jours, déterminer quand sera la prochaine fois qu Alice et Bob changeront leur clé le même jour. 21 / 63
22 22 CHAPITRE 1. ÉNONCÉS 1.7 Attaques sur RSA Attaque par module commun Une implantation de RSA donne à deux personnes (Alice et Bob) le même nombre n (produit de deux nombres premiers) mais des clefs (e A, d A ) et (e B, d B ) différentes. On suppose de plus que e A et e B sont premiers entre eux (ce qui est le plus général). Supposons alors que Alice et Bob chiffrent un même message m et que Oscar intercepte les deux messages c A = m e A mod n et c B = m e B mod n qu il sait être deux chiffrements du même message m. Montrer qu Oscar peut alors très facilement découvrir le message m. Vous illustrerez cette attaque par un exemple de votre choix De φ(n) à la factorisation On considère un module RSA n = pq, où p et q sont les inconnues. Montrer simplement comment la connaissance de φ(n) = (p 1)(q 1) (la fonction d Euler) permet de remonter à la factorisation de n. On rappelle que si on connaît pq et p + q alors p et q sont racines d un polynôme de degré 2 à déterminer RSA avec deux facteurs trop proches Supposons que n soit un entier produit de deux nombres premiers p et q proches (on peut toujours supposer que p > q). On pose t = p+q et s = p q. 2 2 Montrer que : 1. n = t 2 s 2, 2. t est légèrement supérieur à la racine carrée de n. On peut utiliser ces informations pour factoriser n. L algorithme s appelle l algorithme de Fermat, le voici : 1. A n ( N) 2. x = A 2 n ( N) 3. Tant que x n est pas carré parfait (a) A A + 1 (b) x A 2 n 4. Retourner p = A + x et q = A x 1. Appliquer cet algorithme pour factoriser , puis Déterminer la complexité de cet algorithme, en fonction de p et de n. On sait que lorsque A vaudra p+q 2 = alors x = t 2 n = s 2 sera un carré. 3. Déterminer le nombre d itérations de l algorithme lorsque p diffère de n de moins de 4 4n.
23 1.7. ATTAQUES SUR RSA Malléabilité de RSA Nous allons montrer comment les propriétés multiplicatives de RSA rendent une utilisation naïve de ce cryptosystème complètement illusoire. 1. Proposer un procédé de signature naïf d un message m Z/nZ par Alice avec sa clé privée RSA. 2. Ève a réussi à se procurer les signatures du message m 1 et du message m 2. Montrer quels autres messages elle peut signer au nom d Alice, et comment. 3. Nous allons montrer une sorte de généralisation de ce procédé. On suppose qu Ève s est procuré un ensemble de signatures de messages : elle connaît un grand nombre de couples (m i ; S(m i )). De plus, les m i sont petits et Ève a pu les factoriser : i, m i = µ α i,j j. j On appelle falsifier une signature le fait d en créer une de toutes pièces. Quelles signatures Ève est-elle capable de falsifier dans ces conditions? 4. On suppose qu Ève souhaite falsifier la signature d un message cible noté m t qu elle a aussi réussi à factoriser en fonction des µ j : m t = j µ β j j. Montrer comment Ève doit s y prendre pour falsifier la signature de m t Le temps de factorisation des grands entiers Le meilleur algorithme connu à ce jour pour factoriser les grands entiers est le GNFS (General Number Field Sieve). SOn facteur de travail, pour factoriser un entier N est donné par la formule : W (N) = k exp ( c(log 2 N) 1/3 (log 2 log 2 N) 2/3) avec : c = 3 64/9. k est une constante qui dépend de la qualité du programme. 1. Calculer k sachant qu en 1999, un entier de 512 bits a été factorisé par une équipe internationale avec un facteur de travail de 8000 Mips-années ; 2. Avec cette valeur, quel est le facteur de travail nécessaire pour factoriser un entier de 768 bits? et 1024 bits? 23 / 63
24 24 CHAPITRE 1. ÉNONCÉS 1.8 Signature et hachage Signature RSA 1. Calculer le module n et l entier φ(n) associés aux nombres premiers p = 17 et q = Quels sont les exposants secrets de signature associés aux exposants publics e = 11 et e = 13? 3. Quelle est la signature de m = 100? 4. Vérifier que la vérification fonctionne. Réaliser un protocole de signature RSA avec votre voisin. Noter sur une feuille, que vous me rendrez, l ensemble des résultats Signature aveugle avec RSA Trouver un algorithme à partir de la signature R.S.A qui permet de faire un algorithme de signature aveugle. On a un message m qu on souhaite faire signer sans que le signataire sache ce qu il signe, et un couple de clés publique/privée Signature El Gamal On considère la méthode de signature d El Gamal, avec p = 467, g = 2, x = Justifier la validité du choix de p et g. 2. Calculer la clé publique y = g x mod p. 3. Calculer la signature du message m = 100 en utilisant les valeurs aléatoires k = 64 et k = Vérifier que la vérification fonctionne. Réaliser un protocole de signature à la El Gamal avec votre voisin. Noter sur une feuille, que vous me rendrez, l ensemble des résultats Signature El Gamal : utilisation de l aléa Le schéma de signature El Gamal utilise un générateur g de Z p et une clef publique y = g x mod p, où x est la clé privée. 1. Dans quel ensemble choisir x? Pour signer un message m, le signataire tire un aléa k et calcule r = g k mod p et s = k 1 (h(m) xr) où h(.) est une fonction de hachage. Le couple (r, s) est la signature du message m. 2. Décrire une attaque contre ce schéma de signature si le même aléa k est utilisé pour signer deux messages différents. De quel type d attaque s agit-il?
25 1.8. SIGNATURE ET HACHAGE Signature El Gamal sans vérification modulaire On suppose que le schéma de signature El Gamal est utilisé sans vérifier si 0 < r < p. On suppose que l ataquant connaît la signature (r, s) d un message m. Soit m un message arbitraire et s = sα avec α = h(m )h(m) 1 mod p Trouver deux équations vérifiées par r (l une modulo p et m autre modulo p 1) telles que (r, s ) soit une signature de m. 2. Comment peut-on résoudre ces équations? 3. De quel type d attaque s agit-il? Signature GHR (Gennaro-Halevi-Rabin) Ce schéma de signature proposé en 99 fonctionne de la manière suivante. On considère un module RSA de la forme N = pq où p = 2p + 1 et q = 2q + 1, avec p, p, q, q tous premiers. On prend au hasard u Z N tel que u soit d ordre 2p q (u 2p q mod N = 1). La clé publique est (N, u). La clé privée est constituée de la factorisation de N. 1. Montrer que p suffit à retrouver la factorisation de N. 2. Montrer que la valeur p q suffit également à retrouver la factorisation. 3. Quelle est la valeur de φ(n)? Soit h(.) une fonction de hachage qui produit des hachés de taille N. Pour signer un message M, on calcule m = H(M), puis s = u m 1 mod 2p q mod N : la valeur de la signature est s. 4. Pourquoi l inverse de m est-il calculé modulo 2p q? 5. Retrouver quelle est la procédure de vérification d un couple message/signature (M, s). La sécurité de ce schéma est liée au problème algorithmique suivant, qui est une variante du problème RSA (on l appelle flexible RSA) : étant donnée (N, v) où N est un module RSA et v un élément de Z N trouver un couple (x, e) tel que e > 1 et x = v mod N. 6. Rappeler la différence avec le problème RSA classique. 7. Expliquer pourquoi on impose e > Montrer que si le problème RSA classique est facile, alors le problème flexible RSA présenté ci-dessus est également facile. 25 / 63
26 26 CHAPITRE 1. ÉNONCÉS Hachage Fonction de hachage faiblement sans collision Définition : Soit h : X Y une fonction de hachage. h est dite à sens unique si, pour presque tout y de Y, il est calculatoirement infaisable de trouver x tel que y = h(x). h dite faiblement sans collision si, pour x donné, il est calculatoirement infaisable de trouver x0 tel que h(x0 ) = h(x). h est dite sans collision s il est calculatoirement infaisable de trouver x et x0 tels que h(x) = h(x0 ). 1. Montrer que sans collision implique faiblement sans collision et que à sens unique implique faiblement sans collision. 2. Montrer qu une fonction peut être sans collision mais pas à sens unique Fonction de hachage et signature Soit h une fonction de hachage à valeur dans Fn2. On considère le cas d un attaquant qui pour abuser une signature souhaite construire deux messages (presque identiques) ayant le même haché. 1. Donner une attaque en O(2n/2 ) pour la fonction de hachage h qui permet de construire deux messages (presque identiques) mais avec le même hachés. 2. Montrer comment l attaque précédente peut être utilisée avec la signature RSA pour abuser un vérificateur de signature Le buzz free mobile Le 6 janvier 2012, les geeks s agitent pour savoir quand les forfaits de la marque Free Mobile seront lancés. Le site live.free.fr contient un dessin de fusée, avec les symboles : efb7929e6a5b7dcc6ebb79aa3c45af13 Cette valeur est ce que renvoie la fonction de hachage md5 sur la donnée jesaispas. Des petits malins y voient aussi un second message caché en interprétant la chaîne précédente dans le codage ascii. On y lirait NIEL JOIN RACE >>START Est-il plausible d obtenir à fabriquer un message intelligible qui donne un haché intelligible?
27 1.10. AUTHENTIFICATION Authentification Authentification à clef secrète Il existe des protocoles permettant d authentifier une entité A auprès d une entité B. Cela présuppose donc que A sache effectivement que l entité vérificatrice est bien B, et pas un attaquant C qui se fait passer pour B. Or lors de la plupart des connexions, rien ne l en assure. Il faudrait alors que B s authentifie également auprès de A. C est ce qu on appelle l authentification mutuelle. L idée générale est alors de reprendre les protocoles qui existent pour l authentification d une entité et de l appliquer de manière symétrique pour authentifier B auprès de A. Nous allons voir sur deux exemples qu il est tout de même nécessaire de prévoir quelques ajustements. 1. Expliquer pourquoi il n est pas possible de faire de l authentification mutuelle par mot de passe. 2. Suggérer alors une attaque qui permet de récupérer un mot de passe Unix. Enumérez d autres situations dans lesquelles une interception de mot de passe est possible en l absence d authentification du serveur. On cherche maintenant à utiliser une authentification de type défi-réponse utilisant un système à clé secrète. Considérons le protocole suivant qui utilise un chiffrement à clé secrète. A et B partagent au préalable une clé secrète K. (i) A tire une valeur aléatoire r A et l envoie à B; (ii) B tire une valeur aléatoire r B et calcule β = E K (r A, r B ). B envoie β à A; (iii) A calcule D K (β). S il n y a pas eu d attaque, il retrouve r A : B s est authentifié. Il prend connaissance de r B. Il envoie r B à B : A s est authentifié. 3. Trouver une attaque de ce protocole par rejeu. On donne les éléments de départ de l approche. Le participant A est honnête, et l attaquant C (malhonnête) se fait passer pour B.C va, parallèlement à la tentative d authentification mutuelle émanant de A (vers B, pense-t-il) appelée session 1, initier une session d authentification vers A (en faisant croire qu elle émane de B), qu on appellera session 2. Les messages de ces deux sessions s entrelacent. Les premières étapes sont (exactement dans cet ordre) : session 1 : A envoie r A à C. session 2 : C envoie r A à A. Compléter, et expliquer d où provient le problème. 4. Suggérer une amélioration Authentification à clef publique Proposer un schéma basé sur le chiffrement ou sur la signature pour faire de l authentification à clé publique. 27 / 63
28 28 CHAPITRE 1. ÉNONCÉS Schéma de Schnorr Dans un protocole d identification, un vérificateur V veut vérifier l identité d un prouveur P. Pour cela, P doit convaincre V qu il est en possession d un certain secret s. Les deux objectifs essentiels d un tel protocole sont d une part qu un usurpateur U ne connaissant pas s ne puisse pas convaincre V, et d autre part que P puisse convaincre V qu il possède s sans lui révéler la valeur de s (sinon V pourrait devenir à son tour un usurpateur de l identité de P ). Nous décrivons maintenant le protocole d identification de Schnorr : p et q sont des nombres premiers tels que q divise p 1 et α est un élément d ordre q du groupe multiplicatif (Z/pZ). Un nombre s mod q est le secret de P, tandis que les valeurs de p, q, α, et v := α s mod p sont publiques. Le protocole d identification se déroule en quatre étapes : 1. Engagement : P choisit aléatoirement un entier r mod q et transmet x = α r mod p à V. 2. Challenge : V envoie un challenge e [0; q 1[ à P. 3. Réponse : P envoie y = r + es mod q à V. 4. Vérification : V vérifie que x = α y v e mod p. P a réussit son identification auprès de V si la vérification est positive. 1. Montrer que P réussit toujours son identification auprès de V. 2. U tente de s identifier auprès de V. Pour cela il répond un y aléatoire à l étape 3. Quelles sont ses chances de succès? 3. Supposons que le protocole précédent soit mal exécuté, et que l ordre des étapes 1 et 2 soit inversé. Montrez que U peut alors réussir son identification auprès de V. 4. Montrez que, si pour un même engagement r, U est capable de répondre correctement à deux questions e et e distinctes posées par V, alors il connait s.
29 1.11. PKI, CERTIFICATS PKI, Certificats PKI Proposer une méthode à base de certificat pour vérifier une signature reçue par un individu, sans avoir à consulter un annuaire ou une base de données Certificats Discuter les trois scénarios suivants en termes de sécurité : 1. Deux certificats différents sont signés par la même clef privée. 2. Deux certificats différents contiennent la même clef publique. 3. Deux certificats différents ont la même signature Distinguer les clefs utilisées dans PGP PGP utilise 4 clefs quand un utilisateur A souhaite signer et chiffrer un courrier électronique pour un utilisateur B : la clef utilisée pour signer le contenu du courrier, la clef utilisée pour déchiffrer la clef utilisée dans la première étape, la clef utilisée pour chiffrer le contenu du courrier, la clef utilisée pour chiffrer la clef utilisée dans la troisième étape. 1. Lesquelles de ces clefs sont dites symétriques? 2. Quelles longueurs (exprimées en bits) semblent adéquates pour des clefs symétriques? Même question pour des clefs asymétriques. 3. Expliquer à quel moment les 4 clefs considérées sont générées Hachés de mots de passe Les systèmes d authentification usuels vérifient les mots de passe à l aide de leur haché stocké dans des fichiers protégés. 1. Quelle est l utilité de stocker les hachés des mots de passe plutôt que les mots de passe eux-mêmes? 2. Pourquoi doit-on protéger l accès aux hachés des mots de passe? 3. Sous quelle condition cette précaution ne serait-elle pas nécessaire? 29 / 63
30 30 CHAPITRE 1. ÉNONCÉS Le protocole HTTPS Le protocole HTTPS (HTTP sur SSL/TLS) est couramment utilisé pour sécuriser les communications entre un serveur web et un navigateur. Pour cela, une session HTTPS s appuie sur un certificat diffusé par le serveur permettant d effectuer une session d authentification initiale et ensuite un chiffrement du canal de communication dans lequel transite l échange HTTP. 1. Lors de l authentification, le protocole utilise une clef publique contenu dans un certificat que le serveur détient et diffuse au client à l établissement de la connexion. Quelles sont les protections offertes par cette utilisation d un certificat serveur? 2. Comment l utilisateur du navigateur peut-il être assuré que cette clef publique correspond bien à l organisme auquel il souhaite accéder? 3. Pourquoi de nombreux services web, utilisant pourtant HTTPS, demandent-ils en plus à l utilisateur de fournir un nom de compte et un mot de passe pour compléter l ouverture de session? 4. Il est possible d utiliser un certificat client stocké sur le navigateur pour l échange HTTPS. Quel est l effet de l utilisation d un certificat client sur la protection de l ensemble du service? 5. Avec un certificat client, l utilisateur doit quand même parfois fournir une passphrase : de quel mot de passe s agit-il? 6. Pensez-vous qu il y ait une «passphase» utilisateur sur la partie privée du certificat serveur? Pourquoi? La carte bleue Une carte bancaire (à puce) possède un couple clé publique/clé privée k P, k S. Dans la perspective d une transaction, elle accomplit plusieurs choses. En premier lieu, elle apporte une preuve qu elle est une vraie carte, car : Elle produit une signature valide σ = A ks (m) avec sa clé privée d un message aléatoire qu on lui fournit. Elle peut exhiber une preuve que sa clé publique k P qu elle fournit, et qui est nécessaire pour vérifier σ, est bien une clé que la banque reconnaît comme appartenant à un de ses clients. 1. Quelle forme peut prendre la preuve précédemment citée? Quelle connaissance doit avoir le distributeur pour vérifier cette preuve? 2. Logistiquement parlant, est-il pratique de s assurer que tous les distributeurs sur la planète ont cette connaissance? Quel rôle peuvent jouer alors des organismes plus mondiaux comme Visa, Mastercard? En second lieu, la carte dit oui ou non à une proposition de valeur pour le code PIN que lui relaie le distributeur (celui-ci ne relaie le code PIN que si la carte s est authentifiée auprès de lui). Lors d une transaction, la carte a pour vocation de dire ok ou pas à un montant de transaction. Elle peut éventuellement aussi dire il faut demander à la banque. Pour dire ok, la carte renvoie un code d autorisation qui est une signature du montant de la transaction et du numéro de carte. 3. Si un attaquant parvient à trouver la clé secrète k S de la carte, et qu il dispose du matériel pour fabriquer une carte, que peut-il faire? Même question s il parvient à trouver la clé secrète de la banque.
31 Chapitre 2 Corrections 2.1 Pour se familiariser avec les ordres de grandeur Mot de passe 1. Il faudrait ainsi, en moyenne moins de 17 minutes et dans le pire des cas moins de 5 heures et 30 minutes pour retrouver le mot de passe. 2. Soit donc 2 jours et 8 heures au maximum et vraisemblablement moins de 50 minutes. 3. Il y 10 4 = mots de passe différents constitués de 4 chiffres, ce qui représente 2h et 45 minutes pour tous les tester. 4. Si il s agit de 8 lettres minuscules, il faut : 26 8 s 6600 années. Cependant si l on s autorise les minuscules, les majuscules, les chiffres et quinze signes de ponctuations : 77 8 s années Dénombrements 1. 26, trivialement [environ 4,7 bits]. 2. On a 26 choix pour b, mais a doit être inversible modulo 26, sinon on ne peut pas déchiffrer! Donc il y a φ(26) = (13 1)(2 1) = 12 choix pour a. Au total : = 312 clés [environ 8,29 bits]. 3. On a droit à toutes les permutations des valeurs [0,26] : chaque lettre est transformée en l une des 26 autres, mais de façon bijective. Donc 26! clés possibles [88,4 bits... mais c est sans compter l exploitation des redondances linguistiques]. 4. Il y a 26 choix possibles pour chacun des k caractères donc 26 k clés possibles [4,7 bit par caractère de clé] Vider l océan avec un dé à coudre Volume d un dé à coudre : V de = π 1,52 4 1, 5 2, 6507cm 3 Volume de l océan : V docean = , 8 = 13, km 3 = 13, cm 3 Il y a donc r = Vocean V de 0, dés à coudre dans l océan. On a log 2 (r) 78,
32 32 CHAPITRE 2. CORRECTIONS La force brute 1. Le temps pour tester une clé est t = facteur de travail puissance = 0, s 2. Il y a n = , clés à tester. On considère les clés possible comme étant les entiers de 0 à , et la clé secrète est notée k. On a deux scenarios d attaque par force brute possible. On note n = Si on essaie tous les entiers les uns après les autres. La probabilité, pour un entier i donné, d avoir k = i (et donc d avoir exactement i+1 tirages à effectuer si on part de 0), est égale à 1 n. L espérance du nombre d essais est donc : n 1 (i + 1) 1 n i=0 3. On use et abuse des approximations : = n(n + 1) 2n n = , 1jour = 2 16 s, 1an = 2 9 jour = 2 25 secondes, etc. On calcule le nombre d instructions calculées en un an à la fréquence de 2000 Mips : 2000 Mips.années instructions. Le nombre d instructions à effectuer pour trouver la clé est : Soit un temps de années (ou en base 10 : 2 (2 10 ) ). Le milliard ( 2 30 ) de PC d Internet permettent de gagner un facteur 2 30, ou Soit quelque chose comme années, soit un petit million de fois l âge de l univers La loi de Moore 1. On a d un part W n+1 = aw n et la loi de Moore nous indique que W n+18 = a 18 W n = 2W n. On en déduit donc que a = L hypothèse est que la machine a une fréquence de 1000 Mips (2 30 par seconde), donc en un mois (2 5 jours de 2 16 secondes, en gros), ça fait 2 51 instructions. En outre on a : W n = a n W Au bout de n mois, le nombre d instructions S n effectué est W W n 1, soit : S n = W 0 (1 + a + + a n 1 ), = 2 51 an 1 a 1. Pour que S n dépasse le nombre d instructions à effectuer, qui est ( = ), il faut une estimation à la louche de a 1. À la calculatrice on obtient a 1 1. On vise 25 donc : a n (a 1), ,
33 2.1. POUR SE FAMILIARISER AVEC LES ORDRES DE GRANDEUR 33 n 82 log 2 2 log 2 a années. Ce qui est très très loin du temps calculé à l exercice précédent. Il faut penser à rajouter qu on a donc besoin de changer 1476 fois d ordinateurs. 33 / 63
34 34 CHAPITRE 2. CORRECTIONS 2.2 Vigénère, Polybe et Hill César/Vigénère 1. Un texte long car les fréquences sont alors plus proche des fréquences moyennes de la langue (on a moins de variations). 2. Décalage a p. 3. Oui puisqu il retrouve trivialement la clé. 4. Il saucissonne le message en morceaux correspondants aux classes de congruence modulo la longueur de la clé, et il se retrouve avec une cryptanalyse de type César. 5. Non, puisqu il est aisé de commencer par un pari sur la longueur de la clé (une hypothèse raisonnable étant que la clé fait moins de vingt caractères) Chiffrement de Vigénère 1. On additionne chaque lettre du clair avec la lettre correspondante de la clé répétée suffisamment de fois. On obtient le chiffré suivant : VVVIXGGTPTMOFVADWST La réponse WWWJYHHUQUNPGWBEXTU est également acceptable mais elle correspond au cas A=1 (et non A=0). 2. On fait cette fois une soustraction du clair au chiffré. On obtient la clé suivante : INTROUVABLEINTROUVA Si on prend A=1 (mais alors on est forcé de prendre Z=0), la clé est HMSQNTUZAKD. 3. Même technique que précédemment et on trouve : HWDIXJYALZKDBACRCBP. Il n y a pas de périodicité dans la clé : c est un masque jetable (sécurité infinie) Chiffrement de Polybe 1. Une attaque à clair connu dévoile une lettre de la clé pour chaque nouvelle lettre du message clair. Compte tenu du fait que les dernières lettres du tableau sont rangées dans l ordre alphabétique, la reconstruction est très rapide. Pour une attaque simple, il faut se baser sur la fréquence d apparition des lettres, le chiffrement étant une substitution mono-alphabétique. 2. CHERE ANNA RENDEZ VOUS A DEUX HEURES RUE VERTE RAOUL Le secret étant SCYTALE. La présence du 55 (supposément le Z) et la fréquence d apparition du 22 (le E) constituent le point de départ. Les mots RAOUL et ANNA (mot symétrique facilement reconnaissable) est également prévisible Chiffrement affine 1. CRYPTO et ROXEYZ sont respectivement représentés par les suites d entiers : [2, 17, 24, 15, 19, 14] et [17, 14, 23, 4, 24, 25]. Il s agit de résoudre le sytème : 2a + b = 17 qui a comme solution (a, b) = (5, 7). 17a + b = 14
35 2.2. VIGÉNÈRE, POLYBE ET HILL Si on chiffre deux fois par un chiffre affine de clé (a, b ) on obtient une fonction qui à x Z/26Z associe : a (a x + b ) + b = a 2 x + (a b + b ). On obtient donc un chiffre affine de clé (a, b ) avec : a = a 2 b = a b + b NGBAMX est représenté par la suite d entiers : [13, 6, 1, 0, 12, 23]. La résolution du système : 2a + b = 13 donne cette fois : (a, b ) = (3, 7) Chiffrement de Hill Examen a + b = 6 La matrice multipliée à M n est pas inversible dans M 4 (Z 26 ) (son déterminant est pair et donc non inversible dans Z 26 ), nous considérons donc le bigramme suivant : tq qui doit être déchiffré en fr et nous obtenons la nouvelle équation : Soit : M. ( 9 ) = ( ) ( ) ( ) M = ( ) ( ) = (5 1 mod 26) Le déchiffrement du bigramme gz donne alors : ( ) ( ) = ( ) = ( ) soit le bigramme po et le déchiffrement complet de gzatzxjihvbreosu nous donne le texte clair : polyalphabetique. 35 / 63
36 36 CHAPITRE 2. CORRECTIONS 2.3 Chiffrement et modes de chiffrement Cryptographie à clé secrète Examen Rijndael 0.5pt 2. décoder = convertir des données encodées en données claires (aucune clef n est en jeu, ni aucun chiffrement), déchiffrer = déterminer le message clair à partir du texte chiffré en utilisant la clef, décrypter = retrouver le texte clair sans connaître la clef de chiffrement. 1.5pt 3. La confusion correspond à une volonté de rendre la relation entre la clé de chiffrement et le texte chiffré la plus complexe possible. La diffusion signifie que la moindre modification du message clair entraîne une grande modification du message chiffré. 2pts 4. Le message clair est découpé en paquets qui vont subir des transformations simples (permutation, décalage, boîtes S, schéma de Feistel, etc...). 1.5pt 5. Feistel, Biham, Shamir, Anderson, etc pt Amélioration d un système de chiffrement Monsieur X n a rien compris aux principes de Kerchoffs. Sa clé reste k. Son hypothèse doit être que son attaquant sait tout ce qu il fait hormis la clé. Or, ici, on n a toujours que 2 56 valeurs de k à tester Mode ECB 1. Deux blocs identiques auront le même chiffré, ainsi de l information peut fuir. 2. On peut supposer que l entrée de Jack donne la correspondance suivante : Ja ck?? Q9 2D FP VX C9 IO FP doit correspondre au séparateur de champ. Jane a aussi un prénom de 4 lettres qui commence par Ja donc son entrée chiffrée commence par Q9??FP, c est Q9AXFPC9IOIO. Son salaire est ainsi C9IOIO, soit euros par an. 3. Cela correspond à remplacer les couleurs si la taille du bloc correspond à un pixel, ou des blocs d image par d autre, on reconnaitra la forme de l image : par ex les pixels noir deviendront tous rouges Mode CBC 1. Le voilà : 2. Si il n y avait pas d IV deux blocs identiques aux mêmes positions de deux fichiers alors leurs chiffrés seraient identiques et on le saurait. Si l on pense aux exemples précédents, on pourrait dire par exemple : 4 personnes ont le même salaire ou le centre des deux images est identiques. 3. Seulement deux blocs sont altérés.
37 2.3. CHIFFREMENT ET MODES DE CHIFFREMENT Mode CTR 1. Pas besoin de fonction de déchiffrement! C est avantageux dans certain cas : pour AES le déchiffrement est plus cher que le chiffrement. 2. C est un IV, sinon toujours le même stream. 3. Facilement parallélisable Attaque par insertion 1. Si l insertion est au bloc i (les blocs étant numérotés à partir de 0), alors les blocs de 0 à i 1 des chiffrés sont identiques. 2. Le bloc c i vaut alors 0 P i, où P i est soit E K (nonce + i) pour le mode compteur, ou bien pour OFB P i = E K (P i 1 ) et P 0 = E K (IV ). Du coup, comme c i = m i P i,, on récupère mi = c i c i. 3. Il ne faut jamais réutiliser la même IV Malléabilité des chiffrements par flot 1. D une clé k et d un vecteur d initialisation IV, on déduit une chaîne de bits pseudoaléatoire S(k, IV ). Ceci permet de définir le chiffré : 2. Si on pose C = C M, on a alors : C = E k,iv (M) = M S(k, IV ) C = (M S(k, IV )) M = (M M ) S(k, IV ) = E k,iv (M M ) 3. Si on connaît le format des messages échangés, il est alors facile d en transformer le sens : transformer TRANSFER $ TO ACCOUNT #199 en TRANSFER $ TO ACCOUNT #227 ne demande pas beaucoup d information supplémentaire. 37 / 63
38 38 CHAPITRE 2. CORRECTIONS DES et 2DES 1. Avec la technologie actuelle, il est recommandé d utiliser un algorithme de chiffrement symétrique avec une clé de taille minimale de 64 bits. Puisque DES utilise une clé secrète dont 56 bits sont effectifs, il n est pas recommandé de chiffrer avec une seule application de DES. En pratique, on utilise 3DES (noté aussi T DES) avec 2 ou 3 clés différentes : 3DES = DES k1 DES k2 DES k3 Il a été prouvé que 3DES augmente la complexité de cryptanalyse par rapport à DES d un facteur de 2 (c.à.d. 3DES est équivalent à DES avec une clé de 112 bits). 2. 2DES = DES k1 DES k2 (a) 2DES est plus rapide que 3DES mais plus lent que DES et a priori il est plus robuste que DES. Naïvement, on peut estimer la force cryptographique ajoutée par 2DES à un facteur de 2 puisque on applique deux fois DES avec deux clés différentes. (b) Analyse de sécurité de 2DES : i. Avec DES, on chiffre un bloc de 64 bits avec une clé de 56 bits. Avec 2DES, on chiffre un bloc de 64 bits avec une clé de 112 bits ( bits). Si on considère un message m de 64 bits, le message chiffré c avec 2DES correspondant (c = 2DES(k; m)) est aussi de 64 bits. Pour un message m donné, il y a 2 64 valeurs possibles pour le message chiffré c. Puisqu il y a valeurs possibles pour la clé, en moyenne il y a donc /2 64 = 2 48 valeurs de clés possibles qui donnent le même message c. ii. Meet in the middle attack : attaque permettant de faire un compromis entre le temps de calcul et l espace de stockage utilisé pour la cryptanalyse (Diffie et Hellman 1977). L attaquant construit deux listes L 1 et L 2 telles que : L 1 = {DES(k; m); k} et L 2 = {DES 1 (k; c); k}. Il retrouve ainsi deux listes de textes chiffrés intermédiaires. Parmi ces textes intermédiaires, il y a en moyenne 2 48 chiffrés que l on retrouve dans les deux listes. L attaquant retrouve ainsi en moyenne 2 48 clés possibles (meet in the middle). Si l attaquant connaît une deuxième paire de texte clair/chiffré, il peut refaire les mêmes opérations en utilisant cette fois les clés obtenues à partir de la première paire et ainsi augmenter la probabilité de retrouver la clé secrète. iii. Le nombre de clés possibles en moyenne se réduit à 2 48 /2 64 = La probabilité que l attaquant retrouve la clé secrète est donc égale à Il faut savoir que la cryptanalyse de DES requiert un effort de l ordre de 2 55 opérations du fait de la propriété de complémentarité de DES. Donc, l attaquant de 2DES effectue en tout 2 55 opérations de chiffrement et 2 55 opérations de déchiffrement pour la première paire de textes clair/chiffré et 2 48 opérations de chiffrement et 2 48 opérations de déchiffrement pour la deuxième paire : un effort de l ordre de 2 ( ) < 2 57 opérations. La cryptanalyse de 2DES nécessite donc un effort de l ordre d une attaque de recherche exhaustive d une clé de 57 bits.
39 2.3. CHIFFREMENT ET MODES DE CHIFFREMENT Algorithme de Berlekamp-Massey N s N d L f(x) m g(x) X X 3 + X X 3 + X 2 + X X 2 + X X 2 + X X 5 + X 2 + X X 2 + X X 5 + X X 2 + X + 1 Conclusion : Le LFSR de longueur 5 ayant pour polynôme de rétroaction X 5 + X génère donc la suite donnée. Attention! Le polynôme que l on trouve via Berlekamp-Massey correspondant aux bits que l on considère pour la rétroaction (X étant le bit le plus à GAUCHE dans le registre). Le polynôme se lit donc dans l autre sens / 63
40 40 CHAPITRE 2. CORRECTIONS 2.4 Méthodes de calcul Square and Multiply Pas de correction Calcul modulaire d où = = = 0 mod mod 66 = 1 donc mod 66 = mod 1024 = 1 donc mod 1024 = = 4 ( (1 + 8)) donc = ( 456 (456 (456 8 )) 64) Théorème des restes chinois Application - 1 SQ : = SQ : = SQ : = MUL : = SQ : = SQ : = 6555 SQ : = MUL : = SQ : = SQ : = MUL : = MUL : = SQ : = = Il s agit de trouver x positif et minimal vérifiant le système : x = 3 mod 17 x = 4 mod 11 x = 5 mod 6 D après le théorème des restes chinois (puisque 17, 11 et 6 sont premiers entre eux deux à deux), les solutions sont de la forme : ou encore x = u u u n x = 198u u u n avec n entier. Il reste à trouver les u i. On a x mod 17 = u mod 17 = 3 mod 17 donc u 1 est l inverse de 11 6 mod 17. On a par division euclidienne : 66 = = =
41 2.4. MÉTHODES DE CALCUL 41 On en déduit que 1 = et puisque 2 = , on a 1 = 15 7( ) c est-à-dire 1 = Mais 15 = d où 1 = 8( ) On obtient pour finir 1 = et u 1 = 8. De la même manière, on trouve u 2 = 4 et u 3 = 1. Donc x = n = n est donc une solution possible pour notre cuisinier, mais ce n est pas la plus petite. Il suffit d effectuer la division de 4151 par 1122 pour trouver comme reste 785 qui est le nombre minimal de pièces que peut obtenir le cuisinier. Application Application - 3 Pas de correction Autour des nombres premiers 1. n 2 8n + 15 = (n 3)(n 5) Pour que n n 2 8n + 15 soit premier il faut que n 3 = ±3 ou n 5 = ±1 n = 2, 4 ou 6; n 2 8n + 15 vaut alors 3, 1 ou 3, seul 3 est premier, les solutions sont donc : 2 et 6. n 2 + 4n + 3 = (n + 1)(n + 3) Pour que n 2 + 4n + 3 soit premier il faut que n + 1 = ±1 ou n + 3 = ±1 n = 4, 2 ou 0, il vaut alors 3, 1 ou 3, seul 3 est premier ; les solutions sont donc : 4 et Valeurs des nombres entiers naturels n et m pour que le nombre 2n 2 + 5mn + 3m 2 soit premier. On a la factorisation suivante : 2n 2 + 5mn + 3m 2 = (n + m)(2n + 3m) Pour que 2n 2 + 5mn + 3m 2 soit premier, il est nécessaire que n + m = ±1 ou que 2n + 3m = ±1. Or n et m sont des entiers naturels donc n + m = ±1 n + m = 1 (n = 0 et m = 1) ou (n = 1 et m = 0) et 2n + 3m = ±1 est impossible ; Examinons maintenant les deux cas restants : n = 0 et m = 1 : 2n 2 + 5mn + 3m 2 = 3 premier, n = 1 et m = 0 : 2n 2 + 5mn + 3m 2 = 2 premier ; Au final, 2 solutions : (n; m) = (0; 1) ou (1; 0). 41 / 63
42 42 CHAPITRE 2. CORRECTIONS 3. Les entiers consécutifs 1001! + 2, 1001! + 3,..., 1001! sont respectivement divisibles par 2, 3,..., et sont donc tous composés ; Par exemple, 1001! + 2 = = 2( ) donc ! + 2 (et 1 < 2 < 1001! + 2); Ils forment donc entiers naturels consécutifs, tous composés. Ainsi, les nombres premiers sont infinis mais on peut trouver des "plages" aussi grandes qu on veut sans nombres premiers! 4. On calcule mod en utilisant l exponentiation rapide. On a = donc = = mod donc n est pas premier. Malheureusement, le théorème de Fermat ne permet pas de montrer directement qu un entier est premier Test de primalité de Miller-Rabin Indication 1. Factoriser x 2 1 et utiliser que Z/pZ est intègre. 2. Appliquer le petit théorème de Fermat. 3. Poser i = sup{j 0; b j n est pas congru à 1} modulo p. 4. Corrigé 1. On factorise x 2 1 en (x 1)(x + 1). Par intégrité de Z/pZ, l équation (x 1)(x + 1) = 0 entraine x = 1 ou x = On a b s = a d 2s = a p 1. Le résultat est donc une conséquence immédiate du petit théorème de Fermat. 3. Posons = sup{j 0; b j n est pas congru à 1} modulo p. Un tel nombre existe car b 0 n est pas congru à 1 modulo p (l ensemble que l on considère est non vide), et pour tout j s, b j 1 [p] (l ensemble est majoré par s, et même par s 1). Ainsi, on a i {0,..., s 1}. D autre part, b 2 i = b i+1 1 [p]. D après le résultat de la première question, b i 1 [p] ou b i 1 [p]. La première possibilité est exclue par définition de i. Donc b i 1 [p]. 4. Soit p un entier impair dont on souhaite tester s il est premier. On le factorise sous la forme p = d 2 s + 1. Pour différentes valeurs de a, on calcule la suite b i donnée par l énoncé. Si b 0 1 et pour tout i {1,..., s 1}, b i n est pas congru à 1 modulo p, alors on est sûr que p n est pas premier. C est le test de (non-)primalité de Miller-Rabin Algorithme p 1 de Pollard n est pas un multiple de 3, d où le résultat. 2. Les puissances demandées sont 2 24, 3 15, 5 10, 7 8, 11 6, 13 6, 17 5, p 1 est supposé 19-friable, donc s écrit 2 e 2 3 e e 19. Par ailleurs, p 1 p n donc 2 e2 < n ce qui implique que e De même e 3 15,..., e 19 5, et au bilan p 1 = 2 e 2 3 e e 19 divise Q =
43 2.4. MÉTHODES DE CALCUL D après le petit théorème de Fermat, on a a p 1 = 1 mod p. Comme p 1 divise Q, on en déduit a Q = 1 mod p, c est-à-dire ce qui est demandé. 5. p divise n par hypothèse et p divise a Q 1 d après la question précédente. Donc gcd(a Q 1, n) est divisible par p, en particulier il est 1. À cette étape, on a peut-être pas encore un facteur non trivial de n : en effet le gcd est certes 1 mais peut être très bien égal à n. Aller plus loin et trouver un facteur de n nécessite donc d avoir la chance que le pgcd soit < n. Ne pas avoir cette chance signifie que l hypothèse p 1 est 19-friable était fausse. Il faut alors recommencer l algorithme avec une borne de friabilité plus grande (c est-à-dire moins contraignante). 6. On calcule gcd( , ) = Ce dernier est un facteur non trivial de Théorème de Wilson Indication 1. Factoriser x On pourra regrouper chaque élément de { 1,..., p 1} avec son inverse dans Z/pZ. 3. Appliquer le théorème de Bezout. Corrigé 1. L équation x 2 = 1 est équivalente à (x 1)(x+1) = 0, ce qui est équivalent à dire, puisque Z/pZ est un corps, x = 1 ou x = Travaillons dans Z/pZ. Tout élément de { 1,..., p 1} est inversible et son inverse est différent de lui-même, sauf pour 1 et 1 d après la question précédente. Dans le produit 2 p 2, on peut donc regrouper chaque élément avec son inverse, et on trouve que ce qui est le resultat attendu. 1 p 1 = 1 p 1 = 1 3. Soit a {1,..., n 1}. Alors a est un facteur de (n 1)! et donc il existe k tel que (n 1)! = ak. On en déduit a ( k) 1 [n], et donc a est inversible dans Z/nZ. Par le théorème de Bézout, ceci signifie que a est premier avec n, et ceci est vrai pour tout a de {1,..., n 1}. Autrement dit, n est premier. 43 / 63
44 44 CHAPITRE 2. CORRECTIONS 2.5 Échange de clefs Fonctionnement clé privée vs clé publique En cryptographie symétrique, une même clé K est utilisée pour le chiffrement et pour le déchiffrement, alors qu en cryptographie asymétrique, une clé publique K pub est utilisée pour chiffrer et une clé privée K priv est utilisée pour déchiffrer. Rappelons que les clés paramétrisent les algorithmes de chiffrement et de déchiffrement, mais que ces algorithmes sont supposés connus de tous. Pour assurer la confidentialité en symétrique, il faut que les protagonistes de l échange, Alice et Bob, possèdent tous les deux la clé K, mais pas l attaquant Oscar. Le problème majeur est donc celui de l échange initial de cette clé. En contrepartie, les algorithmes symétriques sont très rapides et utilisent des clés courtes (ex : 128 bits pour AES). En asymétrique, seul le destinataire doit posséder K priv, laquelle ne doit pas être en possession de l attaquant Oscar. Par contre la clé publique K pub peut être connue de tous donc il n y a pas de problème d échange de clé. Bien sûr, on ne doit pas pouvoir calculer K priv à partir de K pub. Ces algorithmes sont plus lents et les clés sont plus grandes (ex : 1024 bits pour RSA). Un exemple simple d algorithme symétrique peut être pris parmi les chiffrements anciens (à détailler dans la rédaction) ; ces chiffrements sont abandonnés depuis bien longtemps. Un exemple d algorithme symétrique moderne et sûr est l algorithme Rijndael, actuel standard du chiffrement symétrique (AES). Pour le chiffrement asymétrique, RSA est l exemple standard (à détailler dans la rédaction) Clé privée vs clé publique Pour ( un système à clé secrète, il faut autant de clés qu il y a de couples de personnes soit n,2 ) n(n 1). Ici cela vaut 17 8 = 136 et non 17 16, ni 17!. Ce n est pas non plus n(n 1) = 2 (nombre d arrangements), car les clés sont symétriques. Pour un système à clé publique, il faut 17 clés (autant que de participants) Perte d une clé privée 1. Il peut envoyer des courriers chiffrés en utilisant les clés publiques de ces interlocuteurs, il ne peut plus déchiffrer de messages reçus. 2. Il ne peut plus signer de courriers. Par contre, il peut vérifier les signatures des courriers qu il reçoit à l aide des clés publiques de ces interlocuteurs. 3. Á rien, car on ne peut absolument pas retrouver la clé privée à partir d une clé publique. 4. Il n a pas d autre choix que de régénérer une nouvelle clé privée et de distribuer la clé publique correspondante à ses interlocuteurs Diffie-Hellman Elle envoie à Bob la valeur g a mod p = 3 6 mod 23 = 16. Bob envoie à Alice la valeur g b mod p = 3 15 mod 23 = 12. Alice peut maintenant calculer la clé secrète : (g b mod p) a mod p = 12 6 mod 23 = 9 Bob fait de même et obtient la même clé qu Alice : (g a mod p) b mod p = mod 23 = 9.
45 2.5. ÉCHANGE DE CLEFS Attaque par le milieu de Diffie-Hellman Dans le protocole de Diffie-Helmman, il suffit de supposer que l attaquant actif réalise les opérations suivantes : 1. Lorsqu Alice envoie la valeur K a à Bob, Eve bloque la communication puis tire uniformément aléatoirement un entier ã Z q, calcule gã = K a G et envoie la valeur à Bob ; 2. Lorsque Bob envoie la valeur K b à Alice, Eve bloque la communication puis tire uniformément aléatoirement un entier b Z q, calcule g b = K b G et envoie la valeur à Alice ; 3. à réception de K b, Alice calcule K a b ; 4. à réception de K a, Alice calcule K b a ; 5. Contrairement au protocole réalisé entre utilisateurs honnêtes, l égalité K a b = K b a n est plus vérifiée. Cependant, si Alice envoie par la suite un message chiffré de façon symétrique avec la clé K a b, Eve peut déchiffrer grâce à sa connaissance de b (puisque K a b = K b a ), prendre connaissance du,message et éventuellement le rechiffrer avec la clé K b a = Kãb (que Bob croit partager avec Alice) pour que la communication ait l apparence d une communication normale. 45 / 63
46 46 CHAPITRE 2. CORRECTIONS 2.6 Chiffrement Kid-RSA 1. ed 1 = (a M + a)(b M + b) = a b M 2 + M(a b + ab ) + ab 1 = M(a b M + a b + ab + 1). Donc n = a b M + a b + ab + 1. Par suite si les nombres a, a, b, b sont 3 alors M 8 et n 91. Il est important que n soit > 25 car comme on travaille modulo n si on veut avoir une chance que deux messages m et m distincts (0 (m, m ) 25) soient toujours chiffrés différemment il est nécessaire que cette condition soit réalisée. Remarquons que nm ed = 1 et donc que tout nombre qui divise n et e divise 1. Donc e et n sont premiers entre eux. 2. Alice calcule cd mod n = edm mod n = m mod n = m. 3. Il suffit à Charlie de trouver un nombre d 1 tel que ed 1 = 1 + kn Comme e est premier avec n ceci revient à la résolution d un problème de Bézout. 4. Pour signer un message m Alice utilise sa clé privée pour calculer s = md mod n et joint la signature s au message m. Celui qui reçoit le message m signé avec s n a plus qu à utiliser la clé publique d Alice pour calculer se mod n et vérifier qu il obtient bien m Chiffrement/Déchiffrement RSA 1. M = (mod 319) = On doit résoudre 11 d = 1 (mod 280). On trouve d = 51 soit en utilisant l algorithme d Euclide ; soit en essayant à la main car 51 = (280/11) 2 donc il suffit de deux essais pour trouver ; soit en utilisant Euler, d = 11 1 (mod 280) d où d = 11 φ(280) 1 (mod 280) = 11 φ(7.5.8) 1 (mod 280) = 11 (6.4.4) 1 (mod 280) = (mod 280) = (mod 280) = = = (mod 280) = 51 (mod 280). 3. On doit calculer (mod 319). Dans les notes on donne = 133 (mod 319). Le résultat est donc (mod 319) = Évidemment non car les messages à chiffrer/déchiffrer doivent appartenir à Z n, c est à dire Z 319 dans ce cas.
47 2.6. CHIFFREMENT Exemple de RSA 1. n = 437 et φ(n) = (p 1)(q 1) = gcd(e, φ(n)) 1 dans les deux cas donc le d correspondant n existe pas. 3. On a via Euclide d = 163 = 233 mod 396 n e C p q m / 63
48 48 CHAPITRE 2. CORRECTIONS Chiffrement RSA Examen Chiffrement : on convertit le message en un entier m [1; N ] et on calcule le chiffré c m e mod N. 0.5pt Déchiffrement : on calcule m c d mod N. 0.5pt p, q, φ et d doivent rester secrets. 0.5pt Révéler p permet d obtenir q = N/p, puis φ et donc d, de même avec q. Révéler φ permet d obtenir d à partir de e. Il reste à voir comment d permet d obtenir le reste. Supposons donc e et d connus. Il existe un entier k tel que ed = 1 + k, donc k est une approximation de ed/n (puisque φ est de l ordre de n). On sait que (ed 1)/k = φ = (p 1)(q 1), ce qui s écrit (ed 1) = k 1 = N p q. On obtient donc le système { p + q = N (ed 1)/k + 1 pq = N Finalement, il suffit d essayer de résoudre ce système pour des valeurs proches de k, par exemple celles de l intervalle [ed/n 5; ed/n + 5]. Quand on obtient une solution (p; q), on a trouvé k. 2pts 2. La factorisation de N donne p = 59 et q = 17 (ou l inverse). L entier φ vaut alors = 928 1pt En utilisant l algorithme d Euclide, nous obtenons : 928 = Donc 1 = ( 309) et l inverse de e = 3 mod φ est 619 (= ). 1pt Le chiffré c vaut 4 3 = pt Il est facile connaissant cette valeur de retrouver m = 64 1/3. En effet, il n y a pas de réduction modulaire puisque m < N 1/e. 1pt Pour éviter ce problème, on utilise une technique de remplissage, appelée padding, c est-à-dire qu on ajoute au texte clair avant de le chiffrer une valeur structurée et aléatoire. 3. On a 65 = 5 13, donc p = 5, q = 13 (ou l inverse) et φ = (p 1) (q 1) = 4 12 = 48. Il faut choisir un couple de clefs publique/privée (e; d) tel que e soit premier avec φ (donc e n est divisible ni par 2 ni par 3) et ed 1 mod 48. En ignorant les couples symétriques, on obtient la table suivante : e d Il faut éliminer tous les cas triviaux où e = d dans lesquels le déchiffrement est évident, pour conserver les couples (5; 29), (11; 35), (13; 37) et (19; 43) (et leurs symétriques). 1pt Le chiffré de m = 4 est c 45 mod 65. Or, mod 65, donc c mod pt La clef privée associée à e = 5 est d = 29. Pour faciliter le calcul, effectuons une exponentiation modulaire en remarquant que 29 = : 49 2 (16) mod ( 4) 2 16 mod mod ( 4) 2 16 mod 65 On en déduit que : 1.5pt c = ( 16) ( 64) 4 4 mod 65
49 2.6. CHIFFREMENT RSA-3 1. Il n y a rien a changer, on choisit un couple d entiers (e; d) tel que ed = 1 mod φ(n), on chiffre le message clair x par y = x e mod n et on déchiffre le message chiffré y par x = y d mod n. La clef publique est (e; n), la clef privée (d; p; q; r) et l ensemble des messages possibles est Z/nZ car pour tout message m Z/nZ nous pouvons montrer comme pour RSA que m = D RSA 3 (E RSA 3 (m)). On a x = y d mod n = (x e ) d mod n = x ed mod n. Si x est premier avec n, alors d apres le petit théorème de Fermat, x φ(n) = 1 mod n donc x ed = x 1+lφ(n) = x mod n pour un certain l. Cas plus compliqué (un peu au-delà de notre programme) : Si x n est pas premier avec n, alors x est un multiple de p premier avec qr ou un multiple de q premier avec pr ou un multiple de r premier avec pq. Par exemple pour un multiple de p premier avec qr, la représentation de x Z/nZ dans Z/pZ Z/qrZ est : (0 e = 0; x qr = x mod qr) qui est chiffré par E RSA en : lui-même déchiffré par D RSA en : (0; x e qr mod qr = y qr ), (0 d = 0; y d qr = (x e qr) d mod (qr) = x ed qr mod (qr)). Or si ed = 1 mod φ(n), il existe k tel que ed = 1 + k(p 1)(q 1)(r 1) donc ed = 1 mod (q 1)(r 1) = 1 mod φ(qr). x qr = x mod (qr) est premier avec qr (parce que x est un multiple de p premier avec qr) donc d après le petit théorème de Fermat, x φ(qr) qr = 1 mod (qr) et x ed qr = x qr mod (qr). Dans Z/nZ, le couple (0; y d qr mod (qr) = x qr ) de Z/pZ Z/qrZ redonne évidemment par le théorème des restes chinois x. 2. Les messages dangereux pour RSA sont ceux qui ne sont pas premiers avec n, puisqu alors on trouve un facteur commun au message et à n donc un des deux facteurs premiers de n, on en déduit l autre puis φ(n), on obtient alors d l inverse modulaire de e modulo φ(n), c est-a-dire toute la clef secrète. Il en va de même ici : les messages dangereux pour RSA-3 sont ceux qui ne sont pas premiers avec n, puisqu alors on trouve un facteur commun au message et à n, c est-àdire soit un facteur, disons p, soit le produit de deux facteurs pq et on déduit le facteur r = n, dans tous les cas on déduit un des trois facteurs de n et le produit des deux autres. pq En soi un seul message n est pas dangereux, il faudra avoir la chance d en trouver un second qui nous apporte la connaissance d un autre facteur de n pour connaître alors la factorisation de n, d où φ(n) et d l inverse modulaire de e modulo φ(n), c est-a-dire toute la clef secrète. 49 / 63
50 50 CHAPITRE 2. CORRECTIONS 3. Algorithme On reçoit y et on doit calculer x = y d mod n. On calcule d p = d mod (p 1); d q = d mod (q 1); d r = d mod (r 1); puis x p = y dp mod p; x q = y dq mod q; x r = y dr mod r On a x = x p mod p, x = x q mod q et x = x r mod r. On utilise une première fois le théorème chinois pour déduire x modulo le produit pq. La relation de Bézout pour p et q est up + vq = 1, on a x = xpq mod (pq) avec x pq = vqx p + upx q. On utilise une seconde fois le théorème chinois pour déduire x modulo n. La relation de Bézout pour pq et r est u pq + v r = 1, on a finalement x = v rx pq + u pqx r mod n. 4. e = 19, N = pqr = 105, φ(n) = (p 1)(q 1)(r 1) = 48, d = e 1 mod 48 = 5 = 43 car 5 19 = 95 = Le chiffre de x = 13 est x e mod N = mod 105. On a 13 2 = 169 = = 64 mod 105 et donc 64 2 = 4096 = = 1 mod 105 x e mod N = mod 105 = = = = 832 = = 8 = 97 mod 105. Le déchiffré de y = 11 est y d mod N = mod 105. On a 11 2 = 121 = = 16 mod 105, = 256 = = 46 mod 105, 46 2 = 2110 = = 16 mod 105 et = 736 = = 1 mod 105, donc y d mod N = mod 105 = = = = = = = 1 11 = 11.
51 2.6. CHIFFREMENT Chiffrement El Gamal 1. Il chiffre alors son message nombre par nombre : 11 est chiffré en mod 97 = mod 97 = est chiffré en 01 est chiffré en 09 est chiffré en mod 97 = mod 97 = mod 97 = 46 1 mod 97 = mod 97 = 46 9 mod 97 = 26 Il transmet enfin à Alice le couple (71, ). 2. Pour déchiffrer le message de Bob, Alice détermine le nombre x = = 51. Pour chaque partie m du message, elle calcule m mod 97 : mod 97 = mod 97 = mod 97 = mod 97 = mod 97 = mod 97 = mod 97 = mod 97 = mod 97 = mod 97 = 9. Elle retrouve le message après concaténation Changement de clés Notons d le nombre de jours jusqu à ce que Alice et Bob changent leur clé le même jour. Puisque Alice change sa clé tous les 25 jours et qu elle a changé sa clé aujourd hui, d doit être divisible par 25. Puisque Bob change sa clé tous les 31 jours et qu il a changé sa clé il y a trois jours, d + 3 doit être divisible par 31. Ainsi d doit véri?er le système de congruences : d = 0 mod 25 d = 3 mod 31 Par le théorème des restes chinois, ce système équivaut à la congruence d = 400 mod 775, et donc Alice et Bob changeront leurs clés le même jour dans 400 jours. 51 / 63
52 52 CHAPITRE 2. CORRECTIONS 2.7 Attaques sur RSA Attaque par module commun Oscar connaît (e A, e B, n) et (c A, c B ). Par l algorithme d Euclide étendu, il calcule facilement (en temps -presque- linéaire du nombre de bits de n) les coefficients de Bezout r et s tels que re A + se B = 1. Oscar peut alors calculer (par exponentiation rapide) c r A.c s B mod n = m r.e A+s.e B mod n = m Moralité : ne jamais utiliser le même n pour un groupe d utilisateurs De φ(n) à la factorisation n = pq et φ(n) = (p 1)(q 1) = n p q + 1 donc p + q = n φ(n) + 1. Nous avons la somme et le produit de p et q. Nous en déduisons alors que p et q sont les deux racines de l équation du second degré : Vérification : X 2 (n φ(n) + 1)X + n = 0 p 2 (n n + p + q 1 + 1)p + n = p 2 pn + pn p 2 pq + p p + n = RSA avec deux facteurs trop proches t 2 s 2 = 1 4 ((p + q)2 (p q) 2 ) = 1 4 (p2 + 2pq + q 2 p 2 + 2pq q 2 ) = 1 (4pq) = pq = n. 4 t 2 = n + s 2 > n donc t > n, de plus s est petit dès que p et q sont proches. 1. Avec n = , on trouve t = 4996 et s 2 = 9 en une seule itération. Donc n = Avec n = , on démarre à t = 60412, on trouve s 2 = = 189 2, donc une seule itération suffit et n = Compléxité de l algorithme : A varie dans le pire des cas de n à p+q = t. 2 Le nombre d itérations de la boucle est majoré par (valeur d arrivée - valeur de départ) : t n = p+q n = p+q 2 pq = ( p q) = (p pq) 2 = ( n p) 2 2p 2p 3. Donc si p diffère de n de moins de 4 4n, le nombre d itérations est majoré par 4n 2p = n p 1. Donc le nombre d itérations est égal à 1.
53 2.7. ATTAQUES SUR RSA Malléabilité de RSA 1. Rappelons le principe de la signature dite RSA naïf c est-à-dire la primitive qui ne prend pas en compte les renforcements rendus nécessaires par les attaques. Paramètre public : l : la taille de la clé RSA, i.e. la taille en nombre de bits du module n Initialisation : Tirer aléatoirement deux nombres premiers p et q de taille l 2 bits Calculer n = pq Tirer une valeur e aléatoire telle que gcd(e, (p 1)(q 1)) = 1 Calculer d = e 1 mod (p 1)(q 1) Message : un élément x {1,..., n} Clé publique : K P = (e; n) Clé privée : K S = (d; n) Signature : S(x) = s = x d mod n Vérification : x = s e mod n 2. Ève a réussi à se procurer s 1 = m d 1 mod n et s 2 = m d 2 mod n. Dans ce cas, elle est capable de signer le message m ε 1 1 m ε 2 2 mod n, où ε i { 1, 1} puisque la signature vaut alors : (m ε 1 1 m ε 2 2 ) d mod n = m ε 1d 1 mod n m ε 2d 2 mod n = s ε 1 1 s ε 2 2 mod n 3. Pour tous les couples (m i, S(m i )) connus d Ève, on a S(m i ) = j µ dα i,j j mod n Eve est donc capable de calculer toutes les signatures de la forme : S(m i ) ε i mod n = µ dε iα i,j j mod n = i i j j µ d i ε iα i,j j mod n où ε i { 1, 1}. 4. Compte tenu du résultat de la question précédente, il faut qu Ève ait en sa possession des messages tels qu il soit possible de trouver un ensemble d indices I pour lesquels j, ε i α i,j = β j. i I Si elle ne trouve pas un tel ensemble d indices, elle doit trouver un moyen de faire signer à Alice un message d apparence anodine de la forme ci-dessus tel qu il complète l ensemble d indices recherché. L ensemble d indices recherché peut être vu comme un vecteur solution d un système linéaire Le temps de factorisation des grands entiers 1. On a W = 8000 pour log 2 N = 512 et log = 9 soit : W = k exp ( (64/9) 1/ /3 (log 2 512) 2/3) = k exp ( ( ) 1/3) = k exp( ) k exp(66.563) D où k Mips-year. 53 / 63
54 54 CHAPITRE 2. CORRECTIONS 2. Pour log 2 N = 768, on obtient : W = exp(( /9) 1/3 ) = exp(79.46) 3200 millions de Mips-year. Pour log 2 N = 1024, on obtient : W = exp(( /9) 1/3 ) = exp(89.97) 117 millions de millions de Mips-year. 2.8 Signature Signature RSA 1. Avec p = 17 et q = 23, on a n = p q = 391 et φ(n) = (p 1)(q 1) = e = 11 n est pas un exposant de vérification correct car il n est pas premier avec φ(n). En effet on a pgcd(11, 352) = 11. e = 13 en revanche convient et on peut calculer l exposant de signature correspondant par l algorithme d Euclide étendu : 352 = = On a donc : ( 27) 13 = 1 Donc modulo φ(n) on a 13 ( 27) = 1. D où d = 27 = 325 mod SIGN(100, 325) = mod 391. On a 325 = donc on calcule : = 100 (100 ( ) 16 ) 4 mod 391 = 100 (100 ( ) 16 ) 4 mod 391 = 100 ( ) 4 mod 391 = 100 (100 52) 4 mod 391 = 100 (117) 4 mod 391 = mod 391 = 36 mod On calcule mod 391. On a 13 = donc on calcule : Signature aveugle avec RSA = 36 ( ) 4 mod 391 = 36 (46656) 4 mod 391 = 36 (127) 4 mod 391 = mod 391 = 100 mod 391 Soit m le message à signer on cherche à obtenir m d mod n. On envoie x e m pour signature, on reçoit donc en retour (x e m) d = xm d mod n comme x est aléatoire le signataire n a aucun moyen de savoir quel message est signé.
55 2.8. SIGNATURE Signature El Gamal 1. p = 467 est un nombre premier (il suffit de tenter une division par 2, 3, 5, 7, 11, 16, 17 ou 19 pour s en apercevoir) et on a g p : g est donc d ordre p 1 (générateur). 2. y = g x = 2 65 mod p. Comme 65 = , ça va très vite : 2 65 = 2 (2 16 ) 4 = = = = 271 mod k = 64 est un mauvais choix de nombre aléatoire, car on ne pourrait peut-être pas trouver b tel que m = xa + kb mod (p 1). On peut vérifier que pour tous les b allant de 1 à 466, (2 64 mod 467) + 64 b. Mais il y a d autres valeurs de m qui donnerait une égalité. Ainsi a = 369 = 2 64 mod 467, b = 42 et m = 111 vérifient l égalité : 111 = mod 466. k = 213 est un bon choix car gcd(213, 466) = 1, donc on pourra diviser par k : Via Euclide on a : ( 35) 213 = 1 mod 466. L inverse de 213 est donc 35 qui vaut 431 mod 466. La signature est a = g k = mod 467 = 29 et b = (m xa) k 1 = ( ) 431 mod 466 = On calcule les deux valeurs suivantes : g m = = (2 (2 6 ) 4 ) 4 = ( ) 4 = (2 241) 4 = 189 mod 467 y a a b = = = 189 mod Signature El Gamal : utilisation de l aléa 1. L exposant x est choisi dans [1, φ(p)] = [1, p 1]. 2. Soient m et m les deux messages et (r, s) et (r, s ) les deux signatures (les composantes r de la signature sont nécessairement identiques si le même aléa est utilisé). On a alors : s = k 1 (h(m) xr) mod p 1 et s = k 1 (h(m ) xr) mod p 1 d où par soustraction : s s = k 1 (h(m) h(m )) mod p 1. On en tire k = (h(m) h(m ))(s s ) 1 mod p 1, puis on peut calculer x = (h(m) ks)r 1 mod p 1. Il s agit donc d un cassage total (récupération de la clé secrète) dans une attaque à deux messages connus. 55 / 63
56 56 CHAPITRE 2. CORRECTIONS Signature El Gamal sans vérification modulaire 1. De s = sα on déduit : s = k 1 (h(m)α xrα) = k 1 (h(m ) xrα) mod p 1 D où l idée de poser r = rα mod p 1 pour que s ait la bonne forme. Mais il faut aussique le résidu modulo p soit correct, donc on doit avoir r = r mod p car c est le même aléa k sous-jacent. 2. On a deux équations qui définissent r modulo p et r modulo p 1 : comme p et p 1 sont premiers entre eux, il existe une solution r à ces deux équations et elle est unique modulo p(p 1) (d après le théorème des restes chinois). 3. Le type d attaque est une attaque à messages connus (avec un seul message), produisant une falsification universelle (cpacité à signer n importe quel message) Signature GHR (Gennaro-Halevi-Rabin) 1. Connaissant p, on a p = 2p + 1, un diviseur de N. 2. On peut écrire N en fonction du produit p q comme suit : N = (2p + 1)(2q + 1) = 4p q + (2p + 2q ) + 1. Si on connait la valeur de p q, on peut donc connaître aussi la valeur de p + q. Avec la somme et le produit, on en déduit une équation du second degré dont p et q sont les racines. 3. On a φ(n) = (p 1)(q 1) = 4p q. 4. Puisque u est d ordre 2p q, les exposants dans une exponentiation en base u peuvent être calculés modulo 2p q. En effet u 2p q = 1 mod N par hypothèse donc ajouter un multiple de 2p q à un exposant revient à multiplier le résultat par une puissance de On a s = u m 1 mod N et celui qui vérifie la signature connaît M (et donc m) et s, en plus des paramètres publics. Il lui suffit donc de vérifier que s m = u mod N. 6. Dans le problème RSA, étant donné (N, e, v), il faut trouver x tel que x e = v mod N. Ici, étant donné (N, v), il faut trouver (x, e) satisfaisant la même relation : la différence, c est que l attaquant a le choix de e. 7. Si on autorise e = 1, le problème est trivial : (x = v, e = 1) serait toujours une solution. 8. Supposons que l on sait résoudre un problème RSA : à partir de (N, e, v), trouver x. Il est alors trivial de résoudre le flexible RSA : étant donné (N, v), on prend n importe quel e, et par hypothèse on sait trouver le x correspondant.
57 2.9. HACHAGE Hachage Fonction de hachage faiblement sans collision 1. Si pour x donné on peut trouver x tel que h(x) = h(x ) alors on peut utiliser ce même couple pour montrer que h n est pas sans collision. Donc non faiblement sans collision implique non sans collision : par contraposée, on obtient le résultat. Si une fonction n est pas faiblement sans collision alors, pour x donné, on peut trouver x tel que h(x ) = h(x). Comme on est capable de trouver un antécédent à y = h(x), la fonction n est pas à sens unique. 2. On prend, pour n fixé, la fonction de F n 2 F n 2 qui à x associe x. Cette fonction est bien sans collision, mais elle n est pas à sens unique puisque l on peut facilement trouver des antécédents Fonction de hachage et signature 1. Supposons que l on ait un message de n/2 mots avec une signification donnée. On prend le même message mais en ajoutant soit un nouveau caractère blanc entre les mots soit pas. Cela donne 2 n/2 messages qui ont le même sens, mais il peut y avoir un léger décalage entre les mots auquel on ne fait pas forcément attention. Par paradoxe des anniversaires on peut donc trouver une collision pour un haché de longueur n avec ces 2 n/2 possibilités. 2. La vérification de la signature se fait uniquement à partir du haché d un message donc deux messages avec le même haché auront la même signature Le buzz free mobile Non pas du tout. Il n est pas possible de faire sortir ce qu on décide à la fonction de hachage. Inversement, étant donné une écriture, si cryptique soit-elle, d un message caché qu on voudrait mettre dans la valeur de hachage, il est impossible de trouver un antécédent. 57 / 63
58 58 CHAPITRE 2. CORRECTIONS 2.10 Authentification Authentification à clef secrète 1. Il n est pas possible de faire de l authentification mutuelle par mot de passe tout simplement parce qu on ne peut donner un mot de passe qu à une entité de confiance (on doit être sûr de qui elle est) ce qui n est évidemment pas le cas si on a besoin d authentification mutuelle 2. Le faux écran de login (par exemple). Il est possible si un serveur DNS est compromis qu un nom renvoie à une adresse IP différente. Un utilisateur non averti peut donc penser communiquer avec le véritable serveur. 3. Il suffit que l attaquant C lance en parallèle une autre session d authentification mutuelle vers A en rejouant immédiatement les aléas envoyés et en entrelaçant correctement les envois de manière à faire calculer à A les valeurs des réponses. Cela donne : 1 A tire une valeur aléatoire r A et l envoie à C qui se fait passer pour B; 1bis 2bis C rejoue immédiatement la valeur en lançant en parallèle une autre session d authentification ; A tire une valeur aléatoire r A et calcule α = E K (r A, r A ). A envoie α à C; 2 C renvoie alors α (qu il ne peut pas déchiffrer) à A; 3 A calcule D K (α). Il retrouve r A : C s est authentifié. Il prend connaissance de r A. Il envoie r A à C; 3bis C renvoie r A à A. 4. Le problème provient du fait que les messages ne sont pas personnalisés et que les procédés sont symétriques. Afin d introduire de la dissymétrie dans un procédé à clé secrète, il faut utiliser des MAC. On aménage alors le protocole précédent en concaténant les identités aux valeurs aléatoires tirées par chaque partie avant de calculer le MAC Authentification à clef publique On fait un protocole de défi-réponse. Par exemple pour du chiffrement à clé publique. On veut authentifier la personne qui connait la clé secrète associée à une clé publique. On choisit un message aléatoire qu on chiffre avec la clé publique. Le défi est de déchiffrer le message chiffré. Si la personne est capable de renvoyer le message déchiffré c est qu il connait le secret. Pour la signature le défi est de signer un message aléatoire qu on vérifie avec la clé publique Schéma de Schnorr 1. Comme P connait s, il calcule y = r + es mod q et le transmet à V. Alors donc la vérification est positive. α y v e = α r+es α es = α r = x mod p
59 2.11. PKI, CERTIFICATS U réussit son identification si x = α y v e mod p, soit si α y = xv e mod p, α r se mod p, ce qui est équivalent à y = r se mod q. Donc U a une chance sur q de succès. 3. U peut procéder de la façon suivante : il choisit d abord y aléatoirement, puis calcule x = α y v e mod p. Notons qu il n a pas besoin de connaitre s pour cela, et que le calcul de x est rapide. Il envoie ensuite x, puis y. 4. En effet, U a trouvé y tel que y = r + es mod q et y tel que y = r + e s mod q. Alors y y = (e e )s et, comme (e e ) 0 mod q, (e e ) est inversible modulo q. Il peut donc calculer s par la formule : s = (e e ) 1 (y y ) mod q. Notons que pour cela il a seulement besoin d inverser un entier modulo q et de multiplier deux entiers modulo q, toutes opérations rapides PKI, certificats PKI On suppose que tout le monde a la clé publique d une autorité. Pour signer un message on envoie, message signé avec sa clé publique plus le certificat de la clé signé par l autorité. En recevant le message on commence par vérifier la validité du certificat avec la clé publique de l autorité, puis si c est bon la clé publique du signataire est validée et on peut vérifier la signature. De façon il suffit simplement d avoir la clé publique d une autorité et pas besoin de passer par un annuaire. La vérification se fait donc sans connexion nécessaire Certificats 1. Le fait que deux certificats soient signés par la même clef ne pose aucun problème. C est tout simplement le cas quand une autorité de certification signe des certificats suivant la norme X.509 ou lorsque qu une personne signe des certificats PGP de plusieurs autres personnes. 2. C est ici une situation très problématique puisque deux personnes différentes possèdent des clefs publiques identiques : d une part chacune d entre elles peut lire les messages chiffrés destinés à l autre personne ; d autre part il sera impossible de différencier les signatures des deux personnes. 3. Si deux certificats différents ont la même signature, cela signifie que la fonction de hachage utilisée pour la signature a créé une collision. La signature de l un des deux certificats peut avoir été faite par un pirate qui a constaté une collision sur la fonction de hachage Distinguer les clefs utilisées dans PGP On note respectivement k 1, k 2, k 3 et k 4 les clefs introduites dans l énoncé de cet exercice. 1. k 2 et k 3 sont symétriques, k 1 est la clef privée de A et k 4 est la clef publique de B. 2. On considère généralement qu une clef symétrique devrait posséder entre 128 et 256 bits (128 bits est le cas le plus courant en pratique). La taille d une clef asymétrique devrait être entre 1024 et 4096 (1024 est le cas le plus courant en pratique). 59 / 63
60 60 CHAPITRE 2. CORRECTIONS 3. La clef k 1 (resp. k 4 ) est typiquement générée quand A (resp. B) configure son environnement PGP pour la première fois. Cette clef ne devrait être générée qu une seule fois, sauf si elle a expiré ou a été révoquée. La clef k 2 est également générée quand A configure son environnement PGP, ou quand A change son mot de passe. En effet, la clef k 2 est dérivée directement du mot de passe de A. Elle est utilisée pour protéger k 1 sur le disque. La clef k 3 est une clef de session qui n est utilisée qu un seule fois et une nouvelle est générée à chaque fois qu un courrier est chiffré Hachés de mots de passe 1. Étant donné que la fonction de hachage utilisée dans le mécanisme d authentification est irréversible, le vol du fichier des hachés ne divulgue pas les mots de passe. 2. Il est préférable de protéger l accès aux hachés des mots de passe car, bien que la fonction de hachage soit irréversible, les mots de passe peuvent souvent être retrouvés en utilisant soit une attaque par dictionnaire. 3. Cette protection ne serait pas nécessaire si les utilisateurs choisissaient des mots de passe suffisamment complexes Le protocole HTTPS 1. Le protocole SSL avec un certificat serveur offre d abord une authentification du partenaire accédé par une vérification que ce serveur détient bien la clef privée correspondant à la clef publique diffusée. Ensuite, la communication est chiffrée, on a donc des garanties sur la confidentialité des échanges ainsi que sur l intégrité de la communication pendant toute sa durée. 2. Le certificat n inclut pas seulement la clef publique, mais également une signature de cette clef publique par un autre certificat. (Celui-ci pouvant également être un certificat intermédiaire.) La racine de cette chaîne de certification doit être un certificat pré-installé sur le navigateur (ou obtenu indépendamment en préalable à la communication). L utilisateur peut alors être sûr que le certificat diffusé par le serveur appartient bien à l organisme indiqué s il vérifie la chaine de certification, s il a confiance dans le certificat racine et s il a confiance dans les organismes détenteurs des certificats intermédiaires pour avoir fait les vérifications nécessaires avant de signer les certificats dérivés. (Il s agit alors de tiers de confiance ou d autorités de certification.) 3. Le certificat serveur n offre qu une authentification du serveur. Si le service accédé gère une base de comptes utilisateurs, ceux-ci doivent donc également en plus s authentifier. Cette authentification du client peut éventuellement s effectuer via un nom d utilisateur et un mot de passe. Cette méthode est moins forte qu une technique faisant appel à des algorithmes de cryptographie asymétriques, mais elle est bénéficie néanmoins via HTTPS de la protection offerte par le canal chiffré et signé de SSL. 4. Dans ce cas, l authentification du client, appuyée sur un certificat et une authentification à clef privée/clef publique offre des garanties bien plus importantes en terme de sécurité. Par contre, il faut alors gérer une procédure de délivrance de ces certificats clients (incluant leur signature par un tiers de confiance, après vérification de l identité du demandeur par exemple).
61 2.11. PKI, CERTIFICATS La clef privée associée à un certificat ne doit être que très rarement stockée en clair (notamment sur disque). Elle est protégée par un chiffrement symétrique dont la passphrase constitue la clef. C est donc un mot de passe permettant de déverrouiller l usage du certificat et de protéger la clef privée de l utilisateur en cas de vol (par exemple afin de lui laisser le temps de détecter le vol et de révoquer son certificat). 6. Si une passphrase est aussi utilisée sur le serveur, à chaque lancement du service web, il sera nécessaire de la fournir au programme afin qu il puisse accéder à la clef privée du certificat serveur. Il est peu probable que ceci soit effectué de manière interactive (à chaque redémarrage...). Il est plus probable qu en pratique, soit la clef privée est effectivement stockée en clair sur le serveur, soit la passphrase en question est stockée dans les paramètres de configuration du serveur (ce qui n est pas mieux). Ce faisant, les administrateurs web/système dérogent vis à vis du certificat serveur aux règles de protection qu ils recommandent à leurs utilisateurs pour les certificats clients La carte bleue 1. Une signature de la clé publique, ou même d un message contenant la clé publique k P et d autres infos comme le nom du détenteur, le numéro de la carte, sa date d expiration etc, le tout signé avec une clé privée de la banque. Cette signature (certificat) peut être vérifiée par qui dispose de la clé publique de la banque. 2. Il faudrait que tous les distributeurs connaissent les clés publiques de toutes les banques. C est facile en terme de stockage, ou du moins pas trop dur, mais logistiquement irréalisable (on ne peut pas mettre à jour tous les distributeurs de la planète chaque fois qu une nouvelle banque est créée). Visa et Mastercard, eux, permettent de résoudre ce problème. Ils donnent aux banques un certificat où leur clé publique est signée par la clé privée de Visa (par exemple). Alors il suffit pour vérifier que les distributeurs connaissent les clés publiques d une poignée d organismes centraux : Visa, Mastercard, GIE Cartes bancaires, Avec la clé secrète de la carte, un attaquant peut fabriquer une fausse carte qui semble valide, puisqu elle présente le bon certificat signé par la banque, et (puisque la clé secrète est découverte par l attaquant) qu elle peut s authentifier. D autre part, cette carte peut répondre toujours oui à toutes les questions (oui c est le bon code, oui j approuve la transaction, etc). On appelle cela une yes-card. S il découvre la clé secrète de la banque, l attaquant peut produire des nouveaux certificats. Il peut donc créer des yes-cards associées à d autres identités, avec d autres numéros, d autres dates d expiration, etc. 61 / 63
62
63
Cryptographie et fonctions à sens unique
Cryptographie et fonctions à sens unique Pierre Rouchon Centre Automatique et Systèmes Mines ParisTech [email protected] Octobre 2012 P.Rouchon (Mines ParisTech) Cryptographie et fonctions
Fonction de hachage et signatures électroniques
Université de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 [email protected] Licence professionnelle Administrateur de Réseaux et de Bases de Données IUT
ÉPREUVE COMMUNE DE TIPE 2008 - Partie D
ÉPREUVE COMMUNE DE TIPE 2008 - Partie D TITRE : Les Fonctions de Hachage Temps de préparation :.. 2 h 15 minutes Temps de présentation devant le jury :.10 minutes Entretien avec le jury :..10 minutes GUIDE
INF 4420: Sécurité Informatique Cryptographie II
: Cryptographie II José M. Fernandez M-3106 340-4711 poste 5433 Aperçu Crypto II Types de chiffrement Par bloc vs. par flux Symétrique vs. asymétrique Algorithmes symétriques modernes DES AES Masque jetable
Chapitre VI - Méthodes de factorisation
Université Pierre et Marie Curie Cours de cryptographie MM067-2012/13 Alain Kraus Chapitre VI - Méthodes de factorisation Le problème de la factorisation des grands entiers est a priori très difficile.
Cryptographie RSA. Introduction Opérations Attaques. Cryptographie RSA NGUYEN Tuong Lan - LIU Yi 1
Cryptographie RSA Introduction Opérations Attaques Cryptographie RSA NGUYEN Tuong Lan - LIU Yi 1 Introduction Historique: Rivest Shamir Adleman ou RSA est un algorithme asymétrique de cryptographie à clé
Chapitre 7. Sécurité des réseaux. Services, attaques et mécanismes cryptographiques. Hdhili M.H. Cours Administration et sécurité des réseaux
Chapitre 7 Sécurité des réseaux Services, attaques et mécanismes cryptographiques Hdhili M.H Cours Administration et sécurité des réseaux 1 Partie 1: Introduction à la sécurité des réseaux Hdhili M.H Cours
Sommaire Introduction Les bases de la cryptographie Introduction aux concepts d infrastructure à clés publiques Conclusions Références
Sommaire Introduction Les bases de la cryptographie Introduction aux concepts d infrastructure à clés publiques Conclusions Références 2 http://securit.free.fr Introduction aux concepts de PKI Page 1/20
Cryptologie. Algorithmes à clé publique. Jean-Marc Robert. Génie logiciel et des TI
Cryptologie Algorithmes à clé publique Jean-Marc Robert Génie logiciel et des TI Plan de la présentation Introduction Cryptographie à clé publique Les principes essentiels La signature électronique Infrastructures
1 Définition et premières propriétés des congruences
Université Paris 13, Institut Galilée Département de Mathématiques Licence 2ème année Informatique 2013-2014 Cours de Mathématiques pour l Informatique Des nombres aux structures Sylviane R. Schwer Leçon
Quelques tests de primalité
Quelques tests de primalité J.-M. Couveignes (merci à T. Ezome et R. Lercier) Institut de Mathématiques de Bordeaux & INRIA Bordeaux Sud-Ouest [email protected] École de printemps C2 Mars
Exercices - Polynômes : corrigé. Opérations sur les polynômes
Opérations sur les polynômes Exercice 1 - Carré - L1/Math Sup - Si P = Q est le carré d un polynôme, alors Q est nécessairement de degré, et son coefficient dominant est égal à 1. On peut donc écrire Q(X)
Travail d intérêt personnel encadré : La cryptographie
DÉCAMPS Régis & JUÈS Thomas 110101 111011 111001 111100 100011 001111 001110 110111 111011 111111 011111.......... 011111 110101 110100 011110 001111 000110 101111 010100 011011 100110 101111 010110 101010
Cours 14. Crypto. 2004, Marc-André Léger
Cours 14 Crypto Cryptographie Définition Science du chiffrement Meilleur moyen de protéger une information = la rendre illisible ou incompréhensible Bases Une clé = chaîne de nombres binaires (0 et 1)
Cryptographie. Master de cryptographie Architectures PKI. 23 mars 2015. Université Rennes 1
Cryptographie Master de cryptographie Architectures PKI 23 mars 2015 Université Rennes 1 Master Crypto (2014-2015) Cryptographie 23 mars 2015 1 / 17 Cadre Principe de Kercho : "La sécurité d'un système
CRYPTOGRAPHIE. Signature électronique. E. Bresson. [email protected]. SGDN/DCSSI Laboratoire de cryptographie
CRYPTOGRAPHIE Signature électronique E. Bresson SGDN/DCSSI Laboratoire de cryptographie [email protected] I. SIGNATURE ÉLECTRONIQUE I.1. GÉNÉRALITÉS Organisation de la section «GÉNÉRALITÉS»
Nombres premiers. Comment reconnaître un nombre premier? Mais...
Introduction Nombres premiers Nombres premiers Rutger Noot IRMA Université de Strasbourg et CNRS Le 19 janvier 2011 IREM Strasbourg Definition Un nombre premier est un entier naturel p > 1 ayant exactement
Problèmes arithmétiques issus de la cryptographie reposant sur les réseaux
Problèmes arithmétiques issus de la cryptographie reposant sur les réseaux Damien Stehlé LIP CNRS/ENSL/INRIA/UCBL/U. Lyon Perpignan, Février 2011 Damien Stehlé Problèmes arithmétiques issus de la cryptographie
MATHÉMATIQUES DISCRÈTES (4) CRYPTOGRAPHIE CLASSIQUE
MATHÉMATIQUES DISCRÈTES (4) CRYPTOGRAPHIE CLASSIQUE Michel Rigo http://www.discmath.ulg.ac.be/ Année 2007 2008 CRYPTOGRAPHIE. N. F. Art d écrire en chiffres ou d une façon secrète quelconque. Ensemble
Cryptographie. Cours 3/8 - Chiffrement asymétrique
Cryptographie Cours 3/8 - Chiffrement asymétrique Plan du cours Différents types de cryptographie Cryptographie à clé publique Motivation Applications, caractéristiques Exemples: ElGamal, RSA Faiblesses,
Gestion des Clés Publiques (PKI)
Chapitre 3 Gestion des Clés Publiques (PKI) L infrastructure de gestion de clés publiques (PKI : Public Key Infrastructure) représente l ensemble des moyens matériels et logiciels assurant la gestion des
Les fonctions de hachage, un domaine à la mode
Les fonctions de hachage, un domaine à la mode JSSI 2009 Thomas Peyrin (Ingenico) 17 mars 2009 - Paris Outline Qu est-ce qu une fonction de hachage Comment construire une fonction de hachage? Les attaques
Introduction à l étude des Corps Finis
Introduction à l étude des Corps Finis Robert Rolland (Résumé) 1 Introduction La structure de corps fini intervient dans divers domaines des mathématiques, en particulier dans la théorie de Galois sur
Factorisation d entiers (première partie)
Factorisation d entiers ÉCOLE DE THEORIE DES NOMBRES 0 Factorisation d entiers (première partie) Francesco Pappalardi Théorie des nombres et algorithmique 22 novembre, Bamako (Mali) Factorisation d entiers
108y= 1 où x et y sont des entiers
Polynésie Juin 202 Série S Exercice Partie A On considère l équation ( ) relatifs E :x y= où x et y sont des entiers Vérifier que le couple ( ;3 ) est solution de cette équation 2 Déterminer l ensemble
Résolution d équations non linéaires
Analyse Numérique Résolution d équations non linéaires Said EL HAJJI et Touria GHEMIRES Université Mohammed V - Agdal. Faculté des Sciences Département de Mathématiques. Laboratoire de Mathématiques, Informatique
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.
1 Définitions, notations 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. On utilise aussi la notation m n pour le
Petite introduction aux protocoles cryptographiques. Master d informatique M2
Petite introduction aux protocoles cryptographiques Master d informatique M2 Les protocoles cryptographiques p.1/48-1 Internet - confidentialité - anonymat - authentification (s agit-il bien de ma banque?)
Tests de primalité et cryptographie
UNIVERSITE D EVRY VAL D ESSONNE Tests de primalité et cryptographie Latifa Elkhati Chargé de TER : Mr.Abdelmajid.BAYAD composé d une courbe de Weierstrass et la fonction (exp(x), cos (y), cos(z) ) Maîtrise
Modes opératoires pour le chiffrement symétrique
Modes opératoires pour le chiffrement symétrique Charles Bouillaguet 5 février 2015 1 Notion(s) de sécurité On a vu qu un mécanisme de chiffrement symétrique E est contistué de deux algorithmes : E : {0,
Programmation linéaire
1 Programmation linéaire 1. Le problème, un exemple. 2. Le cas b = 0 3. Théorème de dualité 4. L algorithme du simplexe 5. Problèmes équivalents 6. Complexité de l Algorithme 2 Position du problème Soit
Authentification de messages et mots de passe
Sébastien Gambs Autour de l authentification : cours 1 1 et mots de passe Sébastien Gambs [email protected] 1 décembre 2014 Sébastien Gambs Autour de l authentification : cours 1 2 Introduction à l authentification
Université d Aix-Marseille Master Réseaux & Télécoms Cryptographie
Université d Aix-Marseille Master Réseaux & Télécoms Cryptographie Semestre 2 Exercices et corrections pour le TD 5 2014 2015 Rappeler les initialisations pour ce cours : CRYPTO = "http://iml.univ-mrs.fr/~kohel/tch/crypto/"
Cours d arithmétique Première partie
Cours d arithmétique Première partie Pierre Bornsztein Xavier Caruso Pierre Nolin Mehdi Tibouchi Décembre 2004 Ce document est la première partie d un cours d arithmétique écrit pour les élèves préparant
Calculateur quantique: factorisation des entiers
Calculateur quantique: factorisation des entiers Plan Introduction Difficulté de la factorisation des entiers Cryptographie et la factorisation Exemple RSA L'informatique quantique L'algorithme quantique
Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot
Chapitre 5 Arithmétique binaire L es codes sont manipulés au quotidien sans qu on s en rende compte, et leur compréhension est quasi instinctive. Le seul fait de lire fait appel au codage alphabétique,
TECHNIQUES DE CRYPTOGRAPHIE
Jonathan BLANC Enseignant : Sandrine JULIA Adrien DE GEORGES Année universitaire 23/24 Licence Informatique TECHNIQUES DE CRYPTOGRAPHIE - - TABLE DES MATIERES INTRODUCTION 3. TECHNIQUES DE CRYPTOGRAPHIE
La cryptographie du futur
La cryptographie du futur Abderrahmane Nitaj Laboratoire de Mathématiques Nicolas Oresme Université de Caen, France [email protected] http://www.math.unicaen.fr/~nitaj Résumé Sans nous rendre compte,
Gestion des Clés. Pr Belkhir Abdelkader. 10/04/2013 Pr BELKHIR Abdelkader
Gestion des Clés Pr Belkhir Abdelkader Gestion des clés cryptographiques 1. La génération des clés: attention aux clés faibles,... et veiller à utiliser des générateurs fiables 2. Le transfert de la clé:
Durée de L épreuve : 2 heures. Barème : Exercice n 4 : 1 ) 1 point 2 ) 2 points 3 ) 1 point
03 Mai 2013 Collège Oasis Durée de L épreuve : 2 heures. apple Le sujet comporte 4 pages et est présenté en livret ; apple La calculatrice est autorisée ; apple 4 points sont attribués à la qualité de
Panorama de la cryptographie des courbes elliptiques
Panorama de la cryptographie des courbes elliptiques Damien Robert 09/02/2012 (Conseil régional de Lorraine) La cryptographie, qu est-ce que c est? Définition La cryptographie est la science des messages
Probabilités sur un univers fini
[http://mp.cpgedupuydelome.fr] édité le 7 août 204 Enoncés Probabilités sur un univers fini Evènements et langage ensembliste A quelle condition sur (a, b, c, d) ]0, [ 4 existe-t-il une probabilité P sur
Les protocoles cryptographiques
Les protocoles cryptographiques École des Mines, 3e année 1/79 Véronique Cortier Protocoles cryptographiques - Cours 1 Internet Introduction - confidentialité - anonymat - authentification (s agit-il bien
Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/
Recherche opérationnelle Les démonstrations et les exemples seront traités en cours Souad EL Bernoussi Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/ Table des matières 1 Programmation
Représentation des Nombres
Chapitre 5 Représentation des Nombres 5. Representation des entiers 5.. Principe des représentations en base b Base L entier écrit 344 correspond a 3 mille + 4 cent + dix + 4. Plus généralement a n a n...
Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT
Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT Ces exercices portent sur les items 2, 3 et 5 du programme d informatique des classes préparatoires,
Cryptologie et physique quantique : Espoirs et menaces. Objectifs 2. distribué sous licence creative common détails sur www.matthieuamiguet.
: Espoirs et menaces Matthieu Amiguet 2005 2006 Objectifs 2 Obtenir une compréhension de base des principes régissant le calcul quantique et la cryptographie quantique Comprendre les implications sur la
Définitions. Numéro à préciser. (Durée : )
Numéro à préciser (Durée : ) On étudie dans ce problème l ordre lexicographique pour les mots sur un alphabet fini et plusieurs constructions des cycles de De Bruijn. Les trois parties sont largement indépendantes.
TP 2 : Chiffrement par blocs
USTL - Licence et Master Informatique 2006-2007 Principes et Algorithmes de Cryptographie TP 2 : Chiffrement par blocs Objectifs du TP utiliser openssl pour chiffrer/déchiffrer, étudier le remplissage
Architectures PKI. Sébastien VARRETTE
Université du Luxembourg - Laboratoire LACS, LUXEMBOURG CNRS/INPG/INRIA/UJF - Laboratoire LIG-IMAG [email protected] http://www-id.imag.fr/~svarrett/ Cours Cryptographie & Securité Réseau Master
Sécurité des réseaux IPSec
Sécurité des réseaux IPSec A. Guermouche A. Guermouche Cours 4 : IPSec 1 Plan 1. A. Guermouche Cours 4 : IPSec 2 Plan 1. A. Guermouche Cours 4 : IPSec 3 Pourquoi? Premier constat sur l aspect critique
Contexte. Pour cela, elles doivent être très compliquées, c est-à-dire elles doivent être très différentes des fonctions simples,
Non-linéarité Contexte Pour permettre aux algorithmes de cryptographie d être sûrs, les fonctions booléennes qu ils utilisent ne doivent pas être inversées facilement. Pour cela, elles doivent être très
Signature électronique. Romain Kolb 31/10/2008
Romain Kolb 31/10/2008 Signature électronique Sommaire I. Introduction... 3 1. Motivations... 3 2. Définition... 3 3. La signature électronique en bref... 3 II. Fonctionnement... 4 1. Notions requises...
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
Introduction. On suppose connus les ensembles N (des entiers naturels), Z des entiers relatifs et Q (des nombres rationnels). On s est rendu compte, depuis l antiquité, que l on ne peut pas tout mesurer
Carl-Louis-Ferdinand von Lindemann (1852-1939)
Par Boris Gourévitch "L'univers de Pi" http://go.to/pi314 [email protected] Alors ça, c'est fort... Tranches de vie Autour de Carl-Louis-Ferdinand von Lindemann (1852-1939) est transcendant!!! Carl Louis
0x700. Cryptologie. 2012 Pearson France Techniques de hacking, 2e éd. Jon Erickson
0x700 Cryptologie La cryptologie est une science qui englobe la cryptographie et la cryptanalyse. La cryptographie sous-tend le processus de communication secrète à l aide de codes. La cryptanalyse correspond
UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.
UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases
Le protocole sécurisé SSL
Chapitre 4 Le protocole sécurisé SSL Les trois systèmes de sécurisation SSL, SSH et IPSec présentés dans un chapitre précédent reposent toutes sur le même principe théorique : cryptage des données et transmission
DOCM 2013 http://docm.math.ca/ Solutions officielles. 1 2 10 + 1 2 9 + 1 2 8 = n 2 10.
A1 Trouvez l entier positif n qui satisfait l équation suivante: Solution 1 2 10 + 1 2 9 + 1 2 8 = n 2 10. En additionnant les termes du côté gauche de l équation en les mettant sur le même dénominateur
Initiation à l algorithmique
Informatique S1 Initiation à l algorithmique procédures et fonctions 2. Appel d une fonction Jacques TISSEAU Ecole Nationale d Ingénieurs de Brest Technopôle Brest-Iroise CS 73862-29238 Brest cedex 3 -
Cryptographie Quantique
Cryptographie Quantique Jean-Marc Merolla Chargé de Recherche CNRS Email: [email protected] Département d Optique P.-M. Duffieux/UMR FEMTO-ST 6174 2009 1 Plan de la Présentation Introduction
Objets Combinatoires élementaires
Objets Combinatoires élementaires 0-0 Permutations Arrangements Permutations pour un multi-ensemble mots sous-ensemble à k éléments (Problème du choix) Compositions LE2I 04 1 Permutations Supposons que
Vous revisiterez tous les nombres rencontrés au collège, en commençant par les nombres entiers pour finir par les nombres réels.
Cette partie est consacrée aux nombres. Vous revisiterez tous les nombres rencontrés au collège, en commençant par les nombres entiers pour finir par les nombres réels. L aperçu historique vous permettra
Aristote Groupe PIN. Utilisations pratiques de la cryptographie. Frédéric Pailler (CNES) 13 janvier 2009
Aristote Groupe PIN Utilisations pratiques de la cryptographie Frédéric Pailler (CNES) 13 janvier 2009 Objectifs Décrire les techniques de cryptographie les plus courantes Et les applications qui les utilisent
INITIATION AU LANGAGE C SUR PIC DE MICROSHIP
COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par
Licence Sciences et Technologies Examen janvier 2010
Université de Provence Introduction à l Informatique Licence Sciences et Technologies Examen janvier 2010 Année 2009-10 Aucun document n est autorisé Les exercices peuvent être traités dans le désordre.
LES SECURITES DE LA CARTE BANCAIRE
Projet tutoré 2007 TENEUR Jérôme Groupe: III MAHIEU Maxime Année 2006 / 2007 BINARD Romain RTFI1A LES SECURITES DE LA CARTE BANCAIRE 1 SOMMAIRE I - Introduction II - Le chiffrement symétrique 1 - Les principes
Polynômes à plusieurs variables. Résultant
Polynômes à plusieurs variables. Résultant Christophe Ritzenthaler 1 Relations coefficients-racines. Polynômes symétriques Issu de [MS] et de [Goz]. Soit A un anneau intègre. Définition 1.1. Soit a A \
Quelques algorithmes simples dont l analyse n est pas si simple
Quelques algorithmes simples dont l analyse n est pas si simple Michel Habib [email protected] http://www.liafa.jussieu.fr/~habib Algorithmique Avancée M1 Bioinformatique, Octobre 2008 Plan Histoire
Nouveaux résultats en cryptographie basée sur les codes correcteurs d erreurs
MajecSTIC 2009 Avignon, France, du 16 au 18 novembre 2009 Nouveaux résultats en cryptographie basée sur les codes correcteurs d erreurs Pierre-Louis CAYREL Université Paris VIII Département de Mathématiques
Image d un intervalle par une fonction continue
DOCUMENT 27 Image d un intervalle par une fonction continue La continuité d une fonction en un point est une propriété locale : une fonction est continue en un point x 0 si et seulement si sa restriction
Protocoles d authentification
Sécurité des Réseaux, Master CSI 2 J.Bétréma, LaBRI, Université Bordeaux 1 Protocoles d authentification 1. Authentification simple 2. Authentification mutuelle 3. Clé de session 4. KDC Source 1. Authentification
Texte Agrégation limitée par diffusion interne
Page n 1. Texte Agrégation limitée par diffusion interne 1 Le phénomène observé Un fût de déchets radioactifs est enterré secrètement dans le Cantal. Au bout de quelques années, il devient poreux et laisse
Commun à tous les candidats
EXERCICE 3 (9 points ) Commun à tous les candidats On s intéresse à des courbes servant de modèle à la distribution de la masse salariale d une entreprise. Les fonctions f associées définies sur l intervalle
Extrait du poly de Stage de Grésillon 1, août 2010
MINI-COURS SUR LES POLYNÔMES À UNE VARIABLE Extrait du poly de Stage de Grésillon 1, août 2010 Table des matières I Opérations sur les polynômes 3 II Division euclidienne et racines 5 1 Division euclidienne
Comparaison de fonctions Développements limités. Chapitre 10
PCSI - 4/5 www.ericreynaud.fr Chapitre Points importants 3 Questions de cours 6 Eercices corrigés Plan du cours 4 Eercices types 7 Devoir maison 5 Eercices Chap Et s il ne fallait retenir que si points?
Devoir Surveillé de Sécurité des Réseaux
Année scolaire 2009-2010 IG2I L5GRM Devoir Surveillé de Sécurité des Réseaux Enseignant : Armand Toguyéni Durée : 2h Documents : Polycopiés de cours autorisés Note : Ce sujet comporte deux parties. La
Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34
Capacité d un canal Second Théorème de Shannon Théorie de l information 1/34 Plan du cours 1. Canaux discrets sans mémoire, exemples ; 2. Capacité ; 3. Canaux symétriques ; 4. Codage de canal ; 5. Second
1 Recherche en table par balayage
1 Recherche en table par balayage 1.1 Problème de la recherche en table Une table désigne une liste ou un tableau d éléments. Le problème de la recherche en table est celui de la recherche d un élément
FICHE UE Licence/Master Sciences, Technologies, Santé Mention Informatique
NOM DE L'UE : Algorithmique et programmation C++ LICENCE INFORMATIQUE Non Alt Alt S1 S2 S3 S4 S5 S6 Parcours : IL (Ingénierie Logicielle) SRI (Systèmes et Réseaux Informatiques) MASTER INFORMATIQUE Non
Continuité et dérivabilité d une fonction
DERNIÈRE IMPRESSIN LE 7 novembre 014 à 10:3 Continuité et dérivabilité d une fonction Table des matières 1 Continuité d une fonction 1.1 Limite finie en un point.......................... 1. Continuité
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)
1/4 Objectif de ce cours /4 Objectifs de ce cours Introduction au langage C - Cours Girardot/Roelens Septembre 013 Du problème au programme I passer d un problème exprimé en français à la réalisation d
Des codes secrets dans la carte bleue. François Dubois 1
Des codes secrets dans la carte bleue François Dubois 1 Kafemath Le Mouton Noir, Paris 11 ième jeudi 25 juin 2009 1 animateur du Kafemath, café mathématique à Paris. Carte bleue Un geste du quotidien...
CRYPTOGRAPHIE. Chiffrement par flot. E. Bresson. [email protected]. SGDN/DCSSI Laboratoire de cryptographie
CRYPTOGRAPHIE Chiffrement par flot E. Bresson SGDN/DCSSI Laboratoire de cryptographie [email protected] CHIFFREMENT PAR FLOT Chiffrement par flot Chiffrement RC4 Sécurité du Wi-fi Chiffrement
Développements limités. Notion de développement limité
MT12 - ch2 Page 1/8 Développements limités Dans tout ce chapitre, I désigne un intervalle de R non vide et non réduit à un point. I Notion de développement limité Dans tout ce paragraphe, a désigne un
Corrigé des TD 1 à 5
Corrigé des TD 1 à 5 1 Premier Contact 1.1 Somme des n premiers entiers 1 (* Somme des n premiers entiers *) 2 program somme_entiers; n, i, somme: integer; 8 (* saisie du nombre n *) write( Saisissez un
Exercices sur le chapitre «Probabilités»
Arnaud de Saint Julien - MPSI Lycée La Merci 2014-2015 1 Pour démarrer Exercices sur le chapitre «Probabilités» Exercice 1 (Modélisation d un dé non cubique) On considère un parallélépipède rectangle de
FONDEMENTS DES MATHÉMATIQUES
FONDEMENTS DES MATHÉMATIQUES AYBERK ZEYTİN 1. DIVISIBILITÉ Comment on peut écrire un entier naturel comme un produit des petits entiers? Cette question a une infinitude d interconnexions entre les nombres
Cryptographie appliquée
Cryptographie appliquée Les bases de la cryptographie et ses applications 5INFO INSA m2ri réseau et sécurité Stage sécurité ENSTB 15 mai 2007 1 Grandes idées Cryptographie ancienne : les bases César, Vigenère,
Représentation d un entier en base b
Représentation d un entier en base b 13 octobre 2012 1 Prérequis Les bases de la programmation en langage sont supposées avoir été travaillées L écriture en base b d un entier est ainsi défini à partir
Baccalauréat ES Pondichéry 7 avril 2014 Corrigé
Baccalauréat ES Pondichéry 7 avril 204 Corrigé EXERCICE 4 points Commun à tous les candidats. Proposition fausse. La tangente T, passant par les points A et B d abscisses distinctes, a pour coefficient
Problème 1 : applications du plan affine
Problème 1 : applications du plan affine Notations On désigne par GL 2 (R) l ensemble des matrices 2 2 inversibles à coefficients réels. Soit un plan affine P muni d un repère (O, I, J). Les coordonnées
TIW4 : SÉCURITÉ DES SYSTÈMES D INFORMATION
TIW4 : SÉCURITÉ DES SYSTÈMES D INFORMATION PROTECTION CRYPTOGRAPHIQUE [email protected] http://liris.cnrs.fr/~rthion/dokuwiki/enseignement:tiw4 Master «Technologies de l Information» Romuald
Exo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2.
Eo7 Calculs de déterminants Fiche corrigée par Arnaud Bodin Eercice Calculer les déterminants des matrices suivantes : Correction Vidéo ( ) 0 6 7 3 4 5 8 4 5 6 0 3 4 5 5 6 7 0 3 5 4 3 0 3 0 0 3 0 0 0 3
Développement décimal d un réel
4 Développement décimal d un réel On rappelle que le corps R des nombres réels est archimédien, ce qui permet d y définir la fonction partie entière. En utilisant cette partie entière on verra dans ce
Chapitre 11. Séries de Fourier. Nous supposons connues les formules donnant les coefficients de Fourier d une fonction 2 - périodique :
Chapitre Chapitre. Séries de Fourier Nous supposons connues les formules donnant les coefficients de Fourier d une fonction - périodique : c c a0 f x dx c an f xcosnxdx c c bn f xsinn x dx c L objet de
Fonctions de plusieurs variables
Module : Analyse 03 Chapitre 00 : Fonctions de plusieurs variables Généralités et Rappels des notions topologiques dans : Qu est- ce que?: Mathématiquement, n étant un entier non nul, on définit comme
Travaux dirigés d introduction aux Probabilités
Travaux dirigés d introduction aux Probabilités - Dénombrement - - Probabilités Élémentaires - - Variables Aléatoires Discrètes - - Variables Aléatoires Continues - 1 - Dénombrement - Exercice 1 Combien
La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1
La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1 La licence Mathématiques et Economie-MASS de l Université des Sciences Sociales de Toulouse propose sur les trois
