Introduction à la Cryptologie 3I024. Première partie

Documents pareils
Introduction à l étude des Corps Finis

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

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

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

Cryptographie et fonctions à sens unique

Cours arithmétique et groupes. Licence première année, premier semestre

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

Quelques tests de primalité

Représentation d un entier en base b

MATHÉMATIQUES DISCRÈTES (4) CRYPTOGRAPHIE CLASSIQUE

Cours d arithmétique Première partie

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

Cours de mathématiques

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)

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.

Premiers exercices d Algèbre. Anne-Marie Simon

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

Structures algébriques

Polynômes à plusieurs variables. Résultant

Algorithmes récursifs

Initiation à l algorithmique

Chapitre VI - Méthodes de factorisation

Raisonnement par récurrence Suites numériques

FONDEMENTS DES MATHÉMATIQUES

Résumé du cours d algèbre 1, Sandra Rozensztajn. UMPA, ENS de Lyon, sandra.rozensztajn@ens-lyon.fr

Simulation de variables aléatoires

Fonctions de plusieurs variables

Probabilités sur un univers fini

Le produit semi-direct

Développement décimal d un réel

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

Tests de primalité et cryptographie

Initiation à la programmation en Python

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

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

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

Corrigé des TD 1 à 5

Table des matières. I Mise à niveau 11. Préface

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

DOCM Solutions officielles = n 2 10.

INF 4420: Sécurité Informatique Cryptographie II

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

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies

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

Objets Combinatoires élementaires

Rappels et compléments, première partie : Nombres complexes et applications à la géométrie

ÉPREUVE COMMUNE DE TIPE Partie D

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Cours d Analyse. Fonctions de plusieurs variables

Exercices sur le chapitre «Probabilités»

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

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

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

Petit lexique de calcul à l usage des élèves de sixième et de cinquième par M. PARCABE, professeur au collège Alain FOURNIER de BORDEAUX, mars 2007

Cours de Probabilités et de Statistique

Cours d algorithmique pour la classe de 2nde

Problèmes de Mathématiques Filtres et ultrafiltres

Exercices du Cours de la programmation linéaire donné par le Dr. Ali DERBALA

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

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

V- Manipulations de nombres en binaire

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

Rappels sur les suites - Algorithme

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

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

Probabilité. Table des matières. 1 Loi de probabilité Conditions préalables Définitions Loi équirépartie...

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

Codage d information. Codage d information : -Définition-

Contexte. Pour cela, elles doivent être très compliquées, c est-à-dire elles doivent être très différentes des fonctions simples,


Probabilités conditionnelles Exercices corrigés

Programme de la classe de première année MPSI

1 Recherche en table par balayage

Représentation des Nombres

3 Approximation de solutions d équations

Une forme générale de la conjecture abc

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Factorisation d entiers (première partie)

Fonctions homographiques

Programmation linéaire

avec des nombres entiers

Introduction. Mathématiques Quantiques Discrètes

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

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

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

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

Cours 02 : Problème général de la programmation linéaire

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

Chapitre 2. Matrices

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

Cours Fonctions de deux variables

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

Licence Sciences et Technologies Examen janvier 2010

Date : Tangram en carré page

3. Conditionnement P (B)

Logique. Plan du chapitre

Probabilités sur un univers fini

Conversion d un entier. Méthode par soustraction

Pour l épreuve d algèbre, les calculatrices sont interdites.

Probabilités. C. Charignon. I Cours 3

Transcription:

Introduction à la Cryptologie 3I024 Première partie Guénaël Renault & Valérie Ménissier-Morain CALSCI LIP6/UPMC 21 janvier 2016

UPMC - Licence Info - Crypto - 2015/16 2/182 Part I Cryptographie - Objets mathématiques de base

Plan UPMC - Licence Info - Crypto - 2015/16 3/182 1 Définitions 2 Cryptographie mono-alphabétique 3 Structures algébriques de base Groupes Anneaux 4 Relation d équivalence, théorème de Lagrange Généralités sur les relations d équivalence Théorème de Lagrange PGCD Calcul du PGCD: algorithme d Euclide 5 L anneau (Z/nZ, +, ) et l arithmétique modulaire 6 Conclusion

UPMC - Licence Info - Crypto - 2015/16 4/182 La cryptologie Définitions La cryptologie est la science du secret. Elle se divise en deux disciplines : La cryptographie qui est l étude des algorithmes permettant de protéger (cacher) de l information. Ces algorithmes sont appelés cryptosystèmes ; la cryptanalyse qui est l étude du niveau de sécurité des cryptosystèmes fournis par les cryptographes. Première partie du cours On s intéresse au problème de confidentialité (chiffrer des messages) La clé est la même pour chiffrer et déchiffrer

Terminologie et principe de base de la cryptologie Terminologie Chiffrer : l action de rendre un message clair M (plaintext) en un message C appelé cryptogramme ou message chiffré, illisible. Déchiffrer : Action inverse du chiffrement. Cryptosystème : L algorithme (ou le dispositif physique) permettant de chiffrer des données. Attaquer, Casser : Mettre à mal la sécurité d un cryptosystème (retrouver M à partir de C sans connaître la clé, retrouver la clé). Principe de Kerckhoffs (Journal des sciences militaires, 1883) La sécurité d un cryptosystème ne doit reposer que sur le secret de la clef. En particulier un attaquant est supposé connaître le cryptosystème (Les cryptosystèmes militaires, vus comme des dispositifs physiques, peuvent tomber aux mains de l ennemi). La sécurité d un cryptosystème est attestée par la cryptanalyse. UPMC - Licence Info - Crypto - 2015/16 5/182

UPMC - Licence Info - Crypto - 2015/16 6/182 Cryptographie symétrique : Modélisation Définition Un cryptosystème est dit symétrique (ou à clé privée) si pour chiffrer et déchiffrer, la même clé secrète est utilisée. Cryptosystème P et C les alphabets pour écrire les messages clairs et les messages chiffrés respectivement. K l ensemble des clés possibles. Pour tout K K on peut définir deux applications e K : P C et d K : C P telles que d K (e K (x)) = x pour tout x P. les alphabets peuvent être composés de symboles uniques ou de blocs de symboles. Pour commencer on s en tiendra aux caractères de l alphabet usuel.

La cryptographie symétrique en pratique UPMC - Licence Info - Crypto - 2015/16 7/182 Cryptosystème symétrique (la même clé K pour dé/chiffrer) P et C les alphabets clairs et chiffrés. K l ensemble des clés possibles. K K : e K : P C et d K : C P avec x P d K (e K (x)) = x. Les applications e K et d K nécessitent la connaissance complète de K pour être définies. En pratique : chiffrer avec la clé K Pour chiffrer un texte P clair on procède comme suit 1 On découpe P en blocs correspondant aux éléments de P 2 On applique e K sur chacun des blocs de P 3 On obtient ainsi C un message correspondant à P et écrit à l aide de C.

UPMC - Licence Info - Crypto - 2015/16 7/182 La cryptographie symétrique en pratique Cryptosystème symétrique (la même clé K pour dé/chiffrer) P et C les alphabets clairs et chiffrés. K l ensemble des clés possibles. K K : e K : P C et d K : C P avec x P d K (e K (x)) = x. Les applications e K et d K nécessitent la connaissance complète de K pour être définies. En pratique : déchiffrer avec la clé K Pour déchiffrer le texte C on procède comme suit 1 On découpe C en blocs correspondant aux éléments de C 2 On applique d K sur chacun des blocs de C 3 On obtient ainsi P le clair associé à C.

Chiffrement de messages en pratique UPMC - Licence Info - Crypto - 2015/16 8/182 Découpage par blocs de P P P P P... e K e K e K e K C C C C...

Plan UPMC - Licence Info - Crypto - 2015/16 9/182 1 Définitions 2 Cryptographie mono-alphabétique 3 Structures algébriques de base Groupes Anneaux 4 Relation d équivalence, théorème de Lagrange Généralités sur les relations d équivalence Théorème de Lagrange PGCD Calcul du PGCD: algorithme d Euclide 5 L anneau (Z/nZ, +, ) et l arithmétique modulaire 6 Conclusion

Chiffrement par substitution ou mono-alphabétique Définition À chaque élément de P correspond un unique élément de C. Un exemple où l alphabet d arrivée est différent de celui de départ Le chiffrement des Francs-Maçons. A B C D E F G H I T S V U J K L M N O P Q R UPMC - Licence Info - Crypto - 2015/16 10/182 X W Z Y

UPMC - Licence Info - Crypto - 2015/16 10/182 Chiffrement par substitution ou mono-alphabétique Définition À chaque élément de P correspond un unique élément de C. Cryptosystème par substitution P, C sont différents (de même cardinal) K est l ensemble des bijections de P dans C. Pour tout K K on a e K (x) = K(x) d K (y) = K 1 (x)

UPMC - Licence Info - Crypto - 2015/16 10/182 Chiffrement par substitution ou mono-alphabétique Définition À chaque élément de P correspond un unique élément de C. On prend les alphabets canoniques P = C = {A,..., Z} mais dans ce cas il faut mélanger cet alphabet. Cryptosystème par substitution sur alphabets identiques P, C sont tous les deux égaux à A = {A,..., Z} K est l ensemble des permutations de P dans C. Pour tout K K on a e K (x) = K(x) d K (y) = K 1 (x)

Plan UPMC - Licence Info - Crypto - 2015/16 11/182 1 Définitions 2 Cryptographie mono-alphabétique 3 Structures algébriques de base Groupes Anneaux 4 Relation d équivalence, théorème de Lagrange Généralités sur les relations d équivalence Théorème de Lagrange PGCD Calcul du PGCD: algorithme d Euclide 5 L anneau (Z/nZ, +, ) et l arithmétique modulaire 6 Conclusion

Plan UPMC - Licence Info - Crypto - 2015/16 12/182 1 Définitions 2 Cryptographie mono-alphabétique 3 Structures algébriques de base Groupes Anneaux 4 Relation d équivalence, théorème de Lagrange Généralités sur les relations d équivalence Théorème de Lagrange PGCD Calcul du PGCD: algorithme d Euclide 5 L anneau (Z/nZ, +, ) et l arithmétique modulaire 6 Conclusion

Groupes Groupe (G, ) Associativité : (a, b, c) G G G, Neutre : il existe un élément e neutre pour, i.e. a G, a e = e a = a Inverse : a G, b G a b = b a = e a (b c) = (a b) c Le groupe est dit Commutatif si de plus (a, b) G G, Exemples L ensemble Z des entiers muni de l addition (commutatif) L ensemble Q \ {0} muni de la multiplication (commutatif) a b = b a L ensemble Perm(E) des permutations d un ensemble fini E muni de la composition (non commutatif). Avoir à l esprit quelle est l opération du groupe! Parfois, l opération est implicite, par exemple Z/nZ est canoniquement un groupe additif. UPMC - Licence Info - Crypto - 2015/16 13/182

