Structures algébriques et algorithmes

Dimension: px
Commencer à balayer dès la page:

Download "Structures algébriques et algorithmes"

Transcription

1 Univ. Lille 1 - Licence et Master Info Principes et Algorithmes de Cryptographie Table des matières Structures algébriques et algorithmes 1 Entiers et opérations sur les entiers Taille d'un entier Les entiers dans l'ordinateur Arithmétique sur les entiers L'addition La multiplication Groupes Structure de groupe Groupes nis et carrés latins Théorème de Lagrange Groupes cycliques Exponentiation Anneaux Structure d'anneau Algorithme d'euclide Algorithme classique Algorithme binaire Algorithme d'euclide étendu Inverse modulaire Corps Structure de corps Propriétés des corps Corps nis Construction de corps nis Existence de corps nis non premiers Corps à 4 éléments Corps nis à q = p n éléments Polynômes irréductibles Application à la construction de corps nis Table de nombres premiers 15 Bibliographie Notes de cours établies à partir des ouvrages suivants 1. Cours d'algèbre. Primalité, divisibilité, codes de Michel Demazure, Cassini, The art of computer programming, vol 2, seminumerical algorithms de Donald E. Knuth, Addison Wesley, 3ème édition, A course in computational algebraic number theory de Henri Cohen, Springer, 4ème édition, Modern Computer Algebra de Joachim von zur Gathen et Jürgen Gerhard, Cambridge university press, Handbook of applied cryptography de Alfred Menezes & al., CRC Press, Disponible par internet à l'adresse NOTES DE COURS ENCORE INACHEVEES : Racines carrées dans Z/nZ 1

2 1 Entiers et opérations sur les entiers 1.1 Taille d'un entier Il existe plusieurs notations possibles pour les nombres entiers. En particulier, dans la numération de position, les entiers peuvent être représentés par des mots nis sur un alphabet dont les symboles sont usuellement appelés chires. Ainsi le nombre entier qui donne la valeur (arrondie à l'entier inférieur) de cent euros en francs français se note 657 en base 10. Ce mot de trois lettres (ou chires) qui dénote l'entier 657 signie que cet entier est égal à 657 = , c'est à dire une somme de puissances de 10 consécutives coecientées par des nombres compris entre 0 et 9 = On comprend alors que par le même procédé, on peut écrire cet entier dans d'autres bases B au moins égales à 2. Par exemple en base 2, puisque l'on a 657 = , le nombre 657 peut s'écrire en base 2 avec le mot de dix chires binaires Nous voyons donc que selon la base de numération choisie le mot dénotant 657 peut être plus ou moins long. Et même pour une base xée la longueur n'est pas unique, puisque on peut toujours préxer un mot dénotant un entier par un mot de la forme 0 k. Par exemple en base 10, les mots 657, 0657, 00657,... dénotent tous le même entier. Lorsque l'écriture ne comprend pas de 0 en tête, on parle d'écriture standard. Nous donnons donc la dénition suivante de la taille d'un entier. Dénition 1.1. La taille d'un entier n > 0 en base B 2, notée n B, est la longueur du plus petit mot le dénotant dans cette base. Autrement dit, c'est le nombre de chires nécessaires pour l'écriture standard de l'entier n en base B, c'est-à-dire sans zéros superus à gauche. Par exemple, = 3 et = 10. Une expression de la taille d'un entier est donnée par le thérorème qui suit. Théorème 1.1. n B = log B n + 1. Dans ce théorème, la notation x désigna la partie entière du réel x, c'estàdire le plus grand nombre entier inférieur ou égal à x, et la notation log B x désigne le logarithme en base B de x, c'està dire log B x = ln x ln B. La formule exacte de l'expression de la taille d'un entier donnée par le théorème 1.1 peut se simplier par l'approximation n B log B n, approximation d'autant plus valable que l'entier n est grand. La taille d'un entier croît donc logarithmiquement en fonction de sa valeur, et comme la croissance des fonctions logarithmiques est assez lente, cela explique la capacité de la numération de position à dénoter de très grands nombres entiers. Corollaire 1.1. n B n B ln B ln B = log B B. Ainsi pour de très grands entiers, le rapport des tailles dans deux bases diérentes est approximativement constant. Dans le cas des bases B = 10 et B = 2 ce rapport est log , autrement dit la taille de l'écriture en base 10 d'un entier est approximativement égale à 30% de celle en base 2. 2

3 1.2 Les entiers dans l'ordinateur Il faut distinguer entre les entiers machine qui sont ceux représentables dans un registre du processeur, et les autres qui ne le sont pas, souvent nommés entiers multiprécision. Les registres des processeurs ont une taille xée (couramment 32 ou 64 bits sur les PC actuels). Les entiers machine sont donc les entiers représentables par des mots binaires d'une taille xée n, c'estàdire les entiers de l'intervalle [0, 2 n 1] dans leur version non signée, ou les entiers de [ 2 n 1, 2 n 1 1] dans leur version signée. Non signés Signés taille min max min max n = 32 bits n = 64 bits Tab. 1 Entiers machine L'arithmétique sur les entiers machine est eectuée par l'unité arithmétique et logique du processeur. Si on souhaite travailler avec des entiers dépassant les limites des entiers machine, et c'est le plus souvent le cas en cryptographique, il faut utiliser une représentation en multiprécision. Plusieurs réalisations sont possibles. Par exemple, la bibliothèque GMP 1 de programmation de calculs en multiprécision, implémente les entiers multiprécision sous forme de tableaux dynamiques de mots machines considérés comme des chires de la base B = 2 n (avec n = 32 ou 64), avec un champ supplémentaire pour indiquer le nombre N de mots utilisés et le signe s de l'entier représenté. Autrement dit l'entier a = ( 1) s a i B i 0 i N est représenté par le signe s et l'entier N ainsi qu'un tableau des entiers machine a 0, a 1,... a N. Bien évidemment, pour les entiers multiprécision, il faut programmer les opérations arithmétiques de base (addition, multiplication,... ), et c'est ce que fait la bibliothèque GMP. 1.3 Arithmétique sur les entiers L'addition Algorithme 1 Addition de deux entiers multiprecision de même signe Entrée: a = ( 1) s 0 i N a i B i et b = ( 1) s 0 i N a i B i deux entiers de même signe s. Sortie: c = ( 1) s 0 i N+1 c i B i tel que c = a + b. 1: γ 0 0 2: pour i = 0... N faire 3: c i a i + b i + γ i, γ i+1 0 4: si c i B alors 5: c i c i b, γ i+1 1 6: n si 7: n pour 8: c N+1 γ N+1 9: retourner ( 1) s 0 i N+1 c i Les opérations d'addition et de soustraction apparaissant aux lignes 3 et 5 de l'algorithme 1 sont des opérations sur les entiers machine. Le nombre d'opérations sur les entiers machine requis dans l'addition de deux entiers multiprécision de taille N par l'algorithme 1 est en O(N). Cet algorithme est donc linéaire en la taille des entiers ajoutés. On peut facilement adapter l'algorithme 1 en un algorithme d'addition de deux polynômes A(X) = 0 i N a ix i et B(X) = 0 i N b ix i. L'algorithme est alors plus simple car il est inutile de gérer les retenues comme dans le cas des entiers. L'addition de la ligne 2 de l'algorithme 2 peut être une addition de deux entiers, deux rationnels, deux réels, deux complexes selon l'espace des coecients des polynômes considérés. 1 GNU Multiple Precision, 3

4 Algorithme 2 Addition de deux polynômes Entrée: A(X) = 0 i N a ix i et B(X) = 0 i N b ix i deux polynômes de degré N Sortie: C(X) = 0 i N c ix i avec C = A + B. 1: pour i = 0... N faire 2: c i a i + b i 3: n pour 4: retourner 0 i N c ix i La multiplication Algorithme 3 Multiplication de deux entiers multiprécision Entrée: a = ( 1) s 0 i N a i B i et b = ( 1) s 0 i M a i B i deux entiers. Sortie: c = ab. 1: pour i = 0... N faire 2: d i 0 3: pour j = 0... M faire 4: p a i b j. p s'écrit p = p 1 B + p 0 avec 0 p i < B 5: d i d i + p 0 B i+j + p 1 B i+j+1 6: n pour 7: n pour 8: retourner ( 1) s+t 0 i N d i. Le nombre d'opérations (additions et multiplications) sur les entiers machines dans le calcul du produit de deux entiers de taille N et M est en O(NM). Cet algorithme est donc quadratique en la taille des entiers multipliés. 2 Groupes 2.1 Structure de groupe Dénition 2.1. Un groupe est un ensemble G muni d'une opération interne, notée ci-dessous, tel que les propriétés suivantes sont satisfaites : associativité l'opération est associative a, b, c G (a b) c = a (b c) ; élément neutre l'opération possède un élément neutre e e G a G a e = e a = a ; inverse tout élément possède un inverse (à gauche et à droite) a G b G a b = b a = e. Le groupe est dit commutatif ou abélien si en plus, l'opération est commutative, c'est-à-dire si a, b G a b = b a. Exemples 1. Les ensembles usuels de nombres signés entiers Z, rationnels Q, réels R, complexes C munis de l'opération d'addition usuelle (+) sont des groupes commutatifs innis. 2. Les ensembles de nombres entiers modulaires (Z/nZ) muni de l'addition modulo n sont des groupes commutatifs nis. 3. Si on enlève 0, les ensembles K\{0}, avec K = Q, ou R, ou C sont des groupes commutatifs innis pour la multiplication usuelle ( ). 4

