Introduction a` la Cryptologie ´ Cryptographie - Objets Mathematiques de Base ´ el ¨ Renault Guena POLSYS LIP6/UPMC/INRIA 22 janvier 2014 Part I ´ Definitions UPMC - Licence Info - Crypto - 2012/13 2/71 La cryptologie ´ Definitions La cryptologie est la science du secret. Elle se divise en deux disciplines : ´ La cryptographie qui est l’etude des algorithmes permettant de ´ ´ proteger (cacher) de l’information. Ces algorithmes sont appeles ` cryptosystemes ; ´ ´ la cryptanalyse qui est l’etude du niveau de securit e´ des ` cryptosystemes fournis par les cryptographes. ` partie du cours Premiere ´ ` On s’interesse au probleme de confidentialite´ (chiffrer des nessages) ˆ ´ La cle´ est la meme pour chiffrer et dechiffrer UPMC - Licence Info - Crypto - 2012/13 3/71 Terminologie et principe de base de la cryptologie Terminologie Chiffrer : l’action de rendre un message clair M (plaintext) en un ´ illisible. message C appele´ cryptogramme ou message chiffre, ´ Dechiffrer : Action inverse du chiffrement. ` Cryptosysteme : L’algorithme (ou le dispositif physique) permettant de ´ chiffrer des donnees. ´ ` Attaquer, Casser : Mettre a` mal la securit e´ d’un cryptosysteme ´ retrouver la cle). ´ (retrouver M a` partir de C sans connaˆıtre la cle, Principe de Kerckhoffs (Journal des sciences militaires, 1883) ´ ` La securit e´ d’un cryptosysteme ne doit reposer que sur le secret de la clef. En particulier un attaquant est suppose´ connaˆıtre le ` ` cryptosysteme (Les cryptosystemes militaires, vus comme des dispositifs physiques, peuvent tomber aux mains de l’ennemi). ´ ` ´ par la cryptanalyse. +La securit e´ d’un cryptosysteme est attestee UPMC - Licence Info - Crypto - 2012/13 4/71 ´ ´ Cryptographie symetrique : Modelisation ´ Definition ` ´ ´ si pour chiffrer et Un cryptosysteme est dit symetrique (ou a` cle´ privee) ´ ˆ ` est utilisee. ´ dechiffrer, la meme cle´ secrete ` Cryptosysteme ´ P et C les alphabets pour ecrire les messages clairs et les ´ respectivement. messages chiffres ´ possibles. K l’ensemble des cles ´ Pour tout K ∈ K on peut definir deux applications eK : P → C et dK : C → P telles que dK (eK (x)) = x pour tout x ∈ P. ˆ ´ de symboles uniques ou de +les alphabets peuvent etre composes ` blocs de symboles. Pour commencer on s’en tiendra aux caracteres de l’alphabet usuel. UPMC - Licence Info - Crypto - 2012/13 5/71 ´ La cryptographie symetrique en pratique ` ´ ˆ ´ Cryptosysteme symetrique (la meme cle´ K pour de/chiffrer) ´ P et C les alphabets clairs et chiffres. ´ possibles. K l’ensemble des cles K ∈ K : eK : P → C et dK : C → P avec ∀x ∈ P dK (eK (x)) = x. ´ ` Les applications eK et dK necessitent la connaissance complete ˆ ´ de K pour etre definies. En pratique : chiffrer avec la cle´ K ` Pour chiffrer un texte P clair on procede comme suit 1 ´ ´ ements ´ On decoupe P en blocs correspondant aux el de P 2 On applique eK sur chacun des blocs de P 3 ´ On obtient ainsi C un message correspondant a` P et ecrit a` l’aide de C. UPMC - Licence Info - Crypto - 2012/13 6/71 ´ La cryptographie symetrique en pratique ` ´ ˆ ´ Cryptosysteme symetrique (la meme cle´ K pour de/chiffrer) ´ P et C les alphabets clairs et chiffres. ´ possibles. K l’ensemble des cles K ∈ K : eK : P → C et dK : C → P avec ∀x ∈ P dK (eK (x)) = x. ´ ` Les applications eK et dK necessitent la connaissance complete ˆ ´ de K pour etre definies. ´ En pratique : dechiffrer avec la cle´ K ´ ` Pour dechiffrer le texte C on procede comme suit 1 ´ ´ ements ´ On decoupe C en blocs correspondant aux el de C 2 3 On applique dK sur chacun des blocs de C On obtient ainsi P le clair de a` C. UPMC - Licence Info - Crypto - 2012/13 6/71 Chiffrement de messages en pratique ´ +Decoupage par blocs de P Texte clair en blocks P eK P eK C C Texte chiffré en blocks UPMC - Licence Info - Crypto - 2012/13 P eK C P ... C ... eK 7/71 Part II ´ Cryptographie Mono-alphabetique UPMC - Licence Info - Crypto - 2012/13 8/71 ´ Chiffrement par Substitution ou Mono-alphabetique ´ Definition ´ ement ´ ´ ement ´ A` chaque el de P correspond un unique el de C. ´ est different ´ ´ +Un exemple ou` l’alphabet d’arrivee de celui de depart Le chiffrement des Francs-Mac¸ons . UPMC - Licence Info - Crypto - 2012/13 9/71 ´ Chiffrement par Substitution ou Mono-alphabetique ´ Definition ´ ement ´ ´ ement ´ A` chaque el de P correspond un unique el de C. ` Cryptosysteme par substitution ´ ˆ P, C sont differents (de meme cardinal) K est l’ensemble des bijections de P dans C. Pour tout K ∈ K on a eK (x) = K(x) dK (y) = K −1 (x) UPMC - Licence Info - Crypto - 2012/13 9/71 ´ Chiffrement par Substitution ou Mono-alphabetique ´ Definition ´ ement ´ ´ ement ´ A` chaque el de P correspond un unique el de C. +On prend les alphabets canoniques P = C = {A, . . . , Z} mais dans ´ ce cas il faut melanger cet alphabet. ` Cryptosysteme par substitution sur alphabets identiques ´ P, C sont tous les deux egaux a` A = {A, . . . , Z} K est l’ensemble des permutations de P dans C. Pour tout K ∈ K on a eK (x) = K(x) dK (y) = K −1 (x) UPMC - Licence Info - Crypto - 2012/13 9/71 ´ Structures Mathematiques : Groupes Groupe (G, ?) Associativite´ : ∀(a, b, c) ∈ G × G × G, a ? (b ? c) = (a ? b) ? c ´ ement ´ Neutre : il existe un el e neutre pour ?, i.e. ∀a ∈ G, a ? e = e ? a = a Inverse : ∀a ∈ G, ∃b ∈ G | a?b=b?a=e +Le groupe est dit Commutatif si de plus ∀(a, b) ∈ G × G, a?b = b?a Exemples L’ensemble Z des entiers muni de l’addition (commutatif) L’ensemble Q \ {0} muni de la multiplication (commutatif) L’ensemble Perm(E) des permutations d’un ensemble fini E muni de la composition (non commutatif). ´ ´ Avoir a` l’esprit quelle est l’operation du groupe ! Parfois, l’operation est implicite, par exemple Z/nZ est canoniquement un groupe additif. UPMC - Licence Info - Crypto - 2012/13 10/71 Groupes et Chiffrement par Substitution Chiffrement par Substitution ´ ement ´ ´ ement ´ A` chaque el de P correspond un unique el de C. ´ Si on choisit de numeroter les lettres de l’alphabet de 0 a` 25 on aura ´ alors la modelisation : P = C = {0, . . . , 25} K = Perm({0, . . . , 25}) σ ∈ K, eK = σ et dK = σ −1 UPMC - Licence Info - Crypto - 2012/13 11/71 ´ Cas particulier : Cesar ´ forment un sous-groupe de Perm(P), celui des rotations . +Les cles ´ Definition sous-groupe Soit (G, ?) un groupe fini. Un ensemble H contenu dans G est un ˆ sous-groupe (de G) s’il est lui meme un groupe pour ?. UPMC - Licence Info - Crypto - 2012/13 12/71 ´ Cas particulier : Cesar ´ forment un sous-groupe de Perm(P), celui des rotations . +Les cles ´ Definition sous-groupe Soit (G, ?) un groupe fini. Un ensemble H contenu dans G est un ˆ sous-groupe (de G) s’il est lui meme un groupe pour ?. UPMC - Licence Info - Crypto - 2012/13 12/71 ´ Cas particulier : Cesar ´ forment un sous-groupe de Perm(P), celui des rotations . +Les cles ´ +Arithmetique modulaire ! ´ Chiffrement de Cesar : modulaire P = C = Z/26Z K = {0, . . . , 25} ρ ∈ K, eK : p 7→ p + ρ mod 26 et dK : c 7→ c − ρ mod 26 UPMC - Licence Info - Crypto - 2012/13 12/71 ´ Cas particulier : Cesar ´ Chiffrement de Cesar : modulaire P = C = Z/26Z K = {0, . . . , 25} ρ ∈ K, eK : p 7→ p + ρ mod 26 et dK : c 7→ c − ρ mod 26 Exemple ρ = 13 ⇒ 13 = −13 mod 26 UPMC - Licence Info - Crypto - 2012/13 12/71 ´ ´ es ´ Chiffrement de Cesar : propriet ˆ ´ +Une rotation de Perm({0, . . . , 25}) peut etre definie comme la composition de plusieurs fois la rotation de longueur 1. ´ ` Definition : Groupe cyclique (ou monogene) ˆ ´ ement ´ C’est un groupe (G, ?) qui peut etre engendre´ par un el : ∃g ∈ G tq ∀a ∈ G a = g ? g ? · · · ? g ´ e´ sous la forme G = hgi. On peut noter cette propriet +Le sous-groupe de Perm({0, . . . , 25}) des rotations est cyclique. UPMC - Licence Info - Crypto - 2012/13 13/71 Chiffrement affine +En utilisant l’encodage habituel, on se place directement dans un alphabet de la forme Z/nZ (ici n = 26). ` Cryptosysteme affine ´ P, C sont tous les deux egaux a` Z/26Z K est un sous ensemble de Z/26Z × Z/26Z tel que Pour tout K = (a, b) ∈ K on a eK (x) = ax + b mod 26 et il existe une fonction dK : C → P inverse de eK . +K forme ici aussi un sous-groupe de Perm({0, ldots, 25}). ` Probleme ´ ´ possibles ? Ceci revient a` Comment determiner l’ensemble des cles ´ ` determiner les fonction eK qui possedent une fonction inverse. ´ ´ +Ici il y a deux operations, besoin de structures mathematiques plus riches que celle de groupe, en particulier de savoir inverser. UPMC - Licence Info - Crypto - 2012/13 14/71 Part III ´ Structures Algebriques de Base UPMC - Licence Info - Crypto - 2012/13 15/71 ´ Objets Mathematiques Support de la Cryptographie Groupe, Anneau, Corps... ´ Arithmetique dans Z... ´ Nombres premiers... Divisibilite, ... UPMC - Licence Info - Crypto - 2012/13 16/71 ´ Structures de base : Definitions Anneau commutatif (A, ?, ◦) ´ Groupe commutatif pour l’operation ? ´ ement ´ Associativite´ et existence d’un el neutre pour ◦ Distributivite´ par rapport a` ? : ∀(a, b, c) ∈ A3 , c ◦ (a ? b) = c ◦ b ? c ◦ a ´ Commutativite´ de la seconde operation Exemples L’anneau Z muni de l’addition (groupe) et de la multiplication. ˆ ´ L’anneau des fractions Q avec les memes operations +Dans la suite, tous les anneaux seront commutatifs et munis de ´ ement ´ l’addition de la multiplication . L’el neutre pour l’addition est 0 et 1 pour la multiplication. UPMC - Licence Info - Crypto - 2012/13 17/71 ´ Structures de base : Definitions Sous-**** 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 meme un ´ groupe (resp. anneau) pour les operations 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 - 2012/13 18/71 Divisibilite´ dans un anneau (A, +, ×) Diviseur, Multiples ´ ement ´ Un el 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 appele´ multiple de a. +L’ensemble des multiples de a dans A est note´ aA = {ak : k ∈ A} ´ ´ ´ +L’arithmetique = etude de la divisibilite. +6 et −6 divisent 12 dans Z. ˆ si a est un entier divisant b ∈ Z alors il en est de meme pour −a. Ceci vient du fait que −1 est inversible dans Z. ´ ´ +On ne s’interesse donc qu’au cas positif (classes d’equivalence modulo la multiplication par un inverse) UPMC - Licence Info - Crypto - 2012/13 19/71 Inversibilite´ dans un anneau (A, +, ×) Inversibles ´ ement ´ Une el a d’un anneau A est dit inversible s’il existe b ∈ A tel que ´ ement ´ ab = 1. L’el b est appele´ inverse de a. L’ensemble des inversibles d’un anneau A sera note´ A× (ou aussi U(A)). +A× forme un groupe commutatif dans A pour la multiplication. ˆ ` +La divisibilite´ peut etre vue a un inverse pres. Association ´ ement ´ Pour a ∈ A nous appelons associe´ a` a tout el b de la forme × b = ua avec u ∈ A et nous noterons b ≡ a. +Pour A = Z nous avons A× = {1, −1} ´ de a sont {a, −a} +Pour A = Z les associes +Pour A = Z on choisira le positif UPMC - Licence Info - Crypto - 2012/13 20/71 ´ Integrit e´ ´ eral, ´ ´ ements ´ Dans un cadre gen certains el d’un anneau A peuvent ´ ´ un obstacle a` l’arithmetique. ´ ´ ements ´ represent es Ces el sont les diviseurs de 0. ´ et anneau Integre ` Diviseur de zero ´ ement ´ Un el a 6= 0 ∈ A est diviseur de 0 s’il existe b 6= 0 ∈ A tel que ` ab = 0. Un anneau A est dit integre s’il n’existe pas de diviseur de 0 dans A. ` L’anneau Z est integre mais nous rencontrerons plus tard des anneaux ´ qui ne le seront pas, les exemples les plus simples etant ceux construits par quotient de Z. UPMC - Licence Info - Crypto - 2012/13 21/71 Division euclidienne ´ ´ La division euclidienne represente un moyen pratique pour etudier la divisibilite´ d’un anneau. Anneau euclidien ` ´ Un anneau integre A est dit euclidien si on peut l’equiper d’une application d : A → N ∪ {−∞} telle que pour tout couple (a, b) ∈ A2 avec b 6= 0, il existe q et r dans A tel que a = qb + r avec d(r) < d(b). ` relation etant ´ ´ division euclidienne de a par b, Cette derniere appelee ´ ement ´ l’el q le quotient et r le reste de cette division. +Pour A = Z nous choisissons d : x 7→ |x| ´ +a | b est equivalent a` b = qa + r avec r = 0 ´ pour A = Z on prendra comme convention r > 0 +Non unicite, UPMC - Licence Info - Crypto - 2012/13 22/71 Division euclidienne Dans le langage C, la division euclidienne sur les entiers est obtenue ´ ´ ´ en utilisant les operateurs arithmetiques binaires / et % qui definissent respectivement le quotient et le reste de la division de deux entiers. ` la norme ANSI, le resultat ´ D’apres correspondra a` la convention ´ ´ decrite plus haut (i.e. reste positif ou nul) lorsque les operandes sont ˆ ´ eux-memes positifs . Dans le cas contraire le resultat n’est pas ´ e´ . specifi ´ ˆ ´ +En particulier le resultat de (3-14) % 26 peut etre negatifs ! ´ +Si on divise par 0, le resultat n’a pas de sens UPMC - Licence Info - Crypto - 2012/13 23/71 ´ ´ Irreductibilit e´ et Decomposition ´ ements ´ +Les el ”minimaux” pour la divisibilite´ ´ Irreductible ´ ement ´ ´ Un el p d’un anneau A est irreductible s’il est ni nul ni inversible ` : 1 et p. et s’il a exactement deux diviseurs (a` association pres) ´ ´ +On veut pouvoir decomposer selon ces irreductibles (briques de base) Anneau factoriel ` ´ Un anneau A est dit factoriel s’il est integre et qu’il verifie les deux conditions suivantes : ´ ement ´ existence d’une factorisation : tout el a 6= 0 de A qui n’est ˆ ´ pas inversible peut etre ecrit sous la forme d’un produit p1 p2 · · · pn ´ ements ´ ´ d’el irreductibles ; ´ unicite´ de la factorisation : cette decomposition est unique a` ` des facteurs irreductibles. ´ association et ordre pres UPMC - Licence Info - Crypto - 2012/13 24/71 ´ emes ` Theor fondamentaux ´ Thm. fondamental de l’arithmetique L’anneau Z est factoriel. ´ eralis ´ Thm. fondamental gen e´ Un anneau euclidien est factoriel. UPMC - Licence Info - Crypto - 2012/13 25/71 ´ eme ` Theor fondamental dans Z Premiers ´ ement ´ Un el a d’un anneau A est dit premier s’il est ni nul ni inversible ´ ´ e´ suivante : et s’il verifie la propriet p | ab ⇒ p | a ou p | b. Factoriel et premiers ´ d’etre ˆ ´ Dans un anneau factoriel les qualites premier et irreductible co¨ıncident. ´ ´ +Montrer l’equivalence entre premier et irreductible va nous permettre ` factoriel de Z. de montrer le caractere +Par association on se limite aux entiers naturels (i.e. les entiers positifs) UPMC - Licence Info - Crypto - 2012/13 26/71 ´ eme ` Theor fondamental dans Z ´ Existence de la decomposition ´ ´ e´ Tout entier n > 1 verifie la propriet ´ P(n) : n est le produit de nombres irreductibles. Preuve : ´ On commence par montrer que a > 1 est irreductible ssi il n’est pas le produit de deux entiers > 1. Ensuite, on montre cette existence de ´ ´ decomposition par recurrence forte sur n : ´ On montre que 2 est irreductible. ´ Pour n > 2 on decompose n et on applique h.r. UPMC - Licence Info - Crypto - 2012/13 27/71 ´ eme ` Theor fondamental dans Z ´ +Pour montrer l’unicite´ de la decomposition nous montrons ´ l’equivalence qui suit ´ Premier = Irreductible dans Z ´ Tout nombre entier > 1 est irreductible ssi il est premier. Preuve : Il faut utiliser la division euclidienne ! ´ ` ici la notion usuelle de nombre premier (vue au college, ` +On recup ere ´ etc) lycee, UPMC - Licence Info - Crypto - 2012/13 28/71 ´ eme ` Theor fondamental dans Z ´ Unicite´ de la decomposition dans Z ´ ´ La decomposition de n > 1 se decompose sous la forme d’un produit ´ ` unique . de nombres irreductibles (premiers) de maniere Preuve : ms 1 p1n1 · · · pnk k = n = qm 1 · · · qk ´ ou` les pi et les qj sont des nombres irreductibles. ` le resultat ´ ´ edent, ´ D’apres prec pour i1 fixe´ il existe un entier j1 tel que ˆ raisonnement sur le quotient de n par pi1 pi1 = qj1 . En utilisant le meme ´ on obtient de proche en proche le fait que la decomposition est unique. ´ ´ eme ` Ceci termine la demonstration du theor fondamental dans Z. UPMC - Licence Info - Crypto - 2012/13 29/71 Les nombres premiers ´ +Les nombres irreductibles sont les nombres premiers ! ´ eral ´ est celle d’irreductible. ´ +La ” vraie” notion a` retenir en gen ´ ´ +Important de connaˆıtre les irreductibles car ils definissent tous les ´ ements. ´ el +Quel est le nombre de nombres premiers ? Infinite´ des nombres premiers L’ensemble des nombres premiers est infini. Preuve Euclide : Par l’absurde. ´ On utilise la factorisation pour refuter. Preuve Constructive : ` un ensemble fini de nombres premiers. On considere On construit un nouveau nombre premier par factorisation. UPMC - Licence Info - Crypto - 2012/13 30/71 Les nombres premiers +Comment reconnaˆıtre un nombre premier ? Lem. 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 - 2012/13 31/71 Les nombres premiers, la factorisation +Comment reconnaˆıtre un nombre premier ? La complexite´ de ce programme est de l’ordre de √ p. Agrawal, Kayal et Saxena (2002) donnent un algorithme de ´ non probabiliste et complexite´ polynomiale en la taille de l’entree ´ independant de toute conjecture. Le meilleur logiciel connu est FastECPP de F. Morain (base´ sur les courbes elliptiques). +Comment factoriser un nombre entier ? C’est beaucoup plus dur ! ` ´ Des cryptosystemes reposent sur cette difficulte. Des algorithmes de complexite´ sous-exponentielle existent (MPQS, NFS). UPMC - Licence Info - Crypto - 2012/13 32/71 Part IV ´ ´ eme ` Relation d’equivalence, Theor de Lagrange UPMC - Licence Info - Crypto - 2012/13 33/71 ´ Relation d’equivalence ´ Une relation binaire R d’un ensemble E est une relation d’equivalence ´ ´ es ´ suivantes lorsqu’elle verifie les trois propriet ´ ´ ement ´ ˆ R est reflexive : tout el de E peut etre mis en relation avec ˆ lui meme (∀x ∈ E, xRx) ´ ´ ement ´ ˆ R est symetrique : tout el de E peut etre mis en relation ´ ements ´ avec les el qui lui sont relatifs (∀(x, y) ∈ E2 , xRy ⇒ yRx) R est transitive : une relation d’une relation est une relation (∀(x, y, z) ∈ E3 , xRy ∧ yRz ⇒ xRz) ´ ements ´ ´ Deux el de E qui sont mis en relation par R sont dits associes ´ ´ ement ´ ou equivalents pour cette relation. Soit x un el de E, le sous ´ ements ´ ´ pour R est ensemble de E forme´ des el de E qui sont associes ´ appele´ classe d’equivalence . UPMC - Licence Info - Crypto - 2012/13 34/71 ´ Relation d’equivalence Exemple 1 : 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’equivalence. On peut montrer ´ que aA = bA est equivalent a` l’assertion : ∃u inversible dans A tq a = ub. ´ ´ Dans Z les differentes classes d’equivalence seront alors {−0, 0}, {−1, 1}, {−2, 2}, . . .. UPMC - Licence Info - Crypto - 2012/13 35/71 ´ Relation d’equivalence ` important) Exemple 2 : Z/nZ (tres Soit a, b ∈ Z et n un entier positif. aRn 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 ´ ements ´ ˆ ˆ +Les el d’une meme classe ont le meme reste modulo n (exercice : le montrer) +On choisit le plus petit entier positif de la classe (les classes sont ´ ´ par {0, 1, . . . , n − 1}). donc represent ees UPMC - Licence Info - Crypto - 2012/13 36/71 ´ Relation d’equivalence ´ e´ de partitionnement Propriet ´ Soit E un ensemble et R une relation d’equivalence sur E. L’ensemble ´ des classes d’equivalence pour R forme une partition de E. ´ en exercice. Idee ´ imagee ´ : +Preuve laissee E = b∈E tq a1 Rb UPMC - Licence Info - Crypto - 2012/13 ∪ b∈E tq a2 Rb ∪ · · ·∪ b∈E tq ak Rb ··· 37/71 ´ ´ eme ` Relation d’equivalence : application au theor de Lagrange ´ eme ` Theor 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 appele´ ordre.) ´ ` Mathematicien Franc¸ais de la fin du 18eme ` ´ ´ sur les siecle. Il developpe les idees ´ groupes (sans que la definition soit ´ clairement etablie) de permutations pour ´ ´ etudier les solutions des equations polynomiales. UPMC - Licence Info - Crypto - 2012/13 38/71 ´ ´ eme ` Relation d’equivalence : application au theor de Lagrange ´ eme ` Theor 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 appele´ ordre.) ´ Demonstration ´ ´ Considerer la relation d’equivalence xRH y ⇔ xy−1 ∈ H On partitionne le groupe G selon les classes de RH ´ On etablie une application bijective entre les classes ´ d’equivalence. ´ par Pour le dernier point, il suffit de voir que la classe de x est donnee −1 ´ Hx et que la bijection de G dans G definie par y 7→ yx envoie les ´ ements ´ ´ ements ´ el de H, la classe de l’unite´ e, sur les el de la classe de x. UPMC - Licence Info - Crypto - 2012/13 38/71 ´ ´ eme ` Relation d’equivalence : application au theor de Lagrange ´ eme ` Theor 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 appele´ ordre.) ´ Definition : Ordre ´ ement ´ Soit g un el d’un groupe (G, ?). On appelle ordre de g le plus petit entier strictement positif k tel que g ? g ? ··· ? g = e | {z } k fois ´ +Soit g ∈ G on peut considerer le sous-groupe cyclique de G ´ engendre´ par g. Le cardinal de ce sous-groupe est clairement egal a` ` Lagrange. Voici une l’ordre de g. Il divisera le cardinal de G d’apres raison pour on nomme ordre le cardinal d’un groupe. UPMC - Licence Infolaquelle - Crypto - 2012/13 39/71 ´ ´ eme ` Relation d’equivalence : application au theor de Lagrange ´ eme ` Theor 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 appele´ ordre.) ´ Definition : Ordre ´ ement ´ Soit g un el d’un groupe (G, ?). On appelle ordre de g le plus petit entier strictement positif k tel que g ? g ? ··· ? g = e | {z } k fois Corollaire Tout groupe (G, ?) d’ordre un nombre premier est cyclique . UPMC - Licence Info - Crypto - 2012/13 39/71 Part V PGCD UPMC - Licence Info - Crypto - 2012/13 40/71 Valuation p-adic ´ Soit A un anneau factoriel et P un ensemble de representants pour ´ chacune des classes d’irreductibles de A selon la relation ´ d’equivalence xRy ⇔ ∃u ∈ A× tq x = uy (relation d’association). ´ Decomposition unique Pour a ∈ A non nul on a a=u Y pvp (a) p∈P ´ ou` u est un inversible et les vp (a) des entiers positifs differents de 0 pour un nombre fini d’entre eux (on dit presque tous nuls ). Par exemple pour A = Z et a = 453750 : UPMC - Licence Info - Crypto - 2012/13 41/71 Valuation p-adic ´ Soit A un anneau factoriel et P un ensemble de representants pour ´ chacune des classes d’irreductibles de A selon la relation ´ d’equivalence xRy ⇔ ∃u ∈ A× tq x = uy (relation d’association). ´ Decomposition unique Pour a ∈ A non nul on a a=u Y pvp (a) p∈P ´ ou` u est un inversible et les vp (a) des entiers positifs differents de 0 pour un nombre fini d’entre eux (on dit presque tous nuls ). Par exemple pour A = Z et a = 453750 : 453750 = 112 × 3 × 54 × 2 UPMC - Licence Info - Crypto - 2012/13 41/71 Valuation p-adic a=u Y pvp (a) p∈P ´ Definition ´ ement ´ A tout el p ∈ P d’un anneau factoriel A est associe´ une fonction ´ ´ vp : A 7→ N ∪ {∞} definie comme suit : Pour a 6= 0 l’entier vp (a) est egal ´ a` la puissance de p dans la decomposition de a si p divise a et pour a = 0 on aura par convention vp (a) = ∞. L’entier vp (a) est la valuation p-adic de a . UPMC - Licence Info - Crypto - 2012/13 42/71 Valuation p-adic ´ Definition ´ ement ´ A tout el p ∈ P d’un anneau factoriel A est associe´ une fonction ´ ´ vp : A 7→ N ∪ {∞} definie comme suit : Pour a 6= 0 l’entier vp (a) est egal ´ a` la puissance de p dans la decomposition de a si p divise a et pour a = 0 on aura par convention vp (a) = ∞. L’entier vp (a) est la valuation p-adic de a . Par exemple pour A = Z et a = 453750 : 453750 = 11 × 11 × 3 × 5 × 5 × 5 × 5 × 2 v2 (a) = 1 v3 (a) = 1 v5 (a) = 4 v11 (a) = 2 vp (a) = 0 pour tout autre premier p + vp (0) = ∞ a un sens UPMC - Licence Info - Crypto - 2012/13 43/71 ´ es ´ Valuation p-adic : propriet ´ ements ´ Soit a et b deux el d’un anneau factoriel A et P un ensemble de ´ ´ representants des irreductibles de A. vp (ab) = vp (a) + vp (b) ´ vp (a + b) > min(vp (a), vp (b)) avec egalit e´ lorsque les valuations ´ sont differentes a est un diviseur de b ssi ∀p ∈ P : vp (a) 6 vp (b) Exemples : A = Z, a = 112 × 5, b = 112 × 3 × 2, c = 112 × 5 × 3 UPMC - Licence Info - Crypto - 2012/13 44/71 ´ es ´ Valuation p-adic : propriet ´ ements ´ Soit a et b deux el d’un anneau factoriel A et P un ensemble de ´ ´ representants des irreductibles de A. vp (ab) = vp (a) + vp (b) ´ vp (a + b) > min(vp (a), vp (b)) avec egalit e´ lorsque les valuations ´ sont differentes a est un diviseur de b ssi ∀p ∈ P : vp (a) 6 vp (b) Exemples : A = Z, a = 112 × 5, b = 112 × 3 × 2, c = 112 × 5 × 3 v11 (ab) = 4, v5 (ab) = 1, v3 (ab) = 1 UPMC - Licence Info - Crypto - 2012/13 44/71 ´ es ´ Valuation p-adic : propriet ´ ements ´ Soit a et b deux el d’un anneau factoriel A et P un ensemble de ´ ´ representants des irreductibles de A. vp (ab) = vp (a) + vp (b) ´ vp (a + b) > min(vp (a), vp (b)) avec egalit e´ lorsque les valuations ´ sont differentes a est un diviseur de b ssi ∀p ∈ P : vp (a) 6 vp (b) Exemples : A = Z, a = 112 × 5, b = 112 × 3 × 2, c = 112 × 5 × 3 v11 (a + b) = v11 (112 (5 + 2 × 3)) = v11 (112 (11)) = 3 v11 (a + c) = v11 (112 (5 + 5 × 3)) = v11 (112 (20)) = 2 UPMC - Licence Info - Crypto - 2012/13 44/71 ´ es ´ Valuation p-adic : propriet ´ ements ´ Soit a et b deux el d’un anneau factoriel A et P un ensemble de ´ ´ representants des irreductibles de A. vp (ab) = vp (a) + vp (b) ´ vp (a + b) > min(vp (a), vp (b)) avec egalit e´ lorsque les valuations ´ sont differentes a est un diviseur de b ssi ∀p ∈ P : vp (a) 6 vp (b) Exemples : A = Z, a = 112 × 5, b = 112 × 3 × 2, c = 112 × 5 × 3 v11 (ab) = 4, v5 (ab) = 1, v3 (ab) = 1 c | ab UPMC - Licence Info - Crypto - 2012/13 44/71 PGCD ´ ements ´ Soit a et b deux el d’un anneau factoriel A et P un ensemble ´ ´ representant les irreductibles de A. ´ Definition ´ ement ´ ´ Le plus grand diviseur commun de a et b est l’el d definit par d := Y pmin(vp(a),vp(b)) p∈P et est note´ pgcd(a, b) . Exemples : A = Z, a = 112 × 5, b = 112 × 32 × 2, c = 112 × 5 × 3 UPMC - Licence Info - Crypto - 2012/13 45/71 PGCD ´ ements ´ Soit a et b deux el d’un anneau factoriel A et P un ensemble ´ ´ representant les irreductibles de A. ´ Definition ´ ement ´ ´ Le plus grand diviseur commun de a et b est l’el d definit par d := Y pmin(vp(a),vp(b)) p∈P et est note´ pgcd(a, b) . Exemples : A = Z, a = 112 × 5, b = 112 × 32 × 2, c = 112 × 5 × 3 pgcd(a, b) = 112 car a = 112 × 5 × 30 × 20 et b = 112 × 50 × 32 × 2. UPMC - Licence Info - Crypto - 2012/13 45/71 PGCD ´ ements ´ Soit a et b deux el d’un anneau factoriel A et P un ensemble ´ ´ representant les irreductibles de A. ´ Definition ´ ement ´ ´ Le plus grand diviseur commun de a et b est l’el d definit par d := Y pmin(vp(a),vp(b)) p∈P et est note´ pgcd(a, b) . Exemples : A = Z, a = 112 × 5, b = 112 × 32 × 2, c = 112 × 5 × 3 pgcd(a, c) = a UPMC - Licence Info - Crypto - 2012/13 45/71 PGCD ´ ements ´ Soit a et b deux el d’un anneau factoriel A et P un ensemble ´ ´ representant les irreductibles de A. ´ Definition ´ ement ´ ´ Le plus grand diviseur commun de a et b est l’el d definit par d := Y pmin(vp(a),vp(b)) p∈P et est note´ pgcd(a, b) . Exemples : A = Z, a = 112 × 5, b = 112 × 32 × 2, c = 112 × 5 × 3 pgcd(b, c) = 112 × 3 UPMC - Licence Info - Crypto - 2012/13 45/71 PGCD ´ ´ + Une fois que l’ensemble P des representants des irreductibles de A ´ est fixe´ , le pgcd est unique . (Dans le cas A = Z les representants sont ˆ positifs, il en sera donc de meme pour le pgcd.) + Le pgcd(a, b) est maximal pour la divisibilite´ comme l’indique son nom : max(Div(a) ∩ Div(b)) avec Div(a) l’ensemble (fini) des diviseurs (positifs) de a. ´ Caracterisation ´ ee ´ : d = pgcd(a, b) si et seulement si l’assertion suivante est verifi si c divise a et b alors c’est un diviseur de d UPMC - Licence Info - Crypto - 2012/13 46/71 ´ ements ´ El premiers entre eux ´ a` la divisibilite´ + Notion liee Premiers entre eux ´ ements ´ Deux el a et b sont dits premiers entre eux (ou a est premier ` que l’ensemble des diviseurs communs a` a et b est reduit ´ avec b) des aux inversibles. +Dans le cas A = Z les entiers premiers entre eux sont ceux pour qui ´ l’ensemble de leurs diviseurs positifs communs est reduit a` {1}. +Lien avec le PGCD ? UPMC - Licence Info - Crypto - 2012/13 47/71 Part VI Calcul du PGCD : algorithme d’Euclide UPMC - Licence Info - Crypto - 2012/13 48/71 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 ´ e´ avec 8 et 6 etc. chercher d divisant 8 et 6, on recommence le proced ˆ des ` que l’un des entiers consider ´ e´ est nul. +On s’arrete ´ Lemmes immediats Si d divise a et c et que (a + b) = c alors d divise b. ´ ement ´ Le pgcd d’un el a 6= 0 et 0 est a. UPMC - Licence Info - Crypto - 2012/13 49/71 Calculer le PGCD : Euclide ´ Mathematicien grec (ne´ vers -325, mort ´ antique), vers -265 a` Alexandrie, Gre´ es ´ ements, ´ des El ´ auteur (suppose) ouvrage ´ fondateur des mathematiques modernes. Il ´ ´ ` etait avant tout geom etre, comme tous les ´ mathematiciens grecs de l’antiquite´ ! 14 8 UPMC - Licence Info - Crypto - 2012/13 50/71 Calculer le PGCD : Euclide ´ Mathematicien grec (ne´ vers -325, mort ´ antique), vers -265 a` Alexandrie, Gre´ es ´ ements, ´ des El ´ auteur (suppose) ouvrage ´ fondateur des mathematiques modernes. Il ´ ´ ` etait avant tout geom etre, comme tous les ´ mathematiciens grecs de l’antiquite´ ! 6 8 UPMC - Licence Info - Crypto - 2012/13 50/71 Calculer le PGCD : Euclide ´ Mathematicien grec (ne´ vers -325, mort ´ antique), vers -265 a` Alexandrie, Gre´ es ´ ements, ´ des El ´ auteur (suppose) ouvrage ´ fondateur des mathematiques modernes. Il ´ ´ ` etait avant tout geom etre, comme tous les ´ mathematiciens grecs de l’antiquite´ ! 6 2 UPMC - Licence Info - Crypto - 2012/13 50/71 Calculer le PGCD : Euclide ´ Mathematicien grec (ne´ vers -325, mort ´ antique), vers -265 a` Alexandrie, Gre´ es ´ ements, ´ des El ´ auteur (suppose) ouvrage ´ fondateur des mathematiques modernes. Il ´ ´ ` etait avant tout geom etre, comme tous les ´ mathematiciens grecs de l’antiquite´ ! 2 4 UPMC - Licence Info - Crypto - 2012/13 50/71 Calculer le PGCD : Euclide ´ Mathematicien grec (ne´ vers -325, mort ´ antique), vers -265 a` Alexandrie, Gre´ es ´ ements, ´ des El ´ auteur (suppose) ouvrage ´ fondateur des mathematiques modernes. Il ´ ´ ` etait avant tout geom etre, comme tous les ´ mathematiciens grecs de l’antiquite´ ! 2 pgcd 4 UPMC - Licence Info - Crypto - 2012/13 50/71 Calculer le PGCD + Plus d’efficacite´ : division euclidienne dans A ´ L’anneau A est donc suppose´ euclidien (de fonction d fixee). Pour ´ ements ´ calculer le pgcd de deux el a et b tels que d(b) < d(a). ´ Schema de calcul d’Euclide Posant r0 = a et r1 = b on calcule jusqu’a` obtenir un reste nul . 1 2 n−1 n si r1 6= 0 on a r0 = r1 q1 + r2 avec d(r2 ) < d(r1 ) si r2 = 6 0 on a r1 = r2 q2 + r3 avec d(r3 ) < d(r2 ) .. . si rn−2 6= 0 on a rn−2 = rn−1 qn−1 + rn avec d(rn ) < d(rn−1 ) si rn−1 6= 0 on a rn−1 = rn qn + rn+1 avec d(rn+1 ) < d(rn ) et rn+1 = 0 Algorithme d’Euclide ´ Le dernier reste non nul rn est egal au pgcd de a et b . UPMC - Licence Info - Crypto - 2012/13 51/71 Algorithme d’Euclide ´ ´ Ce schema se traduit immediatement 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 - 2012/13 52/71 ´ Algorithme d’Euclide : demonstration ´ + Terminaison : c’est immediat puisque les ri vont en diminuant selon leur valeur par d. + Correction : pour montrer la correction nous calculons des pgcd ´ ´ edent. ´ ´ edent ´ suivant le schema prec On utilise le lemme prec pour ´ ´ ´ successives. demontrer les egalit es pgcd(a, b) = pgcd(r0 , r1 ) = pgcd(r1 q1 + r2 , r1 ) = pgcd(r2 , r1 ) = . . . UPMC - Licence Info - Crypto - 2012/13 53/71 ´ eme ` ´ Theor de Bachet Bezout + L’algorithme d’Euclide calcule plus que le pgcd ´ Relation de Bezout ´ ements ´ Soit a et b deux el d’un anneau euclidien A. Il existe deux ´ ement ´ el u et v tel que pgcd(a, b) = ua + vb. ´ les coefficients de Bezout ´ + Les coefficients u et v sont appeles ´ eme ` ´ + Le theor de Bachet Bezout a de nombreuses applications. UPMC - Licence Info - Crypto - 2012/13 54/71 ´ eme ` ´ ´ Theor de Bachet Bezout : demonstration ´ On utilise le schema d’Euclide. ´ En construisant des relations lineaires entre ri , a et b pour 26i6n Pour i = 2 nous avons r2 = r0 − r1 q1 avec r0 = a et r1 = b et donc r2 = a − q1 b On suppose avoir la relation ri = ui a + vi b pour i > 2. On a ri+1 = ri−1 − qi ri = (ui−1 − qi ui )a + (vi−1 − qi vi )b ´ ´ ´ On deduit le resultat par recurrence. UPMC - Licence Info - Crypto - 2012/13 55/71 ´ Algorithme d’Euclide Etendu ´ ´ eme ` ´ ´ La demonstration du theor de Bachet Bezout permet de deduire ´ ´ une formule de recurrence pour calculer les coefficients de Bezout de a et b et le pgcd(a, b). Cette formule se traduit sous la forme d’un algorithme : ´ Algorithme d’Euclide etendu v0 = 0, r0 = a u0 = 1, u1 = 0, v1 = 1, r1 = b ui+1 = ui−1 − qi ui , vi+1 = vi−1 − qi vi , ri+1 = ri−1 − qi ri i > 1 ´ +Representation matricielle pour i > 1: ui+1 vi+1 ri+1 −qi 1 ui vi ri = ui vi ri 1 0 ui−1 vi−1 ri−1 +Nous verrons plus tard dans le cours, le nombre de calculs ´ ´ necessaires pour obtenir le pgcd et les coefficients de Bezout. UPMC - Licence Info - Crypto - 2012/13 56/71 Part VII L’anneau (Z/nZ, +, ×) et le calcul modulaire UPMC - Licence Info - Crypto - 2012/13 57/71 L’anneau (Z/nZ, +, ×) ` la relation d”equivalence ´ Soit n un entier positif. On considere aRn b ⇔ a − b ∈ nZ . ´ ´ ´ par les +Les classes d’equivalence peuvent represent ees r + nZ = {r + nk : k ∈ Z} avec r ∈ {0, . . . , n − 1}. Addition et Multiplication dans Z/nZ (r1 + nZ) + (r2 + nZ) = (r1 + r2 ) + nZ = r3 + nZ avec r3 le reste modulo n de r1 + r2 vu dans Z. (r1 + nZ) × (r2 + nZ) = (r1 × r2 ) + nZ = r3 + nZ avec r3 le reste modulo n de r1 × r2 vu dans Z. ´ +Muni de ces deux operations Z/nZ est un anneau (commutatif) (exercice : montrer le). UPMC - Licence Info - Crypto - 2012/13 58/71 L’anneau (Z/nZ, +, ×) Exemple Z/7Z ´ L’ensemble des classes de R7 est represent e´ par les 0 + 7Z, ; 1 + 7Z, . . . , 6 + 7Z Nous avons ´ ement ´ ˆ 3 + 7Z = −4 + 7Z l’el −4 est de la meme 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 - 2012/13 59/71 Lien entre PGCD et multiples Proposition Soit nZ et mZ deux ensembles de multiples dans Z. L’ensemble nZ + mZ = {a1 + a2 : a1 ∈ nZ et a2 ∈ mZ} est aussi un ensemble de ´ ement. ´ multiples d’un el 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 - 2012/13 60/71 ´ ements ´ Lien entre PGCD et el premiers entre eux ´ Corollaire Bachet-Bezout ´ ements ´ Deux el 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 - 2012/13 61/71 ´ ´ ements ´ Z/nZ, integrit e´ et el inversibles ´ Integrit e´ ` Z/nZ est integre ssi n est premier. ´ ements ´ El inversibles ´ ement ´ Un el x ∈ Z/nZ est inversible ssi il existe y ∈ Z/nZ tq (x + nZ) × (y + nZ) = 1 + A. Ceci se traduit par xy = 1 mod n. Il existe donc u dans Z tel que xy + au = 1, ceci revient au calcul d’une relation ´ de Bezout ! UPMC - Licence Info - Crypto - 2012/13 62/71 ´ Z/nZ et la definition de corps ´ eme ` Theor ´ ements ´ Les el inversibles dans Z/nZ sont les classes ayant un ´ representant premier avec n . Corollaire ´ ´ ements ´ Si n est irreductible (⇔ premier) alors tous les el de Z/nZ prive´ ´ ement ´ de l’el nul sont inversibles. ´ Definition ´ ements ´ ´ Un anneau dont tous les el differents de l’unite´ pour la ` operation ´ premiere sont inversibles est un corps . UPMC - Licence Info - Crypto - 2012/13 63/71 Z/nZ en tant que corps premier ´ ements ´ El inversibles dans Z/nZ L’ensemble (Z/nZ)× des inversibles de Z/nZ est donne´ par les ´ ements ´ ´ el a verifiant pgcd(a, n) = 1 ´ ´ L’inverse etant calcule´ par l’algorithme d’Euclide etendu ´ ement ´ ´ Exemple : L’el 10 dans Z/21Z (representant la classe 10 + 21Z) est inversible d’inverse −2 = 19 mod 21. En effet nous avons la ´ relation de Bezout : 10 × (−2) + 21 × 1 = 1 Corps premiers Les anneaux quotients Z/pZ avec p un entier premier sont des corps ´ les corps premiers. de cardinal p. On les notes Fp et sont appeles UPMC - Licence Info - Crypto - 2012/13 64/71 Calcul modulaire pratique Principe de base modulo n ´ Ne jamais laisser grossir le representant de la classe. On effectue ´ ´ donc des reductions modulo n a` la suite des operations. Comment calculer 15362 mod 26 ? UPMC - Licence Info - Crypto - 2012/13 65/71 Calcul modulaire pratique Principe de base modulo n ´ Ne jamais laisser grossir le representant de la classe. On effectue ´ ´ donc des reductions modulo n a` la suite des operations. Comment calculer 15362 mod 26 ? Ne surtout PAS calculer la puissance ! 555950055800404828716257724467752260158215698743020306033284422997242638 193590114682698510877751945791100011259442205311499677154994108188813652 986548714887879008460611471446667462293162482154326721629967903287837574 049862446605056531825294441531016708701108585851936237439229798864723350 920277085670064315176655628092922091669772429098440748034205948253206392 619016977781494151991518483379994819415514939464628696441650390625 UPMC - Licence Info - Crypto - 2012/13 65/71 Calcul modulaire pratique Principe de base modulo n ´ Ne jamais laisser grossir le representant de la classe. On effectue ´ ´ donc des reductions modulo n a` la suite des operations. Comment calculer 15362 mod 26 ? 15362 = 3362 × 5362 UPMC - Licence Info - Crypto - 2012/13 mod 26 65/71 Calcul modulaire pratique Principe de base modulo n ´ Ne jamais laisser grossir le representant de la classe. On effectue ´ ´ donc des reductions modulo n a` la suite des operations. Comment calculer 15362 mod 26 ? 15362 = 3362 × 5362 mod 26 De plus 362 = 12 ∗ 30 + 2 avec 33 = 1 mod 26 et 54 = 1 mod 26 UPMC - Licence Info - Crypto - 2012/13 65/71 Calcul modulaire pratique Principe de base modulo n ´ Ne jamais laisser grossir le representant de la classe. On effectue ´ ´ donc des reductions modulo n a` la suite des operations. Comment calculer 15362 mod 26 ? 15362 = 3362 × 5362 = 32 × 52 = −9 mod 26 De plus 362 = 12 ∗ 30 + 2 avec 33 = 1 mod 26 et 54 = 1 mod 26 UPMC - Licence Info - Crypto - 2012/13 65/71 ´ Algorithme Euclide etendu : mise en pratique ! Comment trouver l’inverse de 2345 modulo 30003 s’il existe ? UPMC - Licence Info - Crypto - 2012/13 66/71 ´ Algorithme Euclide etendu : mise en pratique ! Comment trouver l’inverse de 2345 modulo 30003 s’il existe ? ´ Calcul pratique du pgcd etendu (a` la main): i 1 2 3 .. . ri−1 30003 2345 ? .. . UPMC - Licence Info - Crypto - 2012/13 ri 2345 1863 ? .. . qi 12 ? ? .. . ri+1 1863 ? ? .. . ui+1 1 ? ? .. . vi+1 -12 ? ? .. . 66/71 ´ Algorithme Euclide etendu : mise en pratique ! Comment trouver l’inverse de 2345 modulo 30003 s’il existe ? ´ Calcul pratique du pgcd etendu (a` la main ou en machine): i 1 2 3 4 5 6 7 8 9 ri−1 30003 2345 1863 482 417 65 27 11 5 UPMC - Licence Info - Crypto - 2012/13 ri 2345 1863 482 417 65 27 11 5 1 qi 12 1 3 1 6 2 2 2 5 ri+1 1863 482 417 65 27 11 5 1 0 ui+1 1 -1 4 -5 34 -73 180 -433 2345 vi+1 -12 13 -51 64 -435 934 -2303 5540 -30003 66/71 ´ Algorithme Euclide etendu : mise en pratique ! Comment trouver l’inverse de 2345 modulo 30003 s’il existe ? ´ Calcul pratique du pgcd etendu (a` la main): i 1 .. . 8 9 ri−1 30003 .. . 11 5 ri 2345 .. . 5 1 qi 12 .. . 2 5 ri+1 1863 .. . 1 0 ui+1 1 .. . -433 2345 vi+1 -12 2303 5540 -30003 ´ +On en deduit que −433 × 30003 + 5540 × 2345 = 1 +et donc 5540 × 2345 = 1 mod 30003 UPMC - Licence Info - Crypto - 2012/13 66/71 Part VIII Conclusion UPMC - Licence Info - Crypto - 2012/13 67/71 ` ´ Chiffrement affine : probleme resolu ` Cryptosysteme affine ´ P, C sont tous les deux egaux a` Z/26Z K est un sous ensemble de Z/26Z × Z/26Z tel que Pour tout K = (a, b) ∈ K on a eK (x) = ax + b mod 26 et il existe une fonction dK : C → P inverse de eK . ´ +Comment determiner l’ensemble K ? ´ ` +Etude de Z/26Z. Attention c’est un anneau non integre ! ´ ´ a, b, y il faut resoudre ´ ´ Etant donnes l’equation y = ax + b mod 26 Ceci est possible que si a est inversible modulo 26 . On obtient alors dK (y) = a−1 y − a−1 b . UPMC - Licence Info - Crypto - 2012/13 68/71 Chiffrement affine : Table de multiplication mod 26 × 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 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 4 6 8 10 12 14 16 18 20 22 24 0 2 4 6 8 10 12 14 16 18 20 22 24 6 9 12 15 18 21 24 1 4 7 10 13 16 19 22 25 2 5 8 11 14 17 20 23 8 12 16 20 24 2 6 10 14 18 22 0 4 8 12 16 20 24 2 6 10 14 18 22 10 15 20 25 4 9 14 19 24 3 8 13 18 23 2 7 12 17 22 1 6 11 16 21 12 18 24 4 10 16 22 2 8 14 20 0 6 12 18 24 4 10 16 22 2 8 14 20 14 21 2 9 16 23 4 11 18 25 6 13 20 1 8 15 22 3 10 17 24 5 12 19 16 24 6 14 22 4 12 20 2 10 18 0 8 16 24 6 14 22 4 12 20 2 10 18 18 1 10 19 2 11 20 3 12 21 4 13 22 5 14 23 6 15 24 7 16 25 8 17 20 4 14 24 8 18 2 12 22 6 16 0 10 20 4 14 24 8 18 2 12 22 6 16 22 7 18 3 14 25 10 21 6 17 2 13 24 9 20 5 16 1 12 23 8 19 4 15 24 10 22 8 20 6 18 4 16 2 14 0 12 24 10 22 8 20 6 18 4 16 2 14 0 13 0 13 0 13 0 13 0 13 0 13 0 13 0 13 0 13 0 13 0 13 0 13 2 16 4 18 6 20 8 22 10 24 12 0 14 2 16 4 18 6 20 8 22 10 24 12 4 19 8 23 12 1 16 5 20 9 24 13 2 17 6 21 10 25 14 3 18 7 22 11 6 22 12 2 18 8 24 14 4 20 10 0 16 6 22 12 2 18 8 24 14 4 20 10 8 25 16 7 24 15 6 23 14 5 22 13 4 21 12 3 20 11 2 19 10 1 18 9 10 2 20 12 4 22 14 6 24 16 8 0 18 10 2 20 12 4 22 14 6 24 16 8 12 5 24 17 10 3 22 15 8 1 20 13 6 25 18 11 4 23 16 9 2 21 14 7 14 8 2 22 16 10 4 24 18 12 6 0 20 14 8 2 22 16 10 4 24 18 12 6 16 11 6 1 22 17 12 7 2 23 18 13 8 3 24 19 14 9 4 25 20 15 10 5 18 14 10 6 2 24 20 16 12 8 4 0 22 18 14 10 6 2 24 20 16 12 8 4 20 17 14 11 8 5 2 25 22 19 16 13 10 7 4 1 24 21 18 15 12 9 6 3 22 20 18 16 14 12 10 8 6 4 2 0 24 22 20 18 16 14 12 10 8 6 4 2 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 - 2012/13 69/71 Chiffrement affine : Indicatrice d’Euler ` Cryptosysteme affine ´ P, C sont tous les deux egaux a` Z/26Z K est le sous-ensemble des (a, b) ∈ Z/26Z × Z/26Z tel que a est premier avec 26. Indicatrice d’Euler ´ ements ´ Etant donne´ un entier n, le nombre d’el strictement positifs, ´ inferieurs et premier avec n est note´ ϕ(n). Ce nombre est appele´ indicatrice d’Euler de n et note´ ϕ(a) = card{0 < n < a : pgcd(a, n) = 1} ´ possibles est donc ϕ(26) × 26 . Le nombre de cles +Comment calculer ϕ(26) ? a` suivre... UPMC - Licence Info - Crypto - 2012/13 70/71 Conclusion ´ Cesar et chiffrement affine ´ Nous avons vu l’utilisation des structures mathematiques de base ´ ` pour definir des cryptosystemes. ´ Arithmetique modulaire et groupes de permutations. ´ Je vous conseille de reviser l’algorithme d’Euclide et son ´ utilisation pour calculer les coefficients de Bezout ! UPMC - Licence Info - Crypto - 2012/13 71/71
© Copyright 2025 ExpyDoc