UPMC - Licence Info - Crypto - 2015/16 14/182 Groupes et chiffrement par substitution Chiffrement par substitution À chaque élément de P correspond un unique élément de C. Si on choisit de numéroter les lettres de l alphabet de 0 à 25 on aura alors la modélisation : P = C = {0,..., 25} K = Perm(P) σ K, e K = σ et d K = σ 1

Cas particulier : César UPMC - Licence Info - Crypto - 2015/16 15/182

Cas particulier : César Les clés forment un sous-groupe de Perm(P), celui des rotations. A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z disque clair (fixe) disque chiffré (mobile) UPMC - Licence Info - Crypto - 2015/16 15/182

UPMC - Licence Info - Crypto - 2015/16 15/182 Cas particulier : César Les clés forment un sous-groupe de Perm(P), celui des rotations. Définition sous-groupe Soit (G, ) un groupe. Un ensemble H contenu dans G est un sous-groupe (de G) s il est lui même un groupe pour. Chiffrement de César : modulaire P = C = Z/26Z K = {0,..., 25} ρ K, e K : p p + ρ mod 26 et d K : c c ρ mod 26 Arithmétique modulaire!

Cas particulier : César Chiffrement de César : modulaire P = C = Z/26Z K = {0,..., 25} ρ K, e K : p p + ρ mod 26 et d K : c c ρ mod 26 Exemple ρ = 13 13 = 13 mod 26 13 A B C D E F G H I J K L M ROT13 N O P Q R S T U V W X Y Z H E L L O ROT13 U R Y Y B UPMC - Licence Info - Crypto - 2015/16 15/182

Chiffrement de César : propriétés UPMC - Licence Info - Crypto - 2015/16 16/182 Dans Perm({0,..., 25}) une rotation peut être définie comme la composition de plusieurs fois une rotation de longueur 1. Définition : Groupe cyclique (ou monogène) C est un groupe (G, ) qui peut être engendré par un élément: g G tq a G a = g g g On peut noter cette propriété sous la forme G = g. Le sous-groupe de Perm({0,..., 25}) des rotations est cyclique.

Ici il y a deux opérations: besoin de structures mathématiques plus riches que celle de groupe, en particulier de savoir inverser. UPMC - Licence Info - Crypto - 2015/16 17/182 Chiffrement affine En utilisant l encodage habituel, on se place directement dans un alphabet de la forme Z/nZ (ici n = 26). Cryptosystème affine P, C sont tous les deux égaux à Z/26Z K est un sous ensemble de Z/26Z Z/26Z tel que Pour tout K = (a, b) K on a e K (x) = ax + b mod 26 et il existe une fonction d K : C P inverse de e K. K forme ici aussi un sous-groupe de Perm(P). Problème Comment déterminer l ensemble des clés possibles? Ceci revient à déterminer les fonction e K qui possèdent une fonction inverse.

Plan UPMC - Licence Info - Crypto - 2015/16 18/182 1 Définitions 2 Cryptographie mono-alphabétique 3 Structures algébriques de base Groupes Anneaux 4 Relation d équivalence, théorème de Lagrange Généralités sur les relations d équivalence Théorème de Lagrange PGCD Calcul du PGCD: algorithme d Euclide 5 L anneau (Z/nZ, +, ) et l arithmétique modulaire 6 Conclusion

UPMC - Licence Info - Crypto - 2015/16 19/182 Objets mathématiques supports de la cryptographie Groupe, anneau, corps,... Arithmétique dans Z,... Divisibilité, nombres premiers,......

UPMC - Licence Info - Crypto - 2015/16 20/182 Structures de base : définitions Anneau commutatif (A,, ) Groupe commutatif pour l opération Associativité et existence d un élément neutre pour Distributivité de par rapport à : (a, b, c) A 3, c (a b) = (c b) (c a) Commutativité de la seconde opération Exemples L anneau Z muni de l addition (groupe) et de la multiplication. L anneau des fractions Q avec les mêmes opérations Dans la suite, tous les anneaux seront commutatifs et munis de l addition et de la multiplication. L élément neutre est 0 pour l addition et 1 pour la multiplication.

UPMC - Licence Info - Crypto - 2015/16 21/182 Structures de base : définitions Sous-structure Un sous-ensemble U d un groupe G (resp. anneau) est un sous-groupe (resp. sous-anneau) de G (resp. A) s il est lui même un groupe (resp. anneau) pour les opérations de G (resp. A). Exemple L anneau Z muni de l addition (groupe) et de la multiplication est en fait un sous-anneau de Q.

UPMC - Licence Info - Crypto - 2015/16 22/182 Divisibilité dans un anneau (A, +, ) Diviseurs, multiples Un élément a est un diviseur de b dans un anneau A s il existe c A tel que b = ac. On note alors a b et b est appelé multiple de a. L ensemble des multiples de a dans A est noté aa = {ak : k A} L arithmétique est l étude de la divisibilité. 6 et 6 divisent 12 dans Z. si a est un entier divisant b Z alors il en est de même pour a. Ceci vient du fait que 1 est inversible dans Z. On ne s intéresse donc qu au cas positif (classes d équivalence modulo la multiplication par un inverse)

UPMC - Licence Info - Crypto - 2015/16 23/182 Inversibilité dans un anneau (A, +, ) Inversibles Une élément a d un anneau A est dit inversible s il existe b A tel que ab = 1. L élément b est appelé inverse de a. L ensemble des inversibles d un anneau A sera noté A (ou aussi U(A)). A forme un groupe commutatif dans A pour la multiplication. La divisibilité peut être vue à un inverse près. Association Pour a A nous appelons associé à a tout élément b de la forme b = ua avec u A et nous noterons b a. Pour A = Z nous avons A = {1, 1} Pour A = Z les associés de a sont {a, a} Pour A = Z on choisira le positif comme représentant la classe d équivalence pour l association.

UPMC - Licence Info - Crypto - 2015/16 24/182 Intégrité Dans un cadre général, certains éléments d un anneau A peuvent représentés un obstacle à l arithmétique. Ces éléments sont les diviseurs de 0. Diviseur de zéro et anneau intègre Un élément a 0 A est diviseur de 0 s il existe b 0 A tel que ab = 0. Un anneau A est dit intègre s il n existe pas de diviseur de 0 dans A. L anneau Z est intègre mais nous rencontrerons plus tard des anneaux qui ne le seront pas, les exemples les plus simples étant certains de ceux construits par quotient de Z.

UPMC - Licence Info - Crypto - 2015/16 25/182 Division euclidienne La division euclidienne représente un moyen puissant pour étudier la divisibilité d un anneau. Anneau euclidien Un anneau intègre A équipé d une fonction d : A N { } est dit euclidien si pour tout couple (a, b) A 2 avec b 0, il existe q et r dans A tel que a = qb + r avec d(r) < d(b). Cette dernière relation étant appelée division euclidienne de a par b, l élément q le quotient et r le reste de cette division. d s appelle un stathme sur A. Pour A = Z nous choisissons d : x x a b est équivalent à b = qa + r avec r = 0 Non unicité, pour A = Z on prendra comme convention r 0

Division euclidienne UPMC - Licence Info - Crypto - 2015/16 26/182 Dans le langage C, la division euclidienne sur les entiers est obtenue en utilisant les opérateurs arithmétiques binaires / pour le quotient et % pour le reste de la division de deux entiers. D après la norme ANSI, le résultat correspondra à la convention décrite plus haut (i.e. reste positif ou nul) lorsque les opérandes sont eux-mêmes positifs. Dans le cas contraire le résultat n est pas spécifié. En particulier le résultat de (3-14) % 26 peut être négatif! Si on divise par 0, le résultat n a pas de sens

UPMC - Licence Info - Crypto - 2015/16 27/182 Irréductibilité et Décomposition Les éléments "minimaux" pour la divisibilité Irréductible Un élément p d un anneau A est irréductible s il est ni nul ni inversible et s il a exactement deux diviseurs (à association près) : 1 et p. On veut pouvoir décomposer selon ces irréductibles (briques de base) Anneau factoriel Un anneau A est dit factoriel s il est intègre et qu il vérifie les deux conditions suivantes : existence d une factorisation : tout élément a 0 de A qui n est pas inversible peut être écrit sous la forme d un produit p 1 p 2 p n d éléments irréductibles ; unicité de la factorisation : cette décomposition est unique à association et ordre près des facteurs irréductibles.

UPMC - Licence Info - Crypto - 2015/16 28/182 Théorèmes fondamentaux Théorème fondamental de l arithmétique L anneau Z est factoriel. Théorème fondamental généralisé Un anneau euclidien est factoriel.

UPMC - Licence Info - Crypto - 2015/16 29/182 Théorème fondamental dans Z Premiers Un élément a d un anneau A est dit premier s il est ni nul ni inversible et s il vérifie la propriété suivante : p ab p a ou p b. Factoriel et premiers Dans un anneau factoriel les qualités d être premier et irréductible coïncident. Montrer l équivalence entre premier et irréductible va nous permettre de montrer le caractère factoriel de Z. Par association on se limite aux entiers naturels (i.e. les entiers positifs)

UPMC - Licence Info - Crypto - 2015/16 30/182 Théorème fondamental dans Z Existence de la décomposition Tout entier n > 1 vérifie la propriété P(n) : n est le produit de nombres irréductibles. Preuve : On commence par montrer que a > 1 est irréductible ssi il n est pas le produit de deux entiers > 1. Ensuite, on montre cette existence de décomposition par récurrence forte sur n : On montre que 2 est irréductible. Pour n > 2 on décompose n et on applique h.r.

UPMC - Licence Info - Crypto - 2015/16 31/182 Théorème fondamental dans Z Pour montrer l unicité de la décomposition nous montrons l équivalence qui suit Premier = Irréductible dans Z Tout nombre entier > 1 est irréductible ssi il est premier. Preuve : par l absurde en utilisant la division euclidienne! On récupère ici la notion usuelle de nombre premier (vue au collège, lycée, etc.)

UPMC - Licence Info - Crypto - 2015/16 32/182 Théorème fondamental dans Z Unicité de la décomposition dans Z Tout entier n > 1 se décompose sous la forme d un produit de nombres irréductibles (premiers) de manière unique. Preuve : p n 1 1 pn k k = n = q m 1 1 qms k où les p i et les q j sont des nombres irréductibles. D après le résultat précédent, pour i 1 fixé il existe un entier j 1 tel que p i1 = q j1. En utilisant le même raisonnement sur le quotient de n par p i1 on obtient de proche en proche le fait que la décomposition est unique. Ceci termine la démonstration du théorème fondamental dans Z.

UPMC - Licence Info - Crypto - 2015/16 33/182 Les nombres premiers Les nombres irréductibles sont les nombres premiers! La "vraie" notion à retenir en général est celle d irréductible. Important de connaître les irréductibles car ils définissent tous les éléments. Quel est le nombre de nombres premiers? Infinité des nombres premiers L ensemble des nombres premiers est infini. Preuve Euclide : Par l absurde. On utilise la factorisation pour réfuter. Preuve Constructive : On considère un ensemble fini de nombres premiers. On construit un nouveau nombre premier par factorisation.