5 4. Les ensembles R[X] des polynômes à coecients dans R, R étant un anneau (cf la section 3), par exemple l'un des ensembles de nombres cités ci-dessus, muni de l'addition usuelle des polynômes sont des groupes commutatifs innis. 5. L'ensemble S n des permutations des entiers de 1 à n, muni de l'opération ( ) de composition est un groupe ni non commutatif. Contre-exemples 1. L'ensemble N des entiers naturels muni de l'addition usuelle n'est pas un groupe : hormis 0, élément neutre pour l'addition, aucun entier ne possède d'inverse pour l'addition (il manque les nombres négatifs). 2. De même, l'ensemble A des mots sur un alphabet A, muni de l'opération de concaténation n'est pas un groupe : hormis le mot vide, élément neutre pour la concaténation, aucun mot ne possède d'inverse pour la concaténation. 3. Les ensembles de nombres signés munis de l'opération de multiplication usuelle ( ) ne sont pas des groupes : le nombre 0 interdit l'existence d'un élément neutre. Même si on enlève le nombre 0 de ces ensembles la structure n'est pas toujours celle d'un groupe. Par exemple, Z \ {0} n'est pas un groupe puisque en dehors de 1 et 1 aucun entier n'admet d'inverse pour la multiplication. En revanche, Q \ {0}, R \ {0} et C \ {0} sont des groupes multiplicatifs (innis et commutatifs). 4. Les ensembles Z/nZ\{0} munis de la multiplication modulo n ne sont pas des groupes. En revanche les ensembles Z/nZ des éléments inversibles pour la multiplication modulo n sont des groupes nis ayant ϕ(n) éléments, où ϕ désigne la fonction indicatrice d'euler dénie pour n 2 par ϕ(n) = n p n(1 1 p ) p parcourant les nombres premiers divisant n. Une autre expression possible pour ϕ s'obtient à partir de la décomposition en facteurs premiers de n = r i=1 psi i par ( r ) r ϕ = (p si i p si 1 i ). i=1 p si i Remarque Lorqu'un ensemble est muni d'une opération interne qui ne satisfait que les deux premières propriétés (associativité et existence d'un élément neutre), la structure algébrique qui en résulte est nommée monoïde. L'ensemble des entiers naturels munis de l'addition, et l'ensemble des mots sur un alphabet muni de la concaténation sont des monoïdes. Notation additive ou multiplicative? Deux opérations courantes notées + (addition) et ou bien (multiplication) apparaissent fréquemment (sur les nombres, sur les polynômes,... ). Le tableau 2 compare les notations lorque l'opération est additive ou multiplicative. Notation additive Notation multiplicative Combinaison de deux éléments a, b G a + b a b ou a b ou ab Composée m-ième d'un élément a G (m N \ {0}) ma = a a }{{} m fois a a m = a }. {{.. a } m fois a Élément neutre (m = 0) 0a = 0 a 0 = 1 Inverse (m = 1) a a 1 Composée m-ième d'un élément a G (m N) ( m)a = m( a) a m = (a 1 ) m m, p Z, a G (m + p)a = ma + pa a m+p = a m a p m, p Z, a G (mp)a = m(pa) a mp = (a m ) p i=1 Tab. 2 Notations additives et multiplicatives Dans toute la suite, pour désigner l'opération interne d'un groupe nous utiliserons la notation multiplicative. 5

6 2.2 Groupes nis et carrés latins Théorème 2.1. Soit G un groupe ni d'ordre n et a un élément de G. Les applications et sont des bijections. g a : G G x a x d a : G G x x a Une conséquence de ce théorème est que si l'opération de groupe est représentée par un tableau à deux entrées x et y, éléments du groupe, donnant l'élément x y, alors toutes les lignes de ce tableau, ainsi que toutes les colonnes contiennent chaque élément du groupe une et une seule fois. Autrement dit, ce tableau est un carré latin. Les deux tableaux présentés en 3 montrent deux carrés latins d'ordre 4 représentants le groupe additif des entiers modulo 4 et le groupe multiplicatif des entiers non nuls modulo Tab. 3 Tables des groupes (Z/4Z, +) et (Z/5Z \ {0}, ) Si on assure la correspondance 0 a, 1 b, 2 c et 3 d dans le premier tableau et la correpsondance 1 a, 2 b, 3 d et 4 c dans le second, alors les deux tableaux de 3 sont identiques après permutation des deux dernières lignes et des deux dernières colonnes de l'un ou l'autre des deux tableaux. Les deux groupes (Z/4Z, +) et (Z/5Z \ {0}, ) sont isomorphes. Il n'existe que deux carrés latins d'ordre 4 non identiques à permutation près des lignes et des colonnes, et à nommage près des éléments : celui des deux groupes présentés dans 3 et celui présenté dans 4. Ce second carré latin est celui correspondant au groupe produit (Z/2Z Z/2Z, +) dans lequel les éléments sont des couples de deux entiers modulo 2 (autrement dit des mots de deux bits), et l'addition est l'addition modulo 2 composante par composante (autrement dit le ou-exclusif bit à bit). a b c d b a d c c d a b d c b a Tab. 4 Second carré latin d'ordre 4 Une question naturelle qui se pose est celle de savoir si à tout carré latin il correspond un groupe ni. La réponse est positive pour les carré latins jusqu'à l'ordre 4 : il existe un seul carré latin d'ordre 1, 2 et 3 qui donnent les tables des groupes additifs Z/1Z, Z/2Z et Z/3Z, et nous venons de voir qu'il existe deux carré latins d'ordre 4 donnant chacun la table de groupes nis d'ordre 4. Il existe aussi deux carrés latins d'ordre 5 que la table 5 montre. Le carré de gauche peut être vu comme la table d'addition modulo 5 et correspond donc à la table d'un groupe. En revanche celui de droite ne peut pas être la table d'un groupe ni, puisqu'alors l'opération ne serait pas associative. La réponse à la question initiale est donc négative. 2.3 Théorème de Lagrange Lorsqu'un groupe est ni, le nombre de ses éléments est appelé ordre du groupe. Théorème 2.2. (Lagrange) Soit G un groupe ni d'ordre n, d'élément neutre 1. Alors quelque soit l'élément a G, il existe un entier m tel que a m = 1. De plus, le plus petit entier non nul m satisfaisant cette relation divise n. 6

7 a b c d e b c d e a c d e a b d e a b c e a b c d a b c d e b d a e c c e d b a d a e c b e c b a d Tab. 5 Les deux carrés latins d'ordre 5 Dénition 2.2. Pour un élément a d'un groupe ni, le plus petit entier m satisfaisant a m = 1 est appelé ordre de cet élément. Corollaire 2.1. Pour tout élément a d'un groupe ni d'ordre n, on a a n = 1. Corollaire 2.2. L'inverse d'un élément a d'un groupe ni d'ordre n est égal à a 1 = a n 1. Remarque : Deux cas particuliers du corollaire 2.1 sont le (petit) théorème de Fermat et le théorème d'euler rappelés ci-dessous. Théorème 2.3. (Fermat) Soit n un nombre premier. Alors pour tout entier a non divisible par n on a a n 1 (mod n) = 1. Théorème 2.4. (Euler) Soit n 2 un entier. Pour tout entier a premier avec n on a 2.4 Groupes cycliques a ϕ(n) (mod n) = 1. Dénition 2.3. Un groupe cyclique est un groupe ni G dans lequel existe un élément a de même ordre que l'ordre n du groupe, c'est à dire un groupe dont les éléments sont de la forme a i avec a G et 0 i < n. Un élément d'ordre n est appelé générateur du groupe cyclique. Exemples : 1. Les groupes additifs Z/nZ sont cycliques d'ordre n, et 1 est un générateur. 2. Lorsque n est un nombre premier, Z/nZ \ {0} est un groupe cyclique d'ordre n 1. Tous les groupes nis ne sont pas cycliques. En eet, il existe des groupes nis non commutatifs (cf 2.1), et les groupes cycliques sont tous commutatifs. Mais il existe aussi des groupes nis commutatifs non cycliques, comme par exemple le groupe d'ordre 4 (Z/2Z Z/2Z, +) que nous avons vu dans la partie 2.2 et dont tous les éléments non nuls sont d'ordre 2. Dans un groupe cyclique, une fois xé un générateur a, l'opération de ce groupe revient à une addition modulo l'ordre du groupe. En eet, pour deux éléments quelconques du groupe x = a i et y = a j, on a x y = a i a j = a (i+j) (mod m). Du point de vue de l'informaticien, il est donc toujours possible de représenter les éléments d'un groupe cyclique d'ordre m par les entiers compris entre 0 et m 1 et d'implanter l'opération de ce groupe par une addition modulo m. 2.5 Exponentiation L'exponentiation dans un groupe multiplicatif (ou la multiplication par un entier dans un groupe additif) est une opération fréquente en arithmétique, et en cryptographie (cf protocole d'échange de clés de Die-Hellman, cryptosystème RSA, cryptosystème de El Gamal,... ). Il est donc utile qu'on s'y attarde un peu. 7

8 Le problème de l'exponentiation est celui du calcul eectif et ecace de a m lorsque a est un élément d'un groupe (ou d'un monoïde), et m un entier relatif quelconque. Bien entendu il est toujours possible de calculer a m en suivant la dénition a m = a... a, c'est-à-dire en eectuant m 1 multiplications d'éléments de G. Cependant, cette méthode devient impensable en pratique dès lors que m devient grand, ce qui est souvent le cas en cryptographie. Il nous faut donc un algorithme d'exponentiation plus rapide. L'algorithme 4 répond ecacement à notre problème. Sa description suppose donnés la représentation des éléments du groupe, et en particulier de son élément neutre 1, ainsi que l'implantation des opérations de multiplication et d'élévation au carré dans ce groupe (cette dernière opération pouvant toujours être réalisée grâce à la première). Algorithme 4 Exponentiation dans un groupe Entrée: a G un élément d'un groupe dont l'élément neutre est noté 1, m Z Sortie: c = a m 1: r 1 2: si m = 0 alors 3: retourner r 4: sinon 5: si m < 0 alors 6: s a 1, k m 7: sinon 8: s a, k m 9: n si 10: n si 11: tant que k > 1 faire 12: si k est impair alors 13: r r s 14: n si 15: s s 2 16: k k 2 17: n tant que 18: r r s 19: retourner r En fait, si on n'utilise que des exposants positifs (m > 0), cet algorithme ne s'applique pas uniquement au calcul de la puissance d'un élément d'un groupe, puisque qu'alors on n'a pas besoin de calculer d'inverse de a (ligne 6). En particulier, on peut l'appliquer pour le calcul de a m lorsque a est dans Z ou dans Z/nZ. Le tableau 6 montre les diérentes étapes de cet algorithme appliqué à a = 2 N et m = 13 (la colonne i indique les numéros des étapes de la boucle tantque, et dans la colonne de la variable k l'écriture binaire est inscrite entre parenthèses). i r s k (1101) (110) (11) (1) = Tab. 6 Calcul de 2 13 par l'algorithme 4 On peut vérier que ce calcul a nécessité trois élévations au carré (ligne 15) et trois multiplications (lignes 13 et 18), soit six multiplications en tout si l'élévation au carré est accomplie par une multiplication. De manière générale, le nombre d'opérations dans G eectuées pour calculer a m, m > 0, avec cet algorithme est lié à la représentation binaire de l'entier m. En particulier il eectue m 2 1 élévations au carré auxquelles il faut ajouter une multiplication pour chaque bit de m valant 1. Par exemple, pour m = 13 dont l'écriture binaire est 1101, on retrouve les m 2 1 = 3 élévations au carré et les trois multiplications correspondant aux trois bits valant 1. Ainsi le nombre d'opérations dans G est compris entre m 2 et 2 m 2 1, et comme on a m 2 = log 2 m + 1, cet algorithme est en O(log m). 8

9 Remarque Dans un groupe ni d'ordre n, le calcul de l'inverse (ligne 6 de l'algorithme 4) d'un élément a peut toujours se faire par le calcul de a n 1. Ainsi le calcul de l'inverse se ramène à un calcul d'exponentiation. Toutefois, dans certaines structures il existe d'autres méthodes de calcul d'un inverse (cf le calcul d'inverse dans la section par exemple). 3 Anneaux 3.1 Structure d'anneau Dénition 3.1. Un anneau est un ensemble A muni de deux opérations internes, notées usuellement + et (ou ), tel que les propriétés suivantes soient satisfaites : groupe additif A muni de l'opération + est un groupe commutatif ; mutiplication associative l'opération est associative a, b, c A (a b) c = a (b c) ; élément neutre multiplicatif l'opération possède un élément neutre e A a A a e = e a = a ; distributivité l'opération est distributive par rapport à + a, b, c A a (b + c) = a b + a c, et (b + c) a = b a + c a. L'anneau est dit commutatif si en plus l'opération l'est. On note usuellement 0 et 1 les éléments neutres pour l'addition et pour la multiplication. Exemples 1. Z muni de l'addition et de la multiplication usuelle des entiers est un anneau commutatif. 2. De même pour Q, R et C. 3. Z/nZ muni de l'addition et de la multiplication modulo n des entiers est un anneau commutatif. 4. L'ensemble R[X] des polynômes à coecients dans un anneau R, muni de l'addition et de la multiplication usuelle des polynômes est un anneau commutatif. 5. L'ensemble n (R) des matrices carrées d'ordre n à coecients dans un anneau muni de l'addition et de la multiplication usuelle est un anneau non commutatif. 3.2 Algorithme d'euclide Algorithme classique L'algorithme d'euclide classique permet de calculer le pgcd de deux entiers, ou de deux polynômes. Il consiste essentiellement à eectuer des divisions euclidiennes jusqu'à obtenir un reste nul. L'algorithme 5 permet de calculer le pgcd de deux entiers positifs. Pour des entiers de signe quelconque, il sut de remarquer que pgcd(a, b) = pgcd( a, b ). Algorithme 5 Algorithme d'euclide pour calculer le pgcd de deux entiers a et b Entrée: a et b deux entiers positifs Sortie: d = pgcd(a, b) 1: Soient a 1 a et b 1 b 2: tant que b 1 0 faire 3: Calculer le quotient q et le reste r dans la division euclidienne de a 1 par b 1 4: a 1 b 1 5: b 1 r 6: n tant que 7: retourner a 1 Le tableau 7 montre les diérentes étapes de l'exécution de l'algorithme 5 sur les entiers a = 651 et b = 69. 9

10 i q r a 1 b pgcd(651,69) = 3 Tab. 7 Calcul de pgcd(651, 69) par l'algorithme Algorithme binaire L'algorithme binaire de calcul du pgcd est particulièrement bien adapté lorsque les entiers sont représentés en binaire, car aucune division n'est eectuée, les seules divisions par deux étant réalisées par de simples décalages à droite. Algorithme 6 Algorithme binaire de calcul du pgcd Entrée: a et b deux entiers positifs Sortie: d = pgcd(a, b) 1: Soient a 1 a, b 1 b et p 1 2: tant que a 1 et b 1 sont tous deux pairs faire 3: a 1 a 1 2, b 1 b 1 2 et p 2p 4: n tant que 5: tant que a 1 0 faire 6: tant que a 1 pair faire 7: a 1 a 1 2 8: n tant que 9: tant que b 1 pair faire 10: b 1 b : n tant que 12: si a 1 b 1 alors 13: a 1 (a 1 b 1 ) 2 14: sinon 15: t (b 1 a 1 ) 2 16: b 1 a 1 17: a 1 t 18: n si 19: n tant que 20: retourner p b 1 Le tableau 8 montre une trace de l'exécution de l'algorithme 6 sur les entiers a = 1200 et b = Algorithme d'euclide étendu Le théorème de Bézout stipule que le pgcd de tout couple de nombres entiers peut toujours s'exprimer comme une combinaison linéaire à coecients entiers de ces deux nombres. Théorème 3.1. Bezout Pour tout couple de nombres entiers a et b, il existe deux entiers u et v tels que pgcd(a, b) = au + bv. De tels entiers u et v sont appelés coecients de Bezout. Par exemple, pour le couple (a, b) = (651, 69), on peut prendre (u, v) = (30, 283). En eet, on a bien pgcd(651, 69) = 3 = On peut adapter l'algorithme d'euclide de calcul du pgcd pour calculer les coecients de Bezout d'un couple d'entiers. L'algorithme d'euclide étendu 7 calcule ces coecients pour un couple d'entiers positifs. Le tableau 9 montre une trace de l'exécution de l'algorithme 7 sur les entiers a = 651 et b =

11 a 1 b 1 p pgcd(1200,1152) = 48 Tab. 8 Calcul de pgcd(1200, 1152) par l'algorithme 6 Algorithme 7 Algorithme d'euclide étendu Entrée: a, b deux entiers positifs Sortie: d = pgcd(a, b) et u, v coecients de Bezout tels que d = au + bv 1: a 1 a, b 1 b 2: u 1 0, u 2 1, v 1 1, v 2 0 3: tant que b 1 0 faire 4: Calculer q, r tels que a 1 = b 1 q + r avec 0 r < b 1 5: x u 2 qu 1, y v 2 qv 1 6: a 1 b 1, b 1 r 7: u 1 u 1, u 1 x 8: v 1 v 1, v 1 x 9: n tant que 10: retourner d = a 1, u = u 2, v = v 2 Remarque : Les coecients de Bezout ne sont pas uniques. Par exemple, on a pu voir que pgcd(651, 69) = = Inverse modulaire Un entier a est inversible modulo un entier n si est seulement si a et n sont premiers entre eux, c'estàdire si leur pgcd vaut 1. Dans ce cas les coecients de Bezout u et v fournissent la relation pgcd(a, n) = 1 = nu + av. Si on la considère modulo n cette relation donne l'égalité 1 = av (mod n), ce qui revient à dire que la réduction modulo n du coecient v est l'inverse de a dans l'anneau Z/nZ, a 1 (mod n) = v (mod n). Pour calculer l'inverse modulo n d'un entier a premier avec n, il sut de calculer le coecient de a dans une relation de Bezout et réduire ce coecient modulo n. C'est ce que fait l'algorithme 8. Le tableau 10 montre une trace de l'exécution de l'algorithme 7 sur les entiers a = 217 et n = Corps 4.1 Structure de corps Dénition 4.1. Un corps est un ensemble K muni de deux opérations internes notées + et tel que 1. (K, +, ) est un anneau ; 2. tout élément non nul de K possède un inverse pour la multiplication, autrement dit (K \ {0}, ) est un groupe. 11

12 i q r u 1 u 2 v 1 v 2 a b = Tab. 9 Calcul des coecients de Bezout de a = 651 et b = 69 par l'algorithme 7 Algorithme 8 Calcul de l'inverse d'un entier inversible modulo un autre Entrée: a 1, n 2 deux entiers premiers entre eux Sortie: a 1 (mod n) (entier compris entre 1 et n 1) a 1 a, b 1 b v 1 1, v 2 0 tant que b 1 0 faire Calculer q, r tels que a 1 = b 1 q + r avec 0 r < b 1 x u 2 qu 1, y v 2 qv 1 a a 1 b 1, b 1 r v 1 v 1, v 1 x n tant que retourner v 1 (mod n) Exemples 1. Q, R et C munis de l'addition et la multiplication usuelles sont des corps innis commutatifs. 2. Si p est un nombre premier Z/pZ muni de l'addition et de la multiplication modulo p est un corps ni commutatif. 4.2 Propriétés des corps 1. L'élément neutre de l'addition est un élément absorbant pour la multiplication, c'estàdire 2. Dans un corps, on a Autrement dit, il n'existe pas de diviseurs de Corps nis a K a 0 = 0 a = 0. a a = 0 a = 0 ou a = 0. Voici quelques propriétés supplémentaires des corps nis. 1. L'ordre de l'élément neutre de la multiplication 1 dans le groupe additif (K, +) d'un corps ni K est un nombre premier. Ce nombre est appelé caractéristique du corps. 2. Le groupe multiplicatif d'un corps ni est cyclique. 4.4 Construction de corps nis Existence de corps nis non premiers Les seuls corps nis que l'on connaît à ce stade sont les corps premiers F p = Z/pZ avec p premier. Existe-t-il d'autres corps nis dont le cardinal n'est pas premier? Nous allons voir que oui mais pas pour n'importe quel cardinal. 12

13 i q r v 1 v 2 a 1 b a 1 mod 23 = 7 mod 23 = 7. Tab. 10 Calcul de (mod 23) par l'algorithme Corps à 4 éléments Cherchons un corps à quatre éléments K = {0, 1, a, b}. Considérons l'ordre m de 1 dans le groupe additif (K, +). Comme ce groupe est d'ordre 4, m divise nécessairement 4. Donc m = 1, ou 2, ou 4. De plus, on sait que l'ordre de 1 est un nombre premier. Par conséquent m = 2 et pour tout élément x K, x + x = 0. En se souvenant que la table d'addition forme un carré latin nous n'avons plus le choix et nous obtenons celle représentée par le tableau 11. Il ressort de cette table d'addition que b = 1 + a (et de a b a b b a a a b 0 1 b b a 1 0 Tab. 11 Table d'addition du corps à 4 éléments manière symétrique a = b + 1). Voyons maintenant la multiplication. Comme 0 est un élément absorbant pour la multiplication, 1 est un élément neutre, et que l'ensemble des éléments non nuls forme un groupe multiplicatif, c'est-à-dire que la table de multiplication sans la ligne et colonne correspondant à 0 est un carré latin 3 3, il n'y a qu'une seule possibilité de remplir cette table (cf 12). 0 1 a 1 + a a 1 + a a 0 a 1 + a a a 1 a Tab. 12 Table de multiplication du corps à 4 éléments Nous avons muni l'ensemble K d'une opération de groupe additif et d'une multiplication tel que les éléments non nuls de K forme aussi un groupe. Il reste à vérier que la multiplication est distributive par rapport à l'addition, ce que nous laissons à titre d'exercice. Nous avons donc obtenu un corps à quatre éléments F 4 = {0, 1, a, 1 + a}. On peut remarquer que a 2 = 1 + a ou encore a 2 a 1 = a 2 + a + 1 = 0 (souvenons nous qu'en caractéristique deux, 1 = 1). Autrement dit dans le corps F 4, a est une racine du polynôme P (X) = X 2 + X + 1 F 2 [X] (qui n'en a pas dans F 2 ). Si on observe bien les éléments de F 4 et l'arithmétique obtenue, on peut voir F 4 comme l'ensemble des polynômes à coecients dans F 2 de degré au plus 1. L'addition dans ce corps n'est alors rien d'autre que l'addition usuelle des polynômes et la multiplication dans ce corps rien d'autre que la multiplication des polynômes modulo le polynôme P (X) = X 2 + X + 1, la réduction modulo P (X) revenant à considérer que X 2 = X + 1. Remarques : Cette situation est tout à fait analogue à celle utilisée pour dénir le corps C des nombres complexes, dans lequel on exprime souvent les nombres complexes sous forme algébrique z = a + ib, avec 13

14 a, b R, forme qui exprime les nombres complexes sous forme polynomiale de degré au plus 1 en i. La forme algébrique de la somme de deux nombres complexes est dénie comme la somme des polynômes en i les représentants, et celle du produit par multiplication polynomiale réduite modulo le polynôme i = 0 (i 2 ). Choix du polynôme : Pour dénir le corps F 4, aurait-on pu choisir un autre polynôme? Pour l'addition peu importe le choix du polynôme. En revanche, le polynôme inue sur la multiplication. Par exemple, aurait-on pu choisir Q(X) = X 2 + X? La réponse est négative, parce qu'alors on aurait a(1 + a) = a + a 2 = 0, et on aurait deux éléments non nuls de K dont le produit est nul, ce qui est impossible dans un corps. L'existence de diviseurs de zéro provient du fait que le polynôme Q(X) = X(1 + X) n'est pas irréductible dans F 2 [X]. 4.5 Corps nis à q = p n éléments Polynômes irréductibles Dénition 4.2. Soit K un corps, et P (X) K[X] un polynôme. Le polynôme P est irréductible s'il ne peut pas se mettre sous la forme d'un produit de deux polynômes de degré au moins égal à 1. Les polynômes irréductibles sont aux polynômes ce que sont les nombres premiers aux nombres entiers. On peut en particulier montrer que tout polynôme se décompose de manière unique (à l'ordre près des facteurs et à un coecient multiplicatif constant près) en un produit de polynômes irréductibles. Exemples : 1. P (X) = X est irréductible dans R[X]. 2. En revanche, P (X) = X n'est pas irréductible dans F 2 [X]. 3. Les polynômes de degré 3 irréductibles dans F 2 [X] sont X 3 + X et X 3 + X De manière générale, tout polynôme de degré 1 est irréductible dans K[X] et ceci quelque soit le corps, ni ou non. Quels sont les polynômes irréductibles? Combien y en a-t-il? Comment les reconnaître? La réponse est facile pour les corps des réels et des complexes. 1. Dans R[X] les polynômes irréductibles sont tous les polynômes de degré 1 et les polynômes de degré 2 dont le discriminant (le fameux = b 2 4ac) est négatif. 2. Dans C[X] les polynômes irréductibles sont tous les polynômes de degré 1 et eux seulement. Dans le cas des corps nis, on admettra le théorème suivant qui donne l'existence de polynômes irréductibles de tout degré. Théorème 4.1. Soit p un nombre premier. Pour tout entier n 1 il existe un polynôme irréductible à coecients dans F p de degré n. Le théorème suivant donne une condition nécessaire et susante pour qu'un polynôme à coecient dans un corps ni soit irréductible. Théorème 4.2. Soit F q un corps à q Un polynôme P F q [X] de degré n 1 est irréductible si et seulement si 1. P divise le polynôme X qn X, 2. et pgcd(x qn/t X, P ) = 1 pour tout diviseur premier t de n. Dès lors que l'on connaît les diviseurs premiers du degré n (ce qui est équivalent à connaître la factorisation de n) ce théorème donne un algorithme de décision d'irréductibilité d'un polynôme. C'est l'algorithme 9. 14

15 Algorithme 9 Test d'irréductibilité d'un polynôme Entrée: P (X) F q [X] polynôme de degré n 1. Sortie: décision sur l'irréductibilité de P. 1: A X qn (mod P (X)) 2: si A X alors 3: conclure que P est réductible. 4: n si 5: pour chaque facteur premier t de n faire 6: si pgcd(x qn/t x, P ) 1 alors 7: conclure que P est réductible. 8: n si 9: n pour 10: conclure que P est irréductible Application à la construction de corps nis Théorème 4.3. Soit n 1 un entier, p un nombre premier et P (X) un polynôme de degré n irréductible dans F p [X]. Alors l'ensemble F p [X]/(P (X)) des polynômes à coecients dans F p de degré strictement plus petit que n, muni de l'addition usuelle et de la multiplication modulo P (X) est un coprs ni à q = p n éléments. Ce théorème est analogue au fait que les entiers considérés modulo un nombre premier forment un corps. Corollaire 4.1. Soit p un nombre premier. Pour tout entier n 1 il existe un corps ni à q n éléments. 5 Table de nombres premiers Tab. 13 Table des nombres premiers jusqu'à

16 Liste des algorithmes 1 Addition de deux entiers multiprecision de même signe Addition de deux polynômes Multiplication de deux entiers multiprécision Exponentiation dans un groupe Algorithme d'euclide pour calculer le pgcd de deux entiers a et b Algorithme binaire de calcul du pgcd Algorithme d'euclide étendu Calcul de l'inverse d'un entier inversible modulo un autre Test d'irréductibilité d'un polynôme (version du 18 mars 2010.) 16

Structures algébriques

Structures algébriques Structures algébriques 1. Lois de composition s Soit E un ensemble. Une loi de composition interne sur E est une application de E E dans E. Soient E et F deux ensembles. Une loi de composition externe

Plus en détail

Introduction à l étude des Corps Finis

Introduction à l étude des Corps Finis Introduction à l étude des Corps Finis Robert Rolland (Résumé) 1 Introduction La structure de corps fini intervient dans divers domaines des mathématiques, en particulier dans la théorie de Galois sur

Plus en détail

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

Exercices - Polynômes : corrigé. Opérations sur les polynômes Opérations sur les polynômes Exercice 1 - Carré - L1/Math Sup - Si P = Q est le carré d un polynôme, alors Q est nécessairement de degré, et son coefficient dominant est égal à 1. On peut donc écrire Q(X)

Plus en détail

Quelques tests de primalité

Quelques tests de primalité Quelques tests de primalité J.-M. Couveignes (merci à T. Ezome et R. Lercier) Institut de Mathématiques de Bordeaux & INRIA Bordeaux Sud-Ouest Jean-Marc.Couveignes@u-bordeaux.fr École de printemps C2 Mars

Plus en détail

NOTATIONS PRÉLIMINAIRES

NOTATIONS PRÉLIMINAIRES Pour le Jeudi 14 Octobre 2010 NOTATIONS Soit V un espace vectoriel réel ; l'espace vectoriel des endomorphismes de l'espace vectoriel V est désigné par L(V ). Soit f un endomorphisme de l'espace vectoriel

Plus en détail

Cryptographie et fonctions à sens unique

Cryptographie et fonctions à sens unique Cryptographie et fonctions à sens unique Pierre Rouchon Centre Automatique et Systèmes Mines ParisTech pierre.rouchon@mines-paristech.fr Octobre 2012 P.Rouchon (Mines ParisTech) Cryptographie et fonctions

Plus en détail

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

Nombres premiers. Comment reconnaître un nombre premier? Mais... Introduction Nombres premiers Nombres premiers Rutger Noot IRMA Université de Strasbourg et CNRS Le 19 janvier 2011 IREM Strasbourg Definition Un nombre premier est un entier naturel p > 1 ayant exactement

Plus en détail

Recherche dans un tableau

Recherche dans un tableau Chapitre 3 Recherche dans un tableau 3.1 Introduction 3.1.1 Tranche On appelle tranche de tableau, la donnée d'un tableau t et de deux indices a et b. On note cette tranche t.(a..b). Exemple 3.1 : 3 6

Plus en détail

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

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que Introduction. On suppose connus les ensembles N (des entiers naturels), Z des entiers relatifs et Q (des nombres rationnels). On s est rendu compte, depuis l antiquité, que l on ne peut pas tout mesurer

Plus en détail

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

Mathématiques Algèbre et géométrie Daniel FREDON Myriam MAUMY-BERTRAND Frédéric BERTRAND Mathématiques Algèbre et géométrie en 30 fiches Daniel FREDON Myriam MAUMY-BERTRAND Frédéric BERTRAND Mathématiques Algèbre et géométrie en 30 fiches

Plus en détail

D'UN THÉORÈME NOUVEAU

D'UN THÉORÈME NOUVEAU DÉMONSTRATION D'UN THÉORÈME NOUVEAU CONCERNANT LES NOMBRES PREMIERS 1. (Nouveaux Mémoires de l'académie royale des Sciences et Belles-Lettres de Berlin, année 1771.) 1. Je viens de trouver, dans un excellent

Plus en détail

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

Définition : On obtient les nombres entiers en ajoutant ou retranchant des unités à zéro. Chapitre : Les nombres rationnels Programme officiel BO du 8/08/08 Connaissances : Diviseurs communs à deux entiers, PGCD. Fractions irréductibles. Opérations sur les nombres relatifs en écriture fractionnaire.

Plus en détail

Chapitre VI - Méthodes de factorisation

Chapitre VI - Méthodes de factorisation Université Pierre et Marie Curie Cours de cryptographie MM067-2012/13 Alain Kraus Chapitre VI - Méthodes de factorisation Le problème de la factorisation des grands entiers est a priori très difficile.

Plus en détail

INF 4420: Sécurité Informatique Cryptographie II

INF 4420: Sécurité Informatique Cryptographie II : Cryptographie II José M. Fernandez M-3106 340-4711 poste 5433 Aperçu Crypto II Types de chiffrement Par bloc vs. par flux Symétrique vs. asymétrique Algorithmes symétriques modernes DES AES Masque jetable

Plus en détail

2. RAPPEL DES TECHNIQUES DE CALCUL DANS R

2. RAPPEL DES TECHNIQUES DE CALCUL DANS R 2. RAPPEL DES TECHNIQUES DE CALCUL DANS R Dans la mesure où les résultats de ce chapitre devraient normalement être bien connus, il n'est rappelé que les formules les plus intéressantes; les justications

Plus en détail

Fonctions de plusieurs variables : dérivés partielles, diérentielle. Fonctions composées. Fonctions de classe C 1. Exemples

Fonctions de plusieurs variables : dérivés partielles, diérentielle. Fonctions composées. Fonctions de classe C 1. Exemples 45 Fonctions de plusieurs variables : dérivés partielles, diérentielle. Fonctions composées. Fonctions de classe C 1. Exemples Les espaces vectoriels considérés sont réels, non réduits au vecteur nul et

Plus en détail

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.

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes. 1 Définitions, notations Calcul matriciel Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes. On utilise aussi la notation m n pour le

Plus en détail

Licence Sciences, Technologies, Santé Mention Informatique Codage de l'information

Licence Sciences, Technologies, Santé Mention Informatique Codage de l'information 1 Licence Sciences, Technologies, Santé Mention Informatique Codage de l'information année universitaire 2013-2014 Licence Creative Commons cbea 2 Introduction Objectifs du cours Le cours de Codage de

Plus en détail

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

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux. UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases

Plus en détail

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

La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1 La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1 La licence Mathématiques et Economie-MASS de l Université des Sciences Sociales de Toulouse propose sur les trois

Plus en détail

CORRECTION EXERCICES ALGORITHME 1

CORRECTION EXERCICES ALGORITHME 1 CORRECTION 1 Mr KHATORY (GIM 1 A) 1 Ecrire un algorithme permettant de résoudre une équation du second degré. Afficher les solutions! 2 2 b b 4ac ax bx c 0; solution: x 2a Solution: ALGORITHME seconddegré

Plus en détail

Introduction a l'algorithmique des objets partages. Robert Cori. Antoine Petit. Lifac, ENS Cachan, 94235 Cachan Cedex. Resume

Introduction a l'algorithmique des objets partages. Robert Cori. Antoine Petit. Lifac, ENS Cachan, 94235 Cachan Cedex. Resume Introduction a l'algorithmique des objets partages Bernadette Charron{Bost Robert Cori Lix, Ecole Polytechnique, 91128 Palaiseau Cedex, France, charron@lix.polytechnique.fr cori@lix.polytechnique.fr Antoine

Plus en détail

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

Extrait du poly de Stage de Grésillon 1, août 2010 MINI-COURS SUR LES POLYNÔMES À UNE VARIABLE Extrait du poly de Stage de Grésillon 1, août 2010 Table des matières I Opérations sur les polynômes 3 II Division euclidienne et racines 5 1 Division euclidienne

Plus en détail

Calculateur quantique: factorisation des entiers

Calculateur quantique: factorisation des entiers Calculateur quantique: factorisation des entiers Plan Introduction Difficulté de la factorisation des entiers Cryptographie et la factorisation Exemple RSA L'informatique quantique L'algorithme quantique

Plus en détail

La cryptographie du futur

La cryptographie du futur La cryptographie du futur Abderrahmane Nitaj Laboratoire de Mathématiques Nicolas Oresme Université de Caen, France nitaj@math.unicaen.fr http://www.math.unicaen.fr/~nitaj Résumé Sans nous rendre compte,

Plus en détail

Polynômes à plusieurs variables. Résultant

Polynômes à plusieurs variables. Résultant Polynômes à plusieurs variables. Résultant Christophe Ritzenthaler 1 Relations coefficients-racines. Polynômes symétriques Issu de [MS] et de [Goz]. Soit A un anneau intègre. Définition 1.1. Soit a A \

Plus en détail

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

Problèmes arithmétiques issus de la cryptographie reposant sur les réseaux Problèmes arithmétiques issus de la cryptographie reposant sur les réseaux Damien Stehlé LIP CNRS/ENSL/INRIA/UCBL/U. Lyon Perpignan, Février 2011 Damien Stehlé Problèmes arithmétiques issus de la cryptographie

Plus en détail

Calcul de développements de Puiseux et application au calcul du groupe de monodromie d'une courbe algébrique plane

Calcul de développements de Puiseux et application au calcul du groupe de monodromie d'une courbe algébrique plane Calcul de développements de Puiseux et application au calcul du groupe de monodromie d'une courbe algébrique plane Poteaux Adrien XLIM-DMI, UMR-CNRS 6172 Université de Limoges Soutenance de thèse 15 octobre

Plus en détail

Ordonnancement. N: nains de jardin. X: peinture extérieure. E: électricité T: toit. M: murs. F: fondations CHAPTER 1

Ordonnancement. N: nains de jardin. X: peinture extérieure. E: électricité T: toit. M: murs. F: fondations CHAPTER 1 CHAPTER 1 Ordonnancement 1.1. Étude de cas Ordonnancement de tâches avec contraintes de précédences 1.1.1. Exemple : construction d'une maison. Exercice. On veut construire une maison, ce qui consiste

Plus en détail

Factorisation d entiers (première partie)

Factorisation d entiers (première partie) Factorisation d entiers ÉCOLE DE THEORIE DES NOMBRES 0 Factorisation d entiers (première partie) Francesco Pappalardi Théorie des nombres et algorithmique 22 novembre, Bamako (Mali) Factorisation d entiers

Plus en détail

Programmation linéaire

Programmation linéaire 1 Programmation linéaire 1. Le problème, un exemple. 2. Le cas b = 0 3. Théorème de dualité 4. L algorithme du simplexe 5. Problèmes équivalents 6. Complexité de l Algorithme 2 Position du problème Soit

Plus en détail

Examen optimisation Centrale Marseille (2008) et SupGalilee (2008)

Examen optimisation Centrale Marseille (2008) et SupGalilee (2008) Examen optimisation Centrale Marseille (28) et SupGalilee (28) Olivier Latte, Jean-Michel Innocent, Isabelle Terrasse, Emmanuel Audusse, Francois Cuvelier duree 4 h Tout resultat enonce dans le texte peut

Plus en détail

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

Pour l épreuve d algèbre, les calculatrices sont interdites. Les pages qui suivent comportent, à titre d exemples, les questions d algèbre depuis juillet 003 jusqu à juillet 015, avec leurs solutions. Pour l épreuve d algèbre, les calculatrices sont interdites.

Plus en détail

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

Cours 02 : Problème général de la programmation linéaire Cours 02 : Problème général de la programmation linéaire Cours 02 : Problème général de la Programmation Linéaire. 5 . Introduction Un programme linéaire s'écrit sous la forme suivante. MinZ(ou maxw) =

Plus en détail

ÉPREUVE COMMUNE DE TIPE 2008 - Partie D

ÉPREUVE COMMUNE DE TIPE 2008 - Partie D ÉPREUVE COMMUNE DE TIPE 2008 - Partie D TITRE : Les Fonctions de Hachage Temps de préparation :.. 2 h 15 minutes Temps de présentation devant le jury :.10 minutes Entretien avec le jury :..10 minutes GUIDE

Plus en détail

Vers l'ordinateur quantique

Vers l'ordinateur quantique Cours A&G Vers l'ordinateur quantique Données innies On a vu dans les chapîtres précédents qu'un automate permet de représenter de manière nie (et même compacte) une innité de données. En eet, un automate

Plus en détail

Carl-Louis-Ferdinand von Lindemann (1852-1939)

Carl-Louis-Ferdinand von Lindemann (1852-1939) Par Boris Gourévitch "L'univers de Pi" http://go.to/pi314 sai1042@ensai.fr Alors ça, c'est fort... Tranches de vie Autour de Carl-Louis-Ferdinand von Lindemann (1852-1939) est transcendant!!! Carl Louis

Plus en détail

Couples de variables aléatoires discrètes

Couples de variables aléatoires discrètes Couples de variables aléatoires discrètes ECE Lycée Carnot mai Dans ce dernier chapitre de probabilités de l'année, nous allons introduire l'étude de couples de variables aléatoires, c'est-à-dire l'étude

Plus en détail

Complexité. Licence Informatique - Semestre 2 - Algorithmique et Programmation

Complexité. Licence Informatique - Semestre 2 - Algorithmique et Programmation Complexité Objectifs des calculs de complexité : - pouvoir prévoir le temps d'exécution d'un algorithme - pouvoir comparer deux algorithmes réalisant le même traitement Exemples : - si on lance le calcul

Plus en détail

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

FICHE UE Licence/Master Sciences, Technologies, Santé Mention Informatique NOM DE L'UE : Algorithmique et programmation C++ LICENCE INFORMATIQUE Non Alt Alt S1 S2 S3 S4 S5 S6 Parcours : IL (Ingénierie Logicielle) SRI (Systèmes et Réseaux Informatiques) MASTER INFORMATIQUE Non

Plus en détail

chapitre 4 Nombres de Catalan

chapitre 4 Nombres de Catalan chapitre 4 Nombres de Catalan I Dénitions Dénition 1 La suite de Catalan (C n ) n est la suite dénie par C 0 = 1 et, pour tout n N, C n+1 = C k C n k. Exemple 2 On trouve rapidement C 0 = 1, C 1 = 1, C

Plus en détail

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII ALGORITHMIQUE II NOTION DE COMPLEXITE 1 2 Comment choisir entre différents algorithmes pour résoudre un même problème? Plusieurs critères de choix : Exactitude Simplicité Efficacité (but de ce chapitre)

Plus en détail

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

Cryptographie. Master de cryptographie Architectures PKI. 23 mars 2015. Université Rennes 1 Cryptographie Master de cryptographie Architectures PKI 23 mars 2015 Université Rennes 1 Master Crypto (2014-2015) Cryptographie 23 mars 2015 1 / 17 Cadre Principe de Kercho : "La sécurité d'un système

Plus en détail

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/ Recherche opérationnelle Les démonstrations et les exemples seront traités en cours Souad EL Bernoussi Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/ Table des matières 1 Programmation

Plus en détail

Sub CalculAnnuite() Const TITRE As String = "Calcul d'annuité de remboursement d'un emprunt"

Sub CalculAnnuite() Const TITRE As String = Calcul d'annuité de remboursement d'un emprunt TD1 : traduction en Visual BASIC des exemples du cours sur les structures de contrôle de l'exécution page 1 'TRADUCTION EN VBA DES EXEMPLES ALGORITHMIQUES SUR LES STRUCTURES 'DE CONTROLE DE L'EXECUTION

Plus en détail

Triangle de Pascal dans Z/pZ avec p premier

Triangle de Pascal dans Z/pZ avec p premier Triangle de Pascal dans Z/pZ avec p premier Vincent Lefèvre (Lycée P. de Fermat, Toulouse) 1990, 1991 1 Introduction Nous allons étudier des propriétés du triangle de Pascal dans Z/pZ, p étant un nombre

Plus en détail

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

Cryptographie RSA. Introduction Opérations Attaques. Cryptographie RSA NGUYEN Tuong Lan - LIU Yi 1 Cryptographie RSA Introduction Opérations Attaques Cryptographie RSA NGUYEN Tuong Lan - LIU Yi 1 Introduction Historique: Rivest Shamir Adleman ou RSA est un algorithme asymétrique de cryptographie à clé

Plus en détail

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

Groupe symétrique. Chapitre II. 1 Définitions et généralités Chapitre II Groupe symétrique 1 Définitions et généralités Définition. Soient n et X l ensemble 1,..., n. On appelle permutation de X toute application bijective f : X X. On note S n l ensemble des permutations

Plus en détail

Représentation d un entier en base b

Représentation d un entier en base b Représentation d un entier en base b 13 octobre 2012 1 Prérequis Les bases de la programmation en langage sont supposées avoir été travaillées L écriture en base b d un entier est ainsi défini à partir

Plus en détail

Axiomatique de N, construction de Z

Axiomatique de N, construction de Z Axiomatique de N, construction de Z Table des matières 1 Axiomatique de N 2 1.1 Axiomatique ordinale.................................. 2 1.2 Propriété fondamentale : Le principe de récurrence.................

Plus en détail

Peut-on tout programmer?

Peut-on tout programmer? Chapitre 8 Peut-on tout programmer? 8.1 Que peut-on programmer? Vous voici au terme de votre initiation à la programmation. Vous avez vu comment représenter des données de plus en plus structurées à partir

Plus en détail

Cours d arithmétique Première partie

Cours d arithmétique Première partie Cours d arithmétique Première partie Pierre Bornsztein Xavier Caruso Pierre Nolin Mehdi Tibouchi Décembre 2004 Ce document est la première partie d un cours d arithmétique écrit pour les élèves préparant

Plus en détail

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

Cours arithmétique et groupes. Licence première année, premier semestre Cours arithmétique et groupes. Licence première année, premier semestre Raphaël Danchin, Rejeb Hadiji, Stéphane Jaffard, Eva Löcherbach, Jacques Printems, Stéphane Seuret Année 2006-2007 2 Table des matières

Plus en détail

Conversion d un entier. Méthode par soustraction

Conversion d un entier. Méthode par soustraction Conversion entre bases Pour passer d un nombre en base b à un nombre en base 10, on utilise l écriture polynomiale décrite précédemment. Pour passer d un nombre en base 10 à un nombre en base b, on peut

Plus en détail

Sécurité de l'information

Sécurité de l'information Sécurité de l'information Sylvain Duquesne Université Rennes 1, laboratoire de Mathématiques 24 novembre 2010 Les Rendez-Vous Mathématiques de l'irem S. Duquesne (Université Rennes 1) Sécurité de l'information

Plus en détail

3 Approximation de solutions d équations

3 Approximation de solutions d équations 3 Approximation de solutions d équations Une équation scalaire a la forme générale f(x) =0où f est une fonction de IR dans IR. Un système de n équations à n inconnues peut aussi se mettre sous une telle

Plus en détail

OPTIMISATION À UNE VARIABLE

OPTIMISATION À UNE VARIABLE OPTIMISATION À UNE VARIABLE Sommaire 1. Optimum locaux d'une fonction... 1 1.1. Maximum local... 1 1.2. Minimum local... 1 1.3. Points stationnaires et points critiques... 2 1.4. Recherche d'un optimum

Plus en détail

Cours d Informatique

Cours d Informatique Cours d Informatique 1ère année SM/SMI 2007/2008, Info 2 Département de Mathématiques et d Informatique, Université Mohammed V elbenani@hotmail.com sayah@fsr.ac.ma 2007/2008 Info2, 1ère année SM/SMI 1

Plus en détail

Une forme générale de la conjecture abc

Une forme générale de la conjecture abc Une forme générale de la conjecture abc Nicolas Billerey avec l aide de Manuel Pégourié-Gonnard 6 août 2009 Dans [Lan99a], M Langevin montre que la conjecture abc est équivalente à la conjecture suivante

Plus en détail

Chapitre 3. Quelques fonctions usuelles. 1 Fonctions logarithme et exponentielle. 1.1 La fonction logarithme

Chapitre 3. Quelques fonctions usuelles. 1 Fonctions logarithme et exponentielle. 1.1 La fonction logarithme Chapitre 3 Quelques fonctions usuelles 1 Fonctions logarithme et eponentielle 1.1 La fonction logarithme Définition 1.1 La fonction 7! 1/ est continue sur ]0, +1[. Elle admet donc des primitives sur cet

Plus en détail

Initiation à la programmation en Python

Initiation à la programmation en Python I-Conventions Initiation à la programmation en Python Nom : Prénom : Une commande Python sera écrite en caractère gras. Exemples : print 'Bonjour' max=input("nombre maximum autorisé :") Le résultat de

Plus en détail

FONDEMENTS DES MATHÉMATIQUES

FONDEMENTS DES MATHÉMATIQUES FONDEMENTS DES MATHÉMATIQUES AYBERK ZEYTİN 1. DIVISIBILITÉ Comment on peut écrire un entier naturel comme un produit des petits entiers? Cette question a une infinitude d interconnexions entre les nombres

Plus en détail

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

Contexte. Pour cela, elles doivent être très compliquées, c est-à-dire elles doivent être très différentes des fonctions simples, Non-linéarité Contexte Pour permettre aux algorithmes de cryptographie d être sûrs, les fonctions booléennes qu ils utilisent ne doivent pas être inversées facilement. Pour cela, elles doivent être très

Plus en détail

Raisonnement par récurrence Suites numériques

Raisonnement par récurrence Suites numériques Chapitre 1 Raisonnement par récurrence Suites numériques Terminale S Ce que dit le programme : CONTENUS CAPACITÉS ATTENDUES COMMENTAIRES Raisonnement par récurrence. Limite finie ou infinie d une suite.

Plus en détail

Premiers exercices d Algèbre. Anne-Marie Simon

Premiers exercices d Algèbre. Anne-Marie Simon Premiers exercices d Algèbre Anne-Marie Simon première version: 17 août 2005 version corrigée et complétée le 12 octobre 2010 ii Table des matières 1 Quelques structures ensemblistes 1 1.0 Ensembles, relations,

Plus en détail

1 Introduction au codage

1 Introduction au codage CélestineOscarDésiréAnatoleGastonEugène 1 Introduction au codage 1.1 Les ensembles L ensemble de tout les ensembles est Dieu lui-même. Kantor Ensemble des parties d un ensemble désigne l ensemble des sous-ensembles

Plus en détail

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

Résumé du cours d algèbre 1, 2013-2014. Sandra Rozensztajn. UMPA, ENS de Lyon, sandra.rozensztajn@ens-lyon.fr Résumé du cours d algèbre 1, 2013-2014 Sandra Rozensztajn UMPA, ENS de Lyon, sandra.rozensztajn@ens-lyon.fr CHAPITRE 0 Relations d équivalence et classes d équivalence 1. Relation d équivalence Définition

Plus en détail

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

Développements limités. Notion de développement limité MT12 - ch2 Page 1/8 Développements limités Dans tout ce chapitre, I désigne un intervalle de R non vide et non réduit à un point. I Notion de développement limité Dans tout ce paragraphe, a désigne un

Plus en détail

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

108y= 1 où x et y sont des entiers Polynésie Juin 202 Série S Exercice Partie A On considère l équation ( ) relatifs E :x y= où x et y sont des entiers Vérifier que le couple ( ;3 ) est solution de cette équation 2 Déterminer l ensemble

Plus en détail

CH.6 Propriétés des langages non contextuels

CH.6 Propriétés des langages non contextuels CH.6 Propriétés des langages non contetuels 6.1 Le lemme de pompage 6.2 Les propriétés de fermeture 6.3 Les problèmes de décidabilité 6.4 Les langages non contetuels déterministes utomates ch6 1 6.1 Le

Plus en détail

Définition 0,752 = 0,7 + 0,05 + 0,002 SYSTÈMES DE NUMÉRATION POSITIONNELS = 7 10 1 + 5 10 2 + 2 10 3

Définition 0,752 = 0,7 + 0,05 + 0,002 SYSTÈMES DE NUMÉRATION POSITIONNELS = 7 10 1 + 5 10 2 + 2 10 3 8 Systèmes de numération INTRODUCTION SYSTÈMES DE NUMÉRATION POSITIONNELS Dans un système positionnel, le nombre de symboles est fixe On représente par un symbole chaque chiffre inférieur à la base, incluant

Plus en détail

Problème : Calcul d'échéanciers de prêt bancaire (15 pt)

Problème : Calcul d'échéanciers de prêt bancaire (15 pt) Problème : Calcul d'échéanciers de prêt bancaire (15 pt) 1 Principe d'un prêt bancaire et dénitions Lorsque vous empruntez de l'argent dans une banque, cet argent (appelé capital) vous est loué. Chaque

Plus en détail

Licence Sciences et Technologies Examen janvier 2010

Licence Sciences et Technologies Examen janvier 2010 Université de Provence Introduction à l Informatique Licence Sciences et Technologies Examen janvier 2010 Année 2009-10 Aucun document n est autorisé Les exercices peuvent être traités dans le désordre.

Plus en détail

CHAPITRE VIII : Les circuits avec résistances ohmiques

CHAPITRE VIII : Les circuits avec résistances ohmiques CHAPITRE VIII : Les circuits avec résistances ohmiques VIII. 1 Ce chapitre porte sur les courants et les différences de potentiel dans les circuits. VIII.1 : Les résistances en série et en parallèle On

Plus en détail

Rapport de stage de fin de première année : exemples de groupes, leur traitement par MAGMA, et applications en cryptographie

Rapport de stage de fin de première année : exemples de groupes, leur traitement par MAGMA, et applications en cryptographie Rapport de stage de fin de première année : exemples de groupes, leur traitement par MAGMA, et applications en cryptographie Encadré par Guénaël Renault Tristan Vaccon juin 2009-juillet 2009 Table des

Plus en détail

Cours de Probabilités et de Statistique

Cours de Probabilités et de Statistique Cours de Probabilités et de Statistique Licence 1ère année 2007/2008 Nicolas Prioux Université Paris-Est Cours de Proba-Stat 2 L1.2 Science-Éco Chapitre Notions de théorie des ensembles 1 1.1 Ensembles

Plus en détail

Correction TD algorithmique

Correction TD algorithmique Affectation Correction TD algorithmique Exercice 1 algo affect1b b 5 a b+1 b 2 Il vaut faire passer la notion de variable et la notion de stockage mémoire. Une variable n a donc pas d historique et à un

Plus en détail

Par combien de zéros se termine N!?

Par combien de zéros se termine N!? La recherche à l'école page 79 Par combien de zéros se termine N!? par d es co llèg es An dré Do ucet de Nanterre et Victor Hugo de Noisy le Grand en seignants : Danielle Buteau, Martine Brunstein, Marie-Christine

Plus en détail

Une version javascript sera disponible directement dans le cours prochainement.

Une version javascript sera disponible directement dans le cours prochainement. Author : Cédric Vanconingsloo Ce cours est principalement axé sur la compréhension du fonctionnement d'un ordinateur et l'étude du seul langage qu'il connaisse, le binaire. De ce fait, le cours est relativement

Plus en détail

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

UNIVERSITE IBN ZOHR Faculté des sciences Agadir. Filière SMA & SMI. Semestre 1. Module : Algèbre 1 UNIVERSITE IBN ZOHR Faculté des sciences Agadir Filière SMA & SMI Semestre 1 Module : Algèbre 1 Année universitaire : 011-01 A. Redouani & E. Elqorachi 1 Contenu du Module : Chapitre 1 : Introduction Logique

Plus en détail

Cours de mathématiques

Cours de mathématiques DEUG MIAS premier niveau Cours de mathématiques année 2003/2004 Guillaume Legendre (version révisée du 3 avril 2015) Table des matières 1 Éléments de logique 1 1.1 Assertions...............................................

Plus en détail

6. Les différents types de démonstrations

6. Les différents types de démonstrations LES DIFFÉRENTS TYPES DE DÉMONSTRATIONS 33 6. Les différents types de démonstrations 6.1. Un peu de logique En mathématiques, une démonstration est un raisonnement qui permet, à partir de certains axiomes,

Plus en détail

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par

Plus en détail

Problème 1 : applications du plan affine

Problème 1 : applications du plan affine Problème 1 : applications du plan affine Notations On désigne par GL 2 (R) l ensemble des matrices 2 2 inversibles à coefficients réels. Soit un plan affine P muni d un repère (O, I, J). Les coordonnées

Plus en détail

Date : 18.11.2013 Tangram en carré page

Date : 18.11.2013 Tangram en carré page Date : 18.11.2013 Tangram en carré page Titre : Tangram en carré Numéro de la dernière page : 14 Degrés : 1 e 4 e du Collège Durée : 90 minutes Résumé : Le jeu de Tangram (appelé en chinois les sept planches

Plus en détail

Travaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation

Travaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation Université de Savoie Module ETRS711 Travaux pratiques Compression en codage de Huffman 1. Organisation du projet 1.1. Objectifs Le but de ce projet est d'écrire un programme permettant de compresser des

Plus en détail

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

Résolution de systèmes linéaires par des méthodes directes Résolution de systèmes linéaires par des méthodes directes J. Erhel Janvier 2014 1 Inverse d une matrice carrée et systèmes linéaires Ce paragraphe a pour objet les matrices carrées et les systèmes linéaires.

Plus en détail

Informatique Générale

Informatique Générale Informatique Générale Guillaume Hutzler Laboratoire IBISC (Informatique Biologie Intégrative et Systèmes Complexes) guillaume.hutzler@ibisc.univ-evry.fr Cours Dokeos 625 http://www.ens.univ-evry.fr/modx/dokeos.html

Plus en détail

Réalisabilité et extraction de programmes

Réalisabilité et extraction de programmes Mercredi 9 mars 2005 Extraction de programme: qu'est-ce que c'est? Extraire à partir d'une preuve un entier x N tel que A(x). π x N A(x) (un témoin) (En fait, on n'extrait pas un entier, mais un programme

Plus en détail

Cours d Analyse. Fonctions de plusieurs variables

Cours d Analyse. Fonctions de plusieurs variables Cours d Analyse Fonctions de plusieurs variables Licence 1ère année 2007/2008 Nicolas Prioux Université de Marne-la-Vallée Table des matières 1 Notions de géométrie dans l espace et fonctions à deux variables........

Plus en détail

Introduction à l'informatique. Vincent Boyer et Jean Méhat

Introduction à l'informatique. Vincent Boyer et Jean Méhat Introduction à l'informatique Vincent Boyer et Jean Méhat 19 février 2010 Copyright (C) 2009 Jean Méhat Permission is granted to copy, distribute and/or modify this document under the terms of the GNU

Plus en détail

Tests de primalité et cryptographie

Tests de primalité et cryptographie UNIVERSITE D EVRY VAL D ESSONNE Tests de primalité et cryptographie Latifa Elkhati Chargé de TER : Mr.Abdelmajid.BAYAD composé d une courbe de Weierstrass et la fonction (exp(x), cos (y), cos(z) ) Maîtrise

Plus en détail

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES Leçon 11 PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES Dans cette leçon, nous retrouvons le problème d ordonnancement déjà vu mais en ajoutant la prise en compte de contraintes portant sur les ressources.

Plus en détail

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

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé Baccalauréat ES Pondichéry 7 avril 204 Corrigé EXERCICE 4 points Commun à tous les candidats. Proposition fausse. La tangente T, passant par les points A et B d abscisses distinctes, a pour coefficient

Plus en détail

LE PROBLEME DU PLUS COURT CHEMIN

LE PROBLEME DU PLUS COURT CHEMIN LE PROBLEME DU PLUS COURT CHEMIN Dans cette leçon nous définissons le modèle de plus court chemin, présentons des exemples d'application et proposons un algorithme de résolution dans le cas où les longueurs

Plus en détail

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

Exo7. Matrice d une application linéaire. Corrections d Arnaud Bodin. Exo7 Matrice d une application linéaire Corrections d Arnaud odin. Exercice Soit R muni de la base canonique = ( i, j). Soit f : R R la projection sur l axe des abscisses R i parallèlement à R( i + j).

Plus en détail

Programmation Objet - Cours II

Programmation Objet - Cours II Programmation Objet - Cours II - Exercices - Page 1 Programmation Objet - Cours II Exercices Auteur : E.Thirion - Dernière mise à jour : 05/07/2015 Les exercices suivants sont en majorité des projets à

Plus en détail

1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : Florent.Hivert@lri.fr Page personnelle : http://www.lri.fr/ hivert

1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : Florent.Hivert@lri.fr Page personnelle : http://www.lri.fr/ hivert 1 de 46 Algorithmique Trouver et Trier Florent Hivert Mél : Florent.Hivert@lri.fr Page personnelle : http://www.lri.fr/ hivert 2 de 46 Algorithmes et structures de données La plupart des bons algorithmes

Plus en détail

Algorithmes récursifs

Algorithmes récursifs Licence 1 MASS - Algorithmique et Calcul Formel S. Verel, M.-E. Voge www.i3s.unice.fr/ verel 23 mars 2007 Objectifs de la séance 3 écrire des algorithmes récursifs avec un seul test rechercher un élément

Plus en détail

Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot

Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot Chapitre 5 Arithmétique binaire L es codes sont manipulés au quotidien sans qu on s en rende compte, et leur compréhension est quasi instinctive. Le seul fait de lire fait appel au codage alphabétique,

Plus en détail