Les nombres premiers Comment reconnaître un nombre premier? Lemme Un entier n > 1 est premier ssi il n est divisible par aucun entier compris entre 2 et n. #include<stdio.h> #include<math.h> int main() { int p,d,r; printf("entrer un entier >2 a tester : "); scanf("%d",&p); d=1; do{ d+=1; r= p % d; }while(r!=0 && d < sqrt((double)p)); if (r == 0) printf("\nl entier %d n est pas premier.\n Il est divisible par %d.\n",p,d); else printf("\nl entier %d est premier.\n",p); return 0; } UPMC - Licence Info - Crypto - 2015/16 34/182

Les nombres premiers, la factorisation UPMC - Licence Info - Crypto - 2015/16 35/182 Comment reconnaître un nombre premier? (primalité ordinaire) La complexité de ce programme est de l ordre de p ce qui est exponentiel en la taille de p. Agrawal, Kayal et Saxena (2002) donnent un algorithme de complexité polynomiale en la taille de l entrée non probabiliste et indépendant de toute conjecture. Le meilleur logiciel connu est FastECPP de F. Morain (basé sur les courbes elliptiques, record 26643 chiffres décimaux). Comment factoriser un nombre entier? (factorisation) C est beaucoup plus dur! Des cryptosystèmes reposent sur cette difficulté. Des algorithmes de complexité sous-exponentielle existent (MPQS, NFS). Record 232 chiffres décimaux.

Plan UPMC - Licence Info - Crypto - 2015/16 36/182 1 Définitions 2 Cryptographie mono-alphabétique 3 Structures algébriques de base Groupes Anneaux 4 Relation d équivalence, théorème de Lagrange Généralités sur les relations d équivalence Théorème de Lagrange PGCD Calcul du PGCD: algorithme d Euclide 5 L anneau (Z/nZ, +, ) et l arithmétique modulaire 6 Conclusion

Plan UPMC - Licence Info - Crypto - 2015/16 37/182 1 Définitions 2 Cryptographie mono-alphabétique 3 Structures algébriques de base Groupes Anneaux 4 Relation d équivalence, théorème de Lagrange Généralités sur les relations d équivalence Théorème de Lagrange PGCD Calcul du PGCD: algorithme d Euclide 5 L anneau (Z/nZ, +, ) et l arithmétique modulaire 6 Conclusion

UPMC - Licence Info - Crypto - 2015/16 38/182 Relation d équivalence Une relation binaire R d un ensemble E est une relation d équivalence lorsqu elle vérifie les trois propriétés suivantes: R est réflexive : tout élément de E peut être mis en relation avec lui-même ( x E, xrx) R est symétrique : tout élément de E peut être mis en relation avec les éléments qui lui sont relatifs ( (x, y) E 2, xry yrx) R est transitive : une relation d une relation est une relation ( (x, y, z) E 3, xry yrz xrz) Deux éléments de E qui sont mis en relation par R sont dits associés ou équivalents pour cette relation. Soit x un élément de E, le sous ensemble de E formé des éléments de E qui sont associés pour R est appelé classe d équivalence.

UPMC - Licence Info - Crypto - 2015/16 39/182 Relation d équivalence: exemple de la relation d association Soit a, b A un anneau commutatif. On note aa l ensemble des multiples de a dans A. arb aa = ba aa = aa clair aa = ba ba = aa clair aa = ba et ba = ca aa = ca clair Provient du fait que = est une relation d équivalence. On peut montrer que aa = ba est équivalent à l assertion : u inversible dans A tq a = ub. Dans Z les différentes classes d équivalence seront alors {0}, { 1, 1}, { 2, 2},....

UPMC - Licence Info - Crypto - 2015/16 40/182 Relation d équivalence: exemple Z/nZ (très important) Soit a, b Z et n un entier positif. ar n b a b nz a a = n 0 a b nz b a ( 1) nz = nz a b nz et b c nz (a b) + (b c) nz Les éléments d une même classe ont le même reste modulo n (exercice : le montrer) On choisit le plus petit entier positif de la classe (les classes sont donc représentées par {0, 1,..., n 1}).

UPMC - Licence Info - Crypto - 2015/16 41/182 Relation d équivalence: partitionnement Propriété de partitionnement Soit E un ensemble et R une relation d équivalence sur E. L ensemble des classes d équivalence pour R forme une partition de E, c est-à-dire un ensemble de sous-ensembles non vides de E, disjoints et dont l union est E. Preuve laissée en exercice. Idée imagée : E = b E tq a 1 Rb b E tq a 2 Rb b E tq a k Rb

Plan UPMC - Licence Info - Crypto - 2015/16 42/182 1 Définitions 2 Cryptographie mono-alphabétique 3 Structures algébriques de base Groupes Anneaux 4 Relation d équivalence, théorème de Lagrange Généralités sur les relations d équivalence Théorème de Lagrange PGCD Calcul du PGCD: algorithme d Euclide 5 L anneau (Z/nZ, +, ) et l arithmétique modulaire 6 Conclusion

Relation d équivalence : application au théorème de Lagrange UPMC - Licence Info - Crypto - 2015/16 43/182 Théorème de Lagrange Soit (G, ) un groupe fini et H un sous-groupe de G. Alors le cardinal de H est un diviseur du cardinal de G. (Le cardinal d un groupe est aussi appelé ordre.) Mathématicien italo-français de la seconde moitié du 18ème siècle. Il développe les idées sur les groupes (sans que la définition soit clairement établie) de permutations pour étudier les solutions des équations polynomiales.

UPMC - Licence Info - Crypto - 2015/16 43/182 Relation d équivalence : application au théorème de Lagrange Théorème de Lagrange Soit (G, ) un groupe fini et H un sous-groupe de G. Alors le cardinal de H est un diviseur du cardinal de G. (Le cardinal d un groupe est aussi appelé ordre.) Démonstration On considère la relation d équivalence xr H y xy 1 H On partitionne le groupe G selon les classes de R H On montre que la classe d équivalence d un élément x est xh et que H est la classe de e On établit une application bijective entre les classes d équivalence donc toutes les classes d équivalence ont même cardinal, celui de H, qui divise donc le cardinal de G.

Ordre d un élément UPMC - Licence Info - Crypto - 2015/16 44/182 Théorème de Lagrange Soit (G, ) un groupe fini et H un sous-groupe de G. Alors le cardinal de H est un diviseur du cardinal de G. (Le cardinal d un groupe est aussi appelé ordre.) Définition : ordre d un élément Soit g un élément d un groupe fini (G, ). On appelle ordre de g le plus petit entier strictement positif k tel que g g g }{{} = e k fois Soit g G on considère le sous-groupe cyclique de G engendré par g. Le cardinal de ce sous-groupe est égal à l ordre de g et divise le cardinal de G d après le theórème Lagrange. Voici une raison pour laquelle on nomme ordre le cardinal d un groupe.

Ordre d un élément UPMC - Licence Info - Crypto - 2015/16 44/182 Théorème de Lagrange Soit (G, ) un groupe fini et H un sous-groupe de G. Alors le cardinal de H est un diviseur du cardinal de G. (Le cardinal d un groupe est aussi appelé ordre.) Définition : ordre d un élément Soit g un élément d un groupe fini (G, ). On appelle ordre de g le plus petit entier strictement positif k tel que Corollaire g g g }{{} = e k fois Tout groupe (G, ) d ordre un nombre premier est cyclique.

Plan UPMC - Licence Info - Crypto - 2015/16 45/182 1 Définitions 2 Cryptographie mono-alphabétique 3 Structures algébriques de base Groupes Anneaux 4 Relation d équivalence, théorème de Lagrange Généralités sur les relations d équivalence Théorème de Lagrange PGCD Calcul du PGCD: algorithme d Euclide 5 L anneau (Z/nZ, +, ) et l arithmétique modulaire 6 Conclusion

UPMC - Licence Info - Crypto - 2015/16 46/182 Valuation p-adique Soit A un anneau factoriel et P un ensemble de représentants pour chacune des classes d irréductibles de A selon la relation d équivalence xry u A tq x = uy (relation d association). Décomposition unique Pour a A non nul on a a = u p P p vp(a) où u est un inversible et les v p (a) des entiers positifs différents de 0 pour un nombre fini d entre eux (on dit presque tous nuls). Par exemple pour A = Z et a = 453750 : 453750 = 11 2 3 5 4 2

Valuation p-adique UPMC - Licence Info - Crypto - 2015/16 47/182 a = u p P p vp(a) Définition À tout élément p P d un anneau factoriel A est associé une fonction v p : A N { } définie comme suit : Pour a 0 l entier v p (a) est égal à la puissance de p dans la décomposition de a si p divise a et pour a = 0 on aura par convention v p (a) =. L entier v p (a) est la valuation p-adique de a.

UPMC - Licence Info - Crypto - 2015/16 48/182 Valuation p-adique Définition À tout élément p P d un anneau factoriel A est associé une fonction v p : A N { } définie comme suit : Pour a 0 l entier v p (a) est égal à la puissance de p dans la décomposition de a si p divise a et pour a = 0 on aura par convention v p (a) =. L entier v p (a) est la valuation p-adique de a. Par exemple pour A = Z et a = 453750 : 453750 = 11 2 3 5 4 2 v 2 (a) = v 3 (a) = 1, v 5 (a) = 4, v 11 (a) = 2 v p (a) = 0 pour tout autre premier p v p (0) = a un sens

UPMC - Licence Info - Crypto - 2015/16 49/182 Valuation p-adique : propriétés Soit a et b deux éléments d un anneau factoriel A et P un ensemble de représentants des irréductibles de A. v p (ab) = v p (a) + v p (b) v p (a + b) min(v p (a), v p (b)) avec égalité lorsque les valuations sont différentes a est un diviseur de b ssi p P : v p (a) v p (b) Exemples : A = Z, a = 11 2 5, b = 11 2 3 2, c = 11 2 5 3

UPMC - Licence Info - Crypto - 2015/16 49/182 Valuation p-adique : propriétés Soit a et b deux éléments d un anneau factoriel A et P un ensemble de représentants des irréductibles de A. v p (ab) = v p (a) + v p (b) v p (a + b) min(v p (a), v p (b)) avec égalité lorsque les valuations sont différentes a est un diviseur de b ssi p P : v p (a) v p (b) Exemples : A = Z, a = 11 2 5, b = 11 2 3 2, c = 11 2 5 3 v 11 (a + b) = v 11 (11 2 (5 + 2 3)) = v 11 (11 2 (11)) = 3 v 11 (a + c) = v 11 (11 2 (5 + 5 3)) = v 11 (11 2 (20)) = 2

UPMC - Licence Info - Crypto - 2015/16 49/182 Valuation p-adique : propriétés Soit a et b deux éléments d un anneau factoriel A et P un ensemble de représentants des irréductibles de A. v p (ab) = v p (a) + v p (b) v p (a + b) min(v p (a), v p (b)) avec égalité lorsque les valuations sont différentes a est un diviseur de b ssi p P : v p (a) v p (b) Exemples : A = Z, a = 11 2 5, b = 11 2 3 2, c = 11 2 5 3 v 11 (ab) = 4, v 5 (ab) = 1, v 3 (ab) = 1 c ab

UPMC - Licence Info - Crypto - 2015/16 50/182 PGCD Soit a et b deux éléments d un anneau factoriel A et P un ensemble représentant les irréductibles de A. Définition Le plus grand diviseur commun de a et b est l élément d définit par d := p P p min(v p(a),v p (b)) et est noté pgcd(a, b). Exemples : A = Z, a = 11 2 5, b = 11 2 3 2 2, c = 11 2 5 3

PGCD Soit a et b deux éléments d un anneau factoriel A et P un ensemble représentant les irréductibles de A. Définition Le plus grand diviseur commun de a et b est l élément d définit par d := p P p min(v p(a),v p (b)) et est noté pgcd(a, b). Exemples : A = Z, a = 11 2 5, b = 11 2 3 2 2, c = 11 2 5 3 pgcd(a, b) = 11 2 car a = 11 2 5 1 3 0 2 0 et b = 11 2 5 0 3 2 2 1. UPMC - Licence Info - Crypto - 2015/16 50/182

UPMC - Licence Info - Crypto - 2015/16 50/182 PGCD Soit a et b deux éléments d un anneau factoriel A et P un ensemble représentant les irréductibles de A. Définition Le plus grand diviseur commun de a et b est l élément d définit par d := p P p min(v p(a),v p (b)) et est noté pgcd(a, b). Exemples : A = Z, a = 11 2 5, b = 11 2 3 2 2, c = 11 2 5 3 pgcd(a, c) = a

UPMC - Licence Info - Crypto - 2015/16 50/182 PGCD Soit a et b deux éléments d un anneau factoriel A et P un ensemble représentant les irréductibles de A. Définition Le plus grand diviseur commun de a et b est l élément d définit par d := p P p min(v p(a),v p (b)) et est noté pgcd(a, b). Exemples : A = Z, a = 11 2 5, b = 11 2 3 2 2, c = 11 2 5 3 pgcd(b, c) = 11 2 3

UPMC - Licence Info - Crypto - 2015/16 51/182 PGCD Une fois que l ensemble P des représentants des irréductibles de A est fixé, le pgcd est unique. (Dans le cas A = Z les représentants sont positifs, il en sera donc de même pour le pgcd.) Le pgcd(a, b) est maximal pour la divisibilité comme l indique son nom : max(div(a) Div(b)) avec Div(a) l ensemble (fini) des diviseurs (positifs) de a. Caractérisation d = pgcd(a, b) si et seulement si l assertion suivante est vérifiée : si c divise a et b alors c est un diviseur de d

UPMC - Licence Info - Crypto - 2015/16 52/182 Éléments premiers entre eux Notion liée à la divisibilité Premiers entre eux Deux éléments a et b sont dits premiers entre eux (ou a est premier avec b) dès que l ensemble des diviseurs communs à a et b est réduit aux inversibles. Dans le cas A = Z les entiers premiers entre eux sont ceux pour qui l ensemble de leurs diviseurs positifs communs est réduit à {1}. Lien avec le PGCD?

Plan UPMC - Licence Info - Crypto - 2015/16 53/182 1 Définitions 2 Cryptographie mono-alphabétique 3 Structures algébriques de base Groupes Anneaux 4 Relation d équivalence, théorème de Lagrange Généralités sur les relations d équivalence Théorème de Lagrange PGCD Calcul du PGCD: algorithme d Euclide 5 L anneau (Z/nZ, +, ) et l arithmétique modulaire 6 Conclusion

UPMC - Licence Info - Crypto - 2015/16 54/182 Calculer le PGCD : Euclide On cherche le plus grand diviseur entre 14 et 8. On a 14 = 8 + 6 ainsi comme on cherche d divisant 8 et 14 il suffit de chercher d divisant 8 et 6, on recommence le procédé avec 8 et 6 etc. On s arrête dès que l un des entiers considéré est nul. Lemmes immédiats Si d divise a et c et que (a + b) = c alors d divise b. Le pgcd d un élément a 0 et de 0 est a.

Calculer le PGCD : Euclide UPMC - Licence Info - Crypto - 2015/16 55/182 Mathématicien grec (né vers -325, mort vers -265 à Alexandrie, Grèce antique), auteur (supposé) des Éléments, ouvrage fondateur des mathématiques modernes. Il était avant tout géomètre, comme tous les mathématiciens grecs de l antiquité! 14 8

Calculer le PGCD : Euclide UPMC - Licence Info - Crypto - 2015/16 55/182 Mathématicien grec (né vers -325, mort vers -265 à Alexandrie, Grèce antique), auteur (supposé) des Éléments, ouvrage fondateur des mathématiques modernes. Il était avant tout géomètre, comme tous les mathématiciens grecs de l antiquité! 6 8

Calculer le PGCD : Euclide UPMC - Licence Info - Crypto - 2015/16 55/182 Mathématicien grec (né vers -325, mort vers -265 à Alexandrie, Grèce antique), auteur (supposé) des Éléments, ouvrage fondateur des mathématiques modernes. Il était avant tout géomètre, comme tous les mathématiciens grecs de l antiquité! 6 2

Calculer le PGCD : Euclide UPMC - Licence Info - Crypto - 2015/16 55/182 Mathématicien grec (né vers -325, mort vers -265 à Alexandrie, Grèce antique), auteur (supposé) des Éléments, ouvrage fondateur des mathématiques modernes. Il était avant tout géomètre, comme tous les mathématiciens grecs de l antiquité! 2 4

Calculer le PGCD : Euclide UPMC - Licence Info - Crypto - 2015/16 55/182 Mathématicien grec (né vers -325, mort vers -265 à Alexandrie, Grèce antique), auteur (supposé) des Éléments, ouvrage fondateur des mathématiques modernes. Il était avant tout géomètre, comme tous les mathématiciens grecs de l antiquité! 2 pgcd 2

UPMC - Licence Info - Crypto - 2015/16 56/182 Calculer le PGCD Plus d efficacité : division euclidienne dans A L anneau A est donc supposé euclidien (de fonction d fixée). Pour calculer le pgcd de deux éléments a et b tels que d(b) < d(a). Schéma de calcul d Euclide Posant r 0 = a et r 1 = b on calcule jusqu à obtenir un reste nul. 1 si r 1 0 on a r 0 = r 1 q 1 + r 2 avec d(r 2 ) < d(r 1 ) 2 si r 2 0 on a r 1 = r 2 q 2 + r 3 avec d(r 3 ) < d(r 2 ). n 1 si r n 2 0 on a r n 2 =r n 1 q n 1 + r n avec d(r n ) < d(r n 1 ) n si r n 1 0 on a r n 1 =r n q n + r n+1 avec d(r n+1 ) < d(r n ) et Algorithme d Euclide r n+1 = 0 Le dernier reste non nul r n est égal au pgcd de a et b.

UPMC - Licence Info - Crypto - 2015/16 57/182 Algorithme d Euclide Ce schéma se traduit immédiatement en C pour les entiers. #include<stdio.h> #include<math.h> int main() { int a,b,tmp,r0,r1; printf("entrer deux entiers positifs a > b > 0 : "); scanf("%d",&a); scanf("%d",&b); r0=a; r1=b; while(r1!=0){ tmp=r1; r1=r0 % r1; r0=tmp; } printf("\nle pgcd de %d et %d est %d\n",a,b,r0); } return 0;

UPMC - Licence Info - Crypto - 2015/16 58/182 Algorithme d Euclide : démonstration Terminaison : c est immédiat puisque la suite des d(r i ) est une suite strictement décroissante dans N. Correction : on utilise les deux lemmes immédiats précédemment énoncés pour démontrer les égalités successives: pgcd(a, b) = pgcd(r 0, r 1 ) = pgcd(r 1 q 1 + r 2, r 1 ) = pgcd(r 2, r 1 ) = pgcd(r 1, r 2 ) =... = pgcd(r n, r n+1 ) = pgcd(r n, 0) = r n

UPMC - Licence Info - Crypto - 2015/16 59/182 Théorème de Bachet-Bézout L algorithme d Euclide fournit plus d informations que la seule valeur du pgcd Relation de Bézout Soit a et b deux éléments d un anneau euclidien A. Il existe deux éléments u et v tel que pgcd(a, b) = ua + vb. Les coefficients u et v sont appelés les coefficients de Bézout Le théorème de Bachet-Bézout a de nombreuses applications.

UPMC - Licence Info - Crypto - 2015/16 60/182 Théorème de Bachet-Bézout : démonstration On utilise le schéma de calcul d Euclide. En construisant des relations linéaires entre r i, a et b pour 2 i n Pour i = 2 nous avons r 2 = r 0 r 1 q 1 avec r 0 = a et r 1 = b et donc r 2 = a q 1 b On suppose que l on a les relations r i 1 = u i 1 a + v i 1 b et r i = u i a + v i b pour i 2. On a r i+1 = r i 1 q i r i = (u i 1 q i u i )a + (v i 1 q i v i )b On déduit le résultat par récurrence.

Algorithme d Euclide étendu UPMC - Licence Info - Crypto - 2015/16 61/182 La démonstration du théorème de Bachet-Bézout permet de déduire une formule de récurrence pour calculer les coefficients de Bézout de a et b et le pgcd(a, b). Cette formule se traduit sous la forme d un algorithme : Algorithme d Euclide étendu u 0 = 1, v 0 = 0, r 0 = a u 1 = 0, v 1 = 1, r 1 = b u i+1 = u i 1 q i u i, v i+1 = v i 1 q i v i, r i+1 = r i 1 q i r i i 1 Représentation matricielle pour i 1: ( ) ui+1 v i+1 r i+1 = u i v i r i ( ) ( ) ( ) qi 1 ui v i r i u1 v et 1 r 1 = 1 0 u i 1 v i 1 r i 1 u 0 v 0 r 0 ( 1 0 ) b 0 1 a Nous verrons plus tard dans le cours, le nombre de calculs nécessaires pour obtenir le pgcd et les coefficients de Bézout.

Plan UPMC - Licence Info - Crypto - 2015/16 62/182 1 Définitions 2 Cryptographie mono-alphabétique 3 Structures algébriques de base Groupes Anneaux 4 Relation d équivalence, théorème de Lagrange Généralités sur les relations d équivalence Théorème de Lagrange PGCD Calcul du PGCD: algorithme d Euclide 5 L anneau (Z/nZ, +, ) et l arithmétique modulaire 6 Conclusion

UPMC - Licence Info - Crypto - 2015/16 63/182 L anneau (Z/nZ, +, ) Soit n un entier positif. On considère la relation d équivalence ar n b a b nz. Les classes d équivalence peuvent être représentées par les r + nz = {r + nk : k Z} avec r {0,..., n 1}. Addition et Multiplication dans Z/nZ (r 1 + nz) + (r 2 + nz) = (r 1 + r 2 ) + nz = r 3 + nz avec r 3 le reste modulo n de r 1 + r 2 vu dans Z. (r 1 + nz) (r 2 + nz) = (r 1 r 2 ) + nz = r 3 + nz avec r 3 le reste modulo n de r 1 r 2 vu dans Z. Muni de ces deux opérations Z/nZ est un anneau (commutatif) (exercice : montrez-le).

UPMC - Licence Info - Crypto - 2015/16 64/182 L anneau (Z/nZ, +, ) Exemple Z/7Z L ensemble des classes de R 7 est représenté par les Nous avons 0 + 7Z, ; 1 + 7Z,..., 6 + 7Z 3 + 7Z = 4 + 7Z l élément 4 est de la même classe que 3. 3 + 7Z 1 + 7Z = 3 + 7Z + 6 + 7Z = 9 + 7Z = 2 + 7Z se note 3 1 = 3 + 6 = 9 = 2 mod 7

UPMC - Licence Info - Crypto - 2015/16 65/182 Lien entre PGCD et multiples Proposition Soient nz et mz deux ensembles de multiples dans Z. L ensemble nz + mz = {a 1 + a 2 : a 1 nz et a 2 mz} est aussi un ensemble de multiples d un élément. Plus exactement, on a nz + mz = pgcd(n, m)z. L ensemble des entiers qui sont des multiples de n ou de m sont les multiples de pgcd(m, n). Quel est l ensemble des entiers multiples de n et de m? (exercice).

UPMC - Licence Info - Crypto - 2015/16 66/182 Lien entre PGCD et éléments premiers entre eux Corollaire Bachet-Bézout Deux éléments a et b de Z sont premiers entre eux ssi il existe u et v tel que ua + vb = 1 En d autres termes, ssi l ensemble des entiers qui sont multiples de a ou de b forme l anneau Z tout entier az + bz = 1Z = Z

UPMC - Licence Info - Crypto - 2015/16 67/182 Z/nZ, intégrité et éléments inversibles Intégrité Z/nZ est intègre ssi n est premier. Éléments inversibles Un élément x Z/nZ est inversible ssi il existe y Z/nZ tq (x + nz) (y + nz) = 1 + nz. Ceci se traduit par xy = 1 mod n. Il existe donc u dans Z tel que xy + nu = 1, ceci revient au calcul d une relation de Bézout!

UPMC - Licence Info - Crypto - 2015/16 68/182 Z/nZ et la définition de corps Théorème Les éléments inversibles dans Z/nZ sont les classes ayant un représentant premier avec n. Corollaire Si n est irréductible ( premier) alors tous les éléments non nuls de Z/nZ sont inversibles. Définition Un anneau dont tous les éléments différents de l unité pour la première opération sont inversibles est un corps.

UPMC - Licence Info - Crypto - 2015/16 69/182 Z/nZ en tant que corps premier Éléments inversibles dans Z/nZ L ensemble (Z/nZ) des inversibles de Z/nZ est donné par les éléments a vérifiant pgcd(a, n) = 1 L inverse étant calculé par l algorithme d Euclide étendu Exemple : L élément 10 dans Z/21Z (représentant la classe 10 + 21Z) est inversible d inverse 2 = 19 mod 21. En effet nous avons la relation de Bézout : 10 ( 2) + 21 1 = 1 Corps premiers Les anneaux quotients Z/pZ avec p un entier premier sont des corps de cardinal p. On les note F p et on les appelle les corps premiers.

UPMC - Licence Info - Crypto - 2015/16 70/182 Calcul modulaire pratique Principe de base modulo n Ne jamais laisser grossir le représentant de la classe. On effectue donc des réductions modulo n à la suite des opérations. Comment calculer 15 362 mod 26?

UPMC - Licence Info - Crypto - 2015/16 70/182 Calcul modulaire pratique Principe de base modulo n Ne jamais laisser grossir le représentant de la classe. On effectue donc des réductions modulo n à la suite des opérations. Comment calculer 15 362 mod 26? Ne surtout PAS calculer la puissance! 555950055800404828716257724467752260158215698743020306033284422997242638 193590114682698510877751945791100011259442205311499677154994108188813652 986548714887879008460611471446667462293162482154326721629967903287837574 049862446605056531825294441531016708701108585851936237439229798864723350 920277085670064315176655628092922091669772429098440748034205948253206392 619016977781494151991518483379994819415514939464628696441650390625

UPMC - Licence Info - Crypto - 2015/16 70/182 Calcul modulaire pratique Principe de base modulo n Ne jamais laisser grossir le représentant de la classe. On effectue donc des réductions modulo n à la suite des opérations. Comment calculer 15 362 mod 26? 15 362 = 3 362 5 362 mod 26

UPMC - Licence Info - Crypto - 2015/16 70/182 Calcul modulaire pratique Principe de base modulo n Ne jamais laisser grossir le représentant de la classe. On effectue donc des réductions modulo n à la suite des opérations. Comment calculer 15 362 mod 26? 15 362 = 3 362 5 362 mod 26 De plus 362 = 12 30 + 2 avec 3 3 = 1 mod 26 et 5 4 = 1 mod 26

UPMC - Licence Info - Crypto - 2015/16 70/182 Calcul modulaire pratique Principe de base modulo n Ne jamais laisser grossir le représentant de la classe. On effectue donc des réductions modulo n à la suite des opérations. Comment calculer 15 362 mod 26? 15 362 = 3 362 5 362 = 3 2 5 2 = 9 mod 26 De plus 362 = 12 30 + 2 avec 3 3 = 1 mod 26 et 5 4 = 1 mod 26

Algorithme Euclide étendu : mise en pratique! UPMC - Licence Info - Crypto - 2015/16 71/182 Comment trouver l inverse de 2345 modulo 30003 s il existe?

Algorithme Euclide étendu : mise en pratique! UPMC - Licence Info - Crypto - 2015/16 71/182 Comment trouver l inverse de 2345 modulo 30003 s il existe? Calcul pratique du pgcd étendu (à la main): i r i 1 r i q i r i+1 u i+1 v i+1-1 1 0 0 0 1 1 30003 2345 12 1863 1-12 2 2345 1863???? 3??????.......

Algorithme Euclide étendu : mise en pratique! UPMC - Licence Info - Crypto - 2015/16 71/182 Comment trouver l inverse de 2345 modulo 30003 s il existe? Calcul pratique du pgcd étendu (à la main ou en machine): i r i 1 r i q i r i+1 u i+1 v i+1-1 1 0 0 0 1 1 30003 2345 12 1863 1-12 2 2345 1863 1 482-1 13 3 1863 482 3 417 4-51 4 482 417 1 65-5 64 5 417 65 6 27 34-435 6 65 27 2 11-73 934 7 27 11 2 5 180-2303 8 11 5 2 1-433 5540 9 5 1 5 0 2345-30003

Algorithme Euclide étendu : mise en pratique! UPMC - Licence Info - Crypto - 2015/16 71/182 Comment trouver l inverse de 2345 modulo 30003 s il existe? Calcul pratique du pgcd étendu (à la main): i r i 1 r i q i r i+1 u i+1 v i+1 1 30003 2345 12 1863 1-12....... 8 11 5 2 1-433 5540 9 5 1 5 0 2345-30003 On en déduit que 433 30003 + 5540 2345 = 1 et donc 5540 2345 = 1 mod 30003

Plan UPMC - Licence Info - Crypto - 2015/16 72/182 1 Définitions 2 Cryptographie mono-alphabétique 3 Structures algébriques de base Groupes Anneaux 4 Relation d équivalence, théorème de Lagrange Généralités sur les relations d équivalence Théorème de Lagrange PGCD Calcul du PGCD: algorithme d Euclide 5 L anneau (Z/nZ, +, ) et l arithmétique modulaire 6 Conclusion

UPMC - Licence Info - Crypto - 2015/16 73/182 Chiffrement affine : problème résolu Cryptosystème affine P, C sont tous les deux égaux à Z/26Z K est un sous ensemble de Z/26Z Z/26Z tel que Pour tout K = (a, b) K on a e K (x) = ax + b mod 26 et il existe une fonction d K : C P inverse de e K. Comment déterminer l ensemble K? Étude de Z/26Z. Attention c est un anneau non intègre! Étant donnés a, b, y il faut résoudre l équation y = ax + b mod 26 Ceci est possible que si a est inversible modulo 26. On obtient alors d K (y) = a 1 (y b).

Chiffrement affine : Table de multiplication mod 26 UPMC - Licence Info - Crypto - 2015/16 74/182 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 2 4 6 8 10 12 14 16 18 20 22 24 0 2 4 6 8 10 12 14 16 18 20 22 24 3 6 9 12 15 18 21 24 1 4 7 10 13 16 19 22 25 2 5 8 11 14 17 20 23 4 8 12 16 20 24 2 6 10 14 18 22 0 4 8 12 16 20 24 2 6 10 14 18 22 5 10 15 20 25 4 9 14 19 24 3 8 13 18 23 2 7 12 17 22 1 6 11 16 21 6 12 18 24 4 10 16 22 2 8 14 20 0 6 12 18 24 4 10 16 22 2 8 14 20 7 14 21 2 9 16 23 4 11 18 25 6 13 20 1 8 15 22 3 10 17 24 5 12 19 8 16 24 6 14 22 4 12 20 2 10 18 0 8 16 24 6 14 22 4 12 20 2 10 18 9 18 1 10 19 2 11 20 3 12 21 4 13 22 5 14 23 6 15 24 7 16 25 8 17 10 20 4 14 24 8 18 2 12 22 6 16 0 10 20 4 14 24 8 18 2 12 22 6 16 11 22 7 18 3 14 25 10 21 6 17 2 13 24 9 20 5 16 1 12 23 8 19 4 15 12 24 10 22 8 20 6 18 4 16 2 14 0 12 24 10 22 8 20 6 18 4 16 2 14 13 0 13 0 13 0 13 0 13 0 13 0 13 0 13 0 13 0 13 0 13 0 13 0 13 14 2 16 4 18 6 20 8 22 10 24 12 0 14 2 16 4 18 6 20 8 22 10 24 12 15 4 19 8 23 12 1 16 5 20 9 24 13 2 17 6 21 10 25 14 3 18 7 22 11 16 6 22 12 2 18 8 24 14 4 20 10 0 16 6 22 12 2 18 8 24 14 4 20 10 17 8 25 16 7 24 15 6 23 14 5 22 13 4 21 12 3 20 11 2 19 10 1 18 9 18 10 2 20 12 4 22 14 6 24 16 8 0 18 10 2 20 12 4 22 14 6 24 16 8 19 12 5 24 17 10 3 22 15 8 1 20 13 6 25 18 11 4 23 16 9 2 21 14 7 20 14 8 2 22 16 10 4 24 18 12 6 0 20 14 8 2 22 16 10 4 24 18 12 6 21 16 11 6 1 22 17 12 7 2 23 18 13 8 3 24 19 14 9 4 25 20 15 10 5 22 18 14 10 6 2 24 20 16 12 8 4 0 22 18 14 10 6 2 24 20 16 12 8 4 23 20 17 14 11 8 5 2 25 22 19 16 13 10 7 4 1 24 21 18 15 12 9 6 3 24 22 20 18 16 14 12 10 8 6 4 2 0 24 22 20 18 16 14 12 10 8 6 4 2 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1

UPMC - Licence Info - Crypto - 2015/16 75/182 Chiffrement affine : Indicatrice d Euler Cryptosystème affine P, C sont tous les deux égaux à Z/26Z K est le sous-ensemble des (a, b) Z/26Z Z/26Z tel que a est premier avec 26. Indicatrice d Euler Étant donné un entier n, le nombre d éléments strictement positifs, inférieurs et premiers avec n est noté ϕ(n). Ce nombre est appelé indicatrice d Euler de n et noté ϕ(a) = card{0 < n < a : pgcd(a, n) = 1} Le nombre de clés possibles est donc ϕ(26) 26. Comment calculer ϕ(26)? à suivre...

UPMC - Licence Info - Crypto - 2015/16 76/182 Conclusion César et chiffrement affine Nous avons vu l utilisation des structures mathématiques de base pour définir des cryptosystèmes. Arithmétique modulaire et groupes de permutations. Je vous conseille de réviser l algorithme d Euclide et son utilisation pour calculer les coefficients de Bézout!

Plan Cryptographie - Objets mathématiques de base 1 Définitions 2 Cryptographie mono-alphabétique 3 Structures algébriques de base Groupes Anneaux 4 Relation d équivalence, théorème de Lagrange Généralités sur les relations d équivalence Théorème de Lagrange PGCD Calcul du PGCD: algorithme d Euclide 5 L anneau (Z/nZ, +, ) et l arithmétique modulaire 6 Conclusion

UPMC - Licence Info - Crypto - 2015/16 78/182 Part II Cryptanalyse des chiffrements mono-alphabétique et Vigenère

Plan UPMC - Licence Info - Crypto - 2015/16 79/182 7 Généralités, rappels de probabilités 8 Cryptanalyse du chiffrement mono-alphabétique 9 Chiffrement de Vigenère et sa cryptanalyse Définition du chiffrement de Vigenère Cryptanalyse du Chiffrement de Vigenère avec les indices de coïncidence Utilisation de la corrélation de Pearson pour la cryptanalyse de Vigenère 10 Substitution polygrammique et combinaison substitution+transposition 11 Chiffrement Parfait

UPMC - Licence Info - Crypto - 2015/16 80/182 Cryptanalyse Analyse de la sécurité d un cryptosystème (théorique, complexité) Attaquer une instance particulière d un cryptosystème (retrouver la clé, un message clair) Plusieurs niveaux d analyse Clair/Chiffré inconnu Couple Clair/Chiffré connu Chiffré choisi (on a accès à un appareil de déchiffrement, boîte noire) Clair choisi (on a accès à un appareil de chiffrement, boîte noire)

Cryptanalyse : distingueur Messages possibles (aléatoires) Messages chiffrés Comment distinguer les messages chiffrés des messages aléatoires? Utiliser ce distingueur pour attaquer le cryptosystème. UPMC - Licence Info - Crypto - 2015/16 81/182

Distingueur : rappel de probabilités UPMC - Licence Info - Crypto - 2015/16 82/182 Définitions Étant donné un ensemble fini Ω d évènements atomiques. Une fonction P définie pour tout ω Ω et à image dans R est appelée probabiblité dès que 0 P(ω) 1, ω Ω et ω Ω P(ω) = 1. Un évènement E est un sous-ensemble de Ω et sa probabilité d apparition sera donné par P(E) = P(ω) ω E en particulier P( ) = 0 et P(Ω) = 1 Exemples Pile ou face : Ω = {P, F}, P(F) = 1 2, P(P) = 1 2 Deux dés à 6 faces : Ω = {(1, 1), (1, 2),..., (6, 5), (6, 6)}, P((m, n)) = 1 6 36, P((1, )) = 36

Plan UPMC - Licence Info - Crypto - 2015/16 83/182 7 Généralités, rappels de probabilités 8 Cryptanalyse du chiffrement mono-alphabétique 9 Chiffrement de Vigenère et sa cryptanalyse Définition du chiffrement de Vigenère Cryptanalyse du Chiffrement de Vigenère avec les indices de coïncidence Utilisation de la corrélation de Pearson pour la cryptanalyse de Vigenère 10 Substitution polygrammique et combinaison substitution+transposition 11 Chiffrement Parfait

UPMC - Licence Info - Crypto - 2015/16 84/182 Distingueur : étude statistique des caractères Soit c un caractère tiré aléatoirement. On cherche à analyser des évènements du genre {Le caractère c provient d un texte français et est un A} On ne peut pas faire une analyse sur tous les textes français possibles. Principe de la statistique, on effectue un sondage sur un ensemble fini et on extrapole les résultats. Distingueur Dans un texte correspondant à un flux aléatoire de caractères on a P(A) = 1/26 Dans un texte correspondant à un flux français de caractères on a P(A) 9.2%

Distingueur : étude statistique des caractères UPMC - Licence Info - Crypto - 2015/16 85/182 La probabilité d apparition des caractères est un distingueur entre les différentes langues et l aléa. Francais

Distingueur : étude statistique des caractères UPMC - Licence Info - Crypto - 2015/16 86/182 La probabilité d apparition des caractères est un distingueur entre les différentes langues et l aléa. Francais Allemand Anglais Finnois Breton Suedois

Cryptanalyse du chiffrement mono-alphabétique UPMC - Licence Info - Crypto - 2015/16 87/182 Al Kindi ( 800) explique dans son ouvrage de cryptanalyse la méthode de l étude des fréquences. Il explique exactement ce que nous venons de voir : la distribution des caractères dans un texte permet de le caractériser.

Exemple : Cryptanalyse du décalage UPMC - Licence Info - Crypto - 2015/16 88/182 Soit à retrouver le texte clair francais correspondant au chiffré suivant PITVIWMHIRXIWXQEMRXIRERXIRZEGERGIWEY QEVSGMPIWXEGGSQTSKRIHIWEJIQQIIXHIWIW XVSMWIRJERXWXSYXIWPIWGSQQYRMGEXMSRWH IZVSRXIXVIGLMJJVIIWTEVPIGSHIBXVYREKI RXPIWYMZVEXSYXEYPSRKHYWINSYVIXWIVEIU RXIMPSGGYTIVEPITEPEGIJPSXXERXJEGIEPE ZIRYIHIWXVSMWTEPQMIVW

Exemple : Cryptanalyse du décalage UPMC - Licence Info - Crypto - 2015/16 89/182 Francais Chiffré On lit le décalage 4

Exemple : Cryptanalyse du mono-alphabétique UPMC - Licence Info - Crypto - 2015/16 90/182 Soit à retrouver le texte clair francais correspondant au chiffré suivant RDMJDQXIDBVDQVHUXBVDBUBVDBNUOUBODQUW HUJPOXRDQVUOOPHMPGBDIDQUTDHHDDVIDQDQ VJPXQDBTUBVQVPWVDQRDQOPHHWBXOUVXPBQI DNJPBVDVJDOKXTTJDDQMUJRDOPIDSVJWBUGD BVRDQWXNJUVPWVUWRPBGIWQDYPWJDVQDJUDZ WXMDIWBDNURXQDIDOPHHWBXOUVXPBOKXTTJU BVDXRPOOWMDJURDMURUODTRPVVUBVTUODURU NDBWDIDQVJPXQMURHXDJQ

Exemple : Cryptanalyse du chiffrement mono-alphabétique UPMC - Licence Info - Crypto - 2015/16 91/182 Francais Chiffré La clé est la permutation : [ULOIDTGKXYCRHBPMZJQVWNFSAE]

UPMC - Licence Info - Crypto - 2015/16 92/182 Exemple : Cryptanalyse du mono-alphabétique La cryptanalyse du chiffrement mono-alphabétique peut être vue comme une méthode force-brute-assistée où l on va faire des hypothèses tout au long de l attaque. Dans le cas général, il nous faut plus que la fréquence des lettres pour y arriver efficacement. Bigrammes Pourcentages Bigrammes Pourcentages ES 3,15 LE 2,46 EN 2,42 DE 2,15 RE 2,09 NT 1,97 ON 1,64 TE 1,63 ER 1,63 SE 1,55

Steno (Venise) 1411 UPMC - Licence Info - Crypto - 2015/16 93/182 Conclusion 1 Le chiffrement mono-alphabétique est très facile à attaquer! Comment le sécuriser? Substitution homophonique (15ème siècle)

UPMC - Licence Info - Crypto - 2015/16 93/182 Conclusion 1 Le chiffrement mono-alphabétique est très facile à attaquer! Comment le sécuriser? Substitution homophonique Passer au poly-alphabétique (Alberti, Vigenère)

Plan UPMC - Licence Info - Crypto - 2015/16 94/182 7 Généralités, rappels de probabilités 8 Cryptanalyse du chiffrement mono-alphabétique 9 Chiffrement de Vigenère et sa cryptanalyse Définition du chiffrement de Vigenère Cryptanalyse du Chiffrement de Vigenère avec les indices de coïncidence Utilisation de la corrélation de Pearson pour la cryptanalyse de Vigenère 10 Substitution polygrammique et combinaison substitution+transposition 11 Chiffrement Parfait

Plan UPMC - Licence Info - Crypto - 2015/16 95/182 7 Généralités, rappels de probabilités 8 Cryptanalyse du chiffrement mono-alphabétique 9 Chiffrement de Vigenère et sa cryptanalyse Définition du chiffrement de Vigenère Cryptanalyse du Chiffrement de Vigenère avec les indices de coïncidence Utilisation de la corrélation de Pearson pour la cryptanalyse de Vigenère 10 Substitution polygrammique et combinaison substitution+transposition 11 Chiffrement Parfait

UPMC - Licence Info - Crypto - 2015/16 96/182 Le poly-alphabétique par Alberti (15ème siècle) Chiffrement multi-mono-alphabétique Leon Battista Alberti (1404-1472) On chiffre des blocs de texte de longueur l Pour la lettre d indice i d un bloc on applique un chiffrement mono-alphabétique e Ki. La clé secrète correspond à l clés secrètes de chiffrements mono-alphabétiques (permutation d un alphabet). Trop difficile à utiliser, nécessité de le simplifier.

UPMC - Licence Info - Crypto - 2015/16 97/182 Chiffrement de Vigenère (1523-1596) Idée : reprendre le chiffrement de Alberti en se restreignant aux chiffrements par décalage (Trithème) Chiffrement vu sur l alphabet : A T T A Q U E N N E M I D E M A I N + C R Y P T O C R Y P T O C R Y P T O = C K R P J I G E L T F W F V K P B B Chiffrement vue sur les entiers modulo 26 : 0 19 19 0 16 20 4 13 13 4 12 8 3 4 12 0 8 13 + 2 17 24 15 19 14 2 17 24 15 19 14 2 17 24 15 19 14 = 2 10 17 15 9 8 6 4 11 19 5 22 5 21 10 15 1 1 On note c i le i-ème caractère dans l alphabet avec i {0,..., 25}.

Chiffrement de Vigenère (1523-1596) UPMC - Licence Info - Crypto - 2015/16 97/182 Idée : reprendre le chiffrement de Alberti en se restreignant aux chiffrements par décalage (Trithème) La clé secrète correspond à un mot de l caractères. Ne conserve pas les proprétés statistiques du chiffrement mono-alphabétique.

Plan UPMC - Licence Info - Crypto - 2015/16 98/182 7 Généralités, rappels de probabilités 8 Cryptanalyse du chiffrement mono-alphabétique 9 Chiffrement de Vigenère et sa cryptanalyse Définition du chiffrement de Vigenère Cryptanalyse du Chiffrement de Vigenère avec les indices de coïncidence Utilisation de la corrélation de Pearson pour la cryptanalyse de Vigenère 10 Substitution polygrammique et combinaison substitution+transposition 11 Chiffrement Parfait

Longueurs de clef possibles (diviseurs de UPMC - Licence Info - Crypto - 2015/16 99/182 Cryptanalyse Etape 1 : longueur de la clé KQOWEFVJPUJUUNUKGLMEKJINMWUXFQMKJBGWRLFNFGHUDWUUMBSVLPS NCMUEKQCTESWREEKOYSSIWCTUAXYOTAPXPLWPNTCGOJBGFQHTDWXIZA YGFFNSXCSEYNCTSSPNTUJNYTGGWZGRWUUNEJUUQEAPYMEKQHUIDUXFP GUYTSMTFFSHNUOCZGMRUWEYTRGKMEEDCTVRECFBDJQCUSWVBPNLGOYL SKMTEFVJJTWWMFMWPNMEMTMHRSPXFSSKFFSTNUOCZGMDOEOYEEKCPJR Charles Babbage (1792-1871) Friedrich Wilhelm Kasiski (1805-1881) GPMURSKHFRSEIUEVGOYCWXIZAYGOSAANYDOEOYJLWUNHAMEBFELXYVL WNOJNSIOFRWUCCESWKVIDGMUCGOCRUWGNMAAFFVNSIUDEKQHCEUCPFC MPVSUDGAVEMNYMAMVLFMAOYFNTQCUAFVFJNXKLNEIWCWODCCULWRIFT Une des techniques WGMUSWOVMATNYBUHTCOCWFYTNMGYTQMKBBNLGFBTWOJFTWGNTEJKNEE pour calculer la longueur de la clé est le test de DCLDHWTVBUVGFBIJG Kasiski: il s agit de repérer les motifs qui se répètent KQOWEFVJPUJUUNUKGLMEKJINMWUXFQMKJBGWRLFNFGHUDWUUMBSVLPS NCMUEKQCTESWREEKOYSSIWCTUAXYOTAPXPLWPNTCGOJBGFQHTDWXIZA YGFFNSXCSEYNCTSSPNTUJNYTGGWZGRWUUNEJUUQEAPYMEKQHUIDUXFP GUYTSMTFFSHNUOCZGMRUWEYTRGKMEEDCTVRECFBDJQCUSWVBPNLGOYL SKMTEFVJJTWWMFMWPNMEMTMHRSPXFSSKFFSTNUOCZGMDOEOYEEKCPJR GPMURSKHFRSEIUEVGOYCWXIZAYGOSAANYDOEOYJLWUNHAMEBFELXYVL WNOJNSIOFRWUCCESWKVIDGMUCGOCRUWGNMAAFFVNSIUDEKQHCEUCPFC MPVSUDGAVEMNYMAMVLFMAOYFNTQCUAFVFJNXKLNEIWCWODCCULWRIFT WGMUSWOVMATNYBUHTCOCWFYTNMGYTQMKBBNLGFBTWOJFTWGNTEJKNEE DCLDHWTVBUVGFBIJG On regarde ensuite la distance entre les répétitions. On cherche les facteurs pour chaque pa

UPMC - Licence Info - Crypto - 2015/16 100/182 Cryptanalyse Etape 1 : longueur de la clé Principe du test de Kasiski Une répétition dans le message clair si elle se produit à la même position dans la clef produit une répétition dans le message chiffré, on repère les répétitions dans le chiffré en espérant qu elles correspondent à une répétition dans le clair et donc la distance entre elles fournit un multiple de la longueur de la clef. Le pgcd (probable) des distances entre les répétitions du motif Nous verrons par la suite une méthode plus fiable et plus facile à automatiser pour calculer la longueur de la clef

UPMC - Licence Info - Crypto - 2015/16 101/182 Cryptanalyse étape 2 : finalisation de l attaque Principe Soit C un texte dans un langage usuel représenté sous la forme d une suite finie C = (k i ) 0 i n 1 de n caractères. Pour tout 0 d < l, si la d-ième colonne du texte C, définie par C d = (k 0 i n 1,i=d mod l ), est suffisamment longue la probabilité d apparition p i du caractère c i dans C d est la même que dans C. On découpe le texte chiffré en bloc de l caractères et on applique une cryptanalyse par décalage sur les colonnes!

Cryptanalyse étape 2 : finalisation de l attaque Attaque du chiffrement par décalage : Basée sur les fréquences A T T A Q U C R Y P T O C K R P J I E N N E M I C R Y P T O G E L T F W D E M A I N C R Y P T O F V K P B B Sous-textes plus courts l analyse des fréquences fournit moins d informations Plus difficile de deviner la clé, 26 l tests où l est la longueur de la clé UPMC - Licence Info - Crypto - 2015/16 102/182

Cryptanalyse automatique : indice de coïncidence UPMC - Licence Info - Crypto - 2015/16 103/182 Définition L indice de coïncidence d un texte est la probabilité de tirer un couple de lettres identiques au hasard. William F. Friedman (1891-1969) IC = 25 Cn 2 i C 2 i=0 n = 25 i=0 n i (n i 1) n(n 1) où n i est le nombre de caractère c i dans le texte et n est la longueur totale de ce dernier.

UPMC - Licence Info - Crypto - 2015/16 103/182 Cryptanalyse automatique : indice de coïncidence IC = 25 i=0 n i (n i 1) n(n 1) distingue l aléatoire attaque longueur de la clé Lorsque le texte est suffisamment long (n ) l indice IC est donné par 25 IC p 2 i = 0.074 pour l alphabet français i=0 où p i est la probabilité d apparition de la lettre numérotée i dans un texte en français. Lorsque les lettres sont distribuées aléatoirement, l indice de coïncidence est faible IC 25 i=0 ( ) 1 2 = 1 26 26 0.038

Cryptanalyse automatique : indice de coïncidence UPMC - Licence Info - Crypto - 2015/16 103/182 IC = 25 i=0 n i (n i 1) n(n 1) distingue l aléatoire attaque longueur de la clé

UPMC - Licence Info - Crypto - 2015/16 104/182 Cryptanalyse automatique : IC Mutuelle IC mutuelle distingue l aléatoire sur deux textes attaque sur la clé. Définition L indice de coïncidence mutuelle (ICM) entre deux textes t 1 et t 2 est la probabilité de tirer au hasard la même lettre dans t 1 et t 2. ICM = 25 i=0 m i n i mn où m i (resp. n i ) est le nombre de caractères c i dans le texte t 1 (resp. t 2 ) et m (resp. n) la taille de ce dernier.

UPMC - Licence Info - Crypto - 2015/16 104/182 Cryptanalyse automatique : IC Mutuelle ICM = 25 i=0 m i n i mn pour distinguer l aléatoire, attaque du décalage Propriété identique à l indice de coïncidence Attaque des chiffrements par décalage par analyse successive de décalés

Cryptanalyse automatique : IC Mutuelle UPMC - Licence Info - Crypto - 2015/16 104/182

Cryptanalyse automatique : IC Mutuelle UPMC - Licence Info - Crypto - 2015/16 104/182

UPMC - Licence Info - Crypto - 2015/16 104/182 Cryptanalyse automatique : IC Mutuelle On termine en résolvant un système linéaire. δ 3 = δ 4 + 18 δ 3 = δ 6 + 15 δ 4 = δ 7 + 18.

UPMC - Licence Info - Crypto - 2015/16 105/182 La cryptanalyse de Vigenère (avec les IC): trouver la longueur de clef Essayer des longueurs l = 4..20 et pour chaque longueur l possible: Découper le texte en colonnes C 0 i<l, Calculer m = moyenne(ic(c i )) 0 i<l Si m > 0.06 alors l est la longueur de la clef, sinon on passe à la valeur de l suivante

UPMC - Licence Info - Crypto - 2015/16 106/182 La cryptanalyse de Vigenère (avec les IC): décalage de chaque colonne I Première solution: Analyse de fréquences directe Par analyse de fréquences, trouver la position f (C i ) de la lettre la plus fréquente de la colonne, compte tenu de la position f (langue) de la lettre la plus fréquente de la langue du message, déduire le décalage d i = f (C i ) f (langue) de la colonne C i.

UPMC - Licence Info - Crypto - 2015/16 107/182 La cryptanalyse de Vigenère (avec les IC): décalage de chaque colonne II Seconde solution: Utilisation des ICM puis analyse de fréquences Calculer les ICM des C i et les stocker dans un tableau de différences de décalage d j d i entre les colonnes i et j Résoudre le système linéaire correspondant pour exprimer le décalage d j i de toutes les colonnes sauf la colonne i en fonction de d i Procéder par analyse de fréquences soit sur la colonne i et de d i déduire les d j i, soit sur tout le texte après avoir aligné les colonnes j i sur le décalage d i Puis déduire la clef et le déchiffré du texte.

Plan UPMC - Licence Info - Crypto - 2015/16 108/182 7 Généralités, rappels de probabilités 8 Cryptanalyse du chiffrement mono-alphabétique 9 Chiffrement de Vigenère et sa cryptanalyse Définition du chiffrement de Vigenère Cryptanalyse du Chiffrement de Vigenère avec les indices de coïncidence Utilisation de la corrélation de Pearson pour la cryptanalyse de Vigenère 10 Substitution polygrammique et combinaison substitution+transposition 11 Chiffrement Parfait

UPMC - Licence Info - Crypto - 2015/16 109/182 Corrélation de Pearson: pourquoi s y intéresse-t-on? Lorsqu on pense avoir trouvé une substitution s entre deux alphabets A et B pour déchiffrer un chiffré C La distribution des fréquences des caractères de A dans un texte de référence de la langue de s(a) dans le chiffré C doivent être à peu près les mêmes Les points du nuage de points freq(s(c), C) en fonction de freq(c, langue) pour c A, doivent être à peu près alignés. Le coefficient de corrélation de Pearson mesure la qualité de cet alignement et peut donc servir de révélateur pour déterminer si la substitution s effectuée sur le chiffré C est la bonne.

Coefficient de corrélation de Pearson UPMC - Licence Info - Crypto - 2015/16 110/182 (X i X)(Y i Ȳ) ρ X,Y = (X i X) 2 i i avec X la moyenne de la variable aléatoire X. i (Y i Ȳ) 2 Une corrélation parfaite produit ρ X,Y = 1. Plus ρ X,Y est proche de 1 et plus on peut considérer que la fréquence des caractères s(c) dans le chiffré C et celle de c dans la langue sont corrélées.

UPMC - Licence Info - Crypto - 2015/16 111/182 Cryptanalyse de Vigenère (corrélation de Pearson) Essayer des longueurs l = 4..20 et pour chaque longueur l possible: Découper le texte en colonnes C 0 i<l, Pour chaque colonne C k, calculer la corrélation maximale m k entre les fréquences de référence de la langue et C k décalé de i pour i = 0.. A 1, cette corrélation maximale est atteinte pour un décalage d k On calcule m = moyenne(m k ), k Si m > 0.6, alors l est la longueur de la clef, (d o,..., d l 1 ) est la clef et on déduit le message clair. On obtient de très bons résultats très rapidement et pour des textes bien plus courts que pour la cryptanalyse par IC.

UPMC - Licence Info - Crypto - 2015/16 112/182 Conclusion 2 Le chiffrement mono-alphabétique est très facile à attaquer! Le chiffrement de Vigenère ne semble pas beaucoup plus sûr! Comment le sécuriser? Substitution homophonique (1500-1750) Substitution poly-alphabétique (Vigenère) Substitution polygrammique (Playfair) et combinaisons substitution+transposition (ADFGVX)

Plan UPMC - Licence Info - Crypto - 2015/16 113/182 7 Généralités, rappels de probabilités 8 Cryptanalyse du chiffrement mono-alphabétique 9 Chiffrement de Vigenère et sa cryptanalyse Définition du chiffrement de Vigenère Cryptanalyse du Chiffrement de Vigenère avec les indices de coïncidence Utilisation de la corrélation de Pearson pour la cryptanalyse de Vigenère 10 Substitution polygrammique et combinaison substitution+transposition 11 Chiffrement Parfait

UPMC - Licence Info - Crypto - 2015/16 114/182 Substitution polygrammique Polygrammique: chiffrer non plus des caractères individuels mais des blocs de caractères (des polygrammes). Ce qu on gagne On travaille sur un alphabet à 26 2 caractères donc le nombre de substitutions possibles augmente énormément (26! 4.10 26 26 2! 2.10 1621 ) L analyse de fréquences sur les caractères individuels ne sert à rien et l analyse sur les polygrammes est très ardue.

Un exemple de substitution polygrammique: Playfair UPMC - Licence Info - Crypto - 2015/16 115/182 H O W T K Y U D X V N B F L C E S I R A G Z Q P M Wheatstone (1802-1875) Inventé par Wheatstone en 1854 et popularisé par Lord Playfair, utilisé pendant la Première Guerre Mondiale par les anglais et la Seconde Guerre Mondiale par les australiens, bien que ce chiffrement ait été analysé en 1914 par Mauborgne. La clef secrète se présente sous la forme d un carré 5x5 qui contient toutes les lettres de l alphabet, en en confondant 2, telles que I et J ou V et W.

Principe du chiffrement de Playfair UPMC - Licence Info - Crypto - 2015/16 116/182 On analyse le texte par groupe de 2 caractères et on applique selon ces caractères l une des 3 règles suivantes: m 1 c 1 m 1 c 1 m 1 c 1 m 2 c 2 m 2 c 2 c 2 m 2 Règle ligne wrap si nécessaire Règle colonne wrap si nécessaire Règle rectangle S il ne reste qu un seul caractère à chiffrer ou si les deux caractères sont identiques: on ajoute une lettre neutre telle que X après le premier caractère et on applique à nouveau les règles à partir du premier caractère.

Exemple de chiffrement de Playfair UPMC - Licence Info - Crypto - 2015/16 117/182 H O W T K Y U D X V N B F L C E S I R A G Z Q P M ATTAQUE PARIS DEMAIN AVEC PETIT TRAIN BLEU AT TA QU EP AR IS DE MA IN AV EC PE TI TT RA IN BL EU AT TA QU EP AR IS DE MA IN AV EC PE TI TXTR AI NB LE UX RK KR ZD RG EA RI YI KM EF MC AN GR WR XL XP ER BF NR DV RKKRZ DRGEA RIYIK MEFMC ANGRW RXLXP ERBFN RDV On verra en TD un autre chiffrement polygrammique: le chiffrement de Hill.

Principe du chiffrement par transposition Principe Le texte est organisé selon une disposition géométrique et relu selon une autre après une éventuelle transformation. Transposition des colonnes On écrit le texte en lignes de l caractères, ce qui constitue l colonnes, puis on relit colonne par colonne en suivant l ordre fixé par une permutation. Clef La permutation est fournie par un mot: par exemple avec le mot MESSAGE, qui a 7 lettres, on écrit le texte sur 7 colonnes puis on relit les colonnes dans l ordre d apparition des lettres du mot dans l alphabet: MESSAGE 5267143 UPMC - Licence Info - Crypto - 2015/16 118/182

Exemple de chiffrement par transposition Par exemple avec la clef MESSAGE sur la phrase: Au lieu de se diriger vers les bâtiments il se risqua enfin à gravir le terri sur lequel brûlaient les trois feux de houille. MESSAGE AEEGMSS AULIEUD ESEDIRI GERVERS LESBATI MENTSIL SERISQU AENFINA GRAVIRL ETERRIS URLEQUE LBRULAI ENTLEST ROISFEU XDEHOUI LLEXXXX et on relit colonne par colonne EUDUALI ISIREED EESRGRV AEITLSB SELIMNT SEUQSRI IEANANF IRLRGAV RTSIEER QREUULE LBIALRU ENTSETL FOUERIS ODIUXEH XLXXLEX On complète la dernière ligne avec des X par exemple EIEASSIIRQLEFOXUSEEEEERTRBNODLDISILUALSEITUIXURRTIQN RIUASEUXAEGLMSAGEULERXLLERSNRNAELRTIEEIDVBTIFVREULSHX UPMC - Licence Info - Crypto - 2015/16 119/182

ADFGVX UPMC - Licence Info - Crypto - 2015/16 120/182 Le chiffrement ADFGVX combine une substitution mono-alphabétique (avec le carré de Polybe comme alphabet d arrivée) avec une transposition de colonnes. Inventé par Nebel (mars 1918)... et cryptanalysé par Painvin (juin 1918). Voir TD

UPMC - Licence Info - Crypto - 2015/16 121/182 Cryptanalyse du chiffrement polygrammique et du chiffrement par transposition Méthodes de cryptanalyse Utilisation des statistiques d apparition des bigrammes, trigrammes, etc. (attaque manuelle plus compliquée que pour le chiffrement poly-alphabétique) Utilisation de caractérisations propres au cryptosystème (par exemple pour Playfair : RE GH alors ER HG) Cryptosystème plus long à casser mais on y arrive, surtout si on a un couple clair-chiffré (Painvin) Idée reprise pour Enigma en mélangeant plus radicalement Attaque mécanisée de Turing

UPMC - Licence Info - Crypto - 2015/16 122/182 Résistance d un chiffrement Cryptosystème réputé cryptanalysé mais toujours utilisé?! Playfair, double Playfair, ou double translation, bien que cryptanalysés pendant la première guerre mondiale, ont été utilisés pendant la seconde guerre mondiale pour des communications importantes mais non-critiques sur les champs de bataille. Principe On peut utiliser un cryptosystème pour chiffrer une information tant que le temps pour effectuer la cryptanalyse du système dépasse la durée de la pertinence de l information. Évidemment on ne sait pas quand la cryptanalyse devient assez rapide pour fournir le clair avant la péremption de l information! D où la question: Existe-t-il un chiffrement inattaquable? Est-ce une panacée?

Plan UPMC - Licence Info - Crypto - 2015/16 123/182 7 Généralités, rappels de probabilités 8 Cryptanalyse du chiffrement mono-alphabétique 9 Chiffrement de Vigenère et sa cryptanalyse Définition du chiffrement de Vigenère Cryptanalyse du Chiffrement de Vigenère avec les indices de coïncidence Utilisation de la corrélation de Pearson pour la cryptanalyse de Vigenère 10 Substitution polygrammique et combinaison substitution+transposition 11 Chiffrement Parfait

UPMC - Licence Info - Crypto - 2015/16 124/182 Shannon Claude Shannon (1916-2001) a publié deux articles de recherche en 1948 et 1949 donnant les fondations de la théorie de l information et, plus généralement, de la cryptologie moderne. Il donne les première preuve de sécurité d un cryptosystème en se basant sur des principes de probabilité et de statistique. Définitions importantes Théorie de l information Entropie d un langage Chiffrement parfait

UPMC - Licence Info - Crypto - 2015/16 125/182 Chiffrement parfait Intuition Un cryptosystème sera dit un chiffrement parfait lorsque la donnée d un message chiffré ne révèle aucune fuite d information sur la clé ou le message clair correspondant et aucune information non plus sur les textes chiffrés futurs. Caractérisation Supposons qu un cryptosystème vérifie #K = #P = #C alors il sera un chiffrement parfait ssi on a Toutes les clés sont utilisées avec la même probabilité Pour tout couple (m, c) P C il existe une unique clé k telle que e k (m) = c.

Exemple : Vernam s One Time Pad UPMC - Licence Info - Crypto - 2015/16 126/182 Gilbert Vernam proposa le One Time Pad en 1917. Principe: un Vigenère avec une clef aléatoire aussi longue que le message à chiffrer, utilisée une seule fois. En pratique on utilise un outil extrêmement simple et rapide, le XOR! Les messages clairs et chiffrés ainsi que les clefs seront des suites de bits de même longueur (ce qu on peut voir comme du Vigenère bit à bit). C[i] = M[i] K[i] et M[i] = C[i] K[i]

UPMC - Licence Info - Crypto - 2015/16 127/182 Exemple : Vernam s One Time Pad C est le seul cryptosystème à chiffrement parfait! Très peu pratique! Utilisé dans la cryptographie Top Secrète (téléphone rouge, valise diplomatique, militaire (Atomique)). Le principe est utilisé pour faire des chiffrements symétriques dépendant de générateur aléatoire.

UPMC - Licence Info - Crypto - 2015/16 127/182 Exemple : Vernam s One Time Pad La clé doit être aussi longue que le message Elle doit être aléatoire Elle doit être utilisée une unique fois Projet VENONA des USA pour écouter les discussions Russes utilisant un Two-Time Pad faiblesse!

UPMC - Licence Info - Crypto - 2015/16 128/182 La panacée? Évidemment non si ça ne s est pas imposé en 1 siècle! Impraticable Usage unique d une clef: casse-tête de la transmission sécurisée de la nouvelle clef à chaque transmission de message Usage unique d une clef: il faut être sûr même après des années de ne pas réutiliser une clef Difficile de produire des clefs vraiment aléatoires

Conclusion finale! UPMC - Licence Info - Crypto - 2015/16 129/182 Chiffrement parfait existe mais impraticable Partir de ce principe pour définir des Block Ciphers standardisés Idée clé : randomiser la clé de chiffrement suivant des tours (complexifier la tâche des attaquants) Voir la suite en crypto/sécu en M1