Cryptographie : Protocoles à base de logarithme discret

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

Download "Cryptographie : Protocoles à base de logarithme discret"

Transcription

1 LICENCE SCIENCES ET TECHNOLOGIES U.E. de Travaux d Initiatives Personnels et Encadrés Cryptographie : Protocoles à base de logarithme discret BAH Mamadou Madjou Encadrants : ROBLOT Xavier DELAUNAY Christophe Responsable de l UE : CALDERO Philippe

2 SOMMAIRE I Introduction II Les outils nécessaires a) Les congruences et les classes d équivalence b) Le groupe (Z/n Z) et la fonction ϕ d Euler c) Le groupe multiplicatif cyclique (Z/p Z) d) L exponentiation rapide et modulaire et implémentation des algorithmes en Scheme et en C++ III Le problème du logarithme discret, le protocole de Diffie-Hellmann et le système El Gamal 1- Le problème du logarithme discret 2- Le protocole de Diffie-Hellmann 3- Le système El Gamal a) Fabrication de la clé publique b) Chiffrement c) Déchiffrement d) Signature e) certificat 4- Aspect programmation IV Calculs de logarithmes discrets a) Les attaques 1- La méthode des pas de bébé et de géant 2- La méthode ρ de Pollard b) Les faiblesses du logarithme discret La méthode de Pohlig-Hellmann V Conclusion VI Les références bibliographiques 2

3 I Introduction La cryptographie, art de chiffrer des messages en clair, existe depuis des siècles parce que l homme a toujours eu besoin de transmettre des messages secrets. C était le cas de Jules César ; ce dernier utilisait la cryptographie affine pour communiquer avec son état major. Ce codage affine s explique de la façon suivante : - on associe un nombre à chaque lettre de l alphabet A B C D E F G H I J K L M N O P Q R S T U V W X Y Z On calcule y= ax+b ; x est le nombre obtenu à partir de la lettre de départ, a est inversible mod 26 et le couple d entiers (a,b) est la clé de codage. - On calcule r, reste de la division euclidienne de y par Puis on associe à r la lettre correspondante par lecture inverse du tableau. Par exemple, si on code le mot ROME avec la clé (5, 13) on obtient UFIH Mot initial R O M E Code x x r Mot codé U F V H Jules César utilisait plus précisément un code basé sur un décalage affine c està-dire un codage avec a=1. Il est bien clair qu il est facile de retrouver un message avec ce type de codage parce qu il y a 312 (12*26) clés à tester. Il a fallu attendre les années 70 pour que la cryptographie connaisse une véritable expansion, notamment avec l apparition de systèmes à clés publiques tels que le protocole de Diffie-Hellmann, le système El Gamal (de Taher El Gamal) et le système RSA(actuellement utilisé dans plus de 85 % des échanges sécurisés mondiaux). Ayant pour vocation d assurer la confidentialité des messages, leur authentification, leur intégrité et leur non-répudiation, cette discipline concerne maintenant un grand public. Avec le progrès technologique et les techniques cryptographiques modernes, il est non seulement possible de fabriquer des cartes bleues, mais aussi d assurer la protection du copyright, de signer des documents électroniques et de contrôler des accès, etc. 3

4 II Les outils nécessaires a) Les congruences et les classes d équivalence 1- Définition Soit a, b deux entiers relatifs et n un entier strictement positif. On dit que a et b sont congrus modulo n lorsque a-b est un multiple de n. On note : a b [n] ou a b (n) ou a b mod n pour dire que a est congru à b modulo n. Cette relation de congruence est une relation d équivalence sur l ensemble Z des entiers. Elle est : - réflexive a a [n] - symétrique a b [n] b a [n] - transitive a b [n] et b c [n] a c [n]. 2- Proposition Les congruences sont compatibles avec l addition et la multiplication. Autrement dit si a b [n] et c d [n] alors a+c b+ d [n] et ac bd [n]. 3- Encore une définition On appelle Z/n Z l ensemble des classes d équivalence (ou l ensemble des classes de congruences modulo n). Pour tout entier a on note a la classe de congruence de a modulo n, a = {x Z ; x a (mod n). 4- Encore quatre propositions Proposition 1 : (découle des définitions) x = y x y [n]. Proposition 2 : L ensemble Z/n Z est fini, de cardinal n. Plus précisément Z/n Z = { 0, 1,, n-1. Proposition 3 : On munit l ensemble Z/n Z d une addition et d une multiplication en posant a + b = a+b et a b= ab. Muni de ces deux opérations Z/n Z est un anneau commutatif unitaire. Proposition 4 : Pour tout n N, Z/n Z est un corps commutatif si et seulement si n est un nombre premier. 4

5 b) Le groupe (Z/n Z) et la fonction ϕ d Euler 1- Le groupe (Z/n Z) 1-1 Théorème L ensemble des éléments inversibles de l anneau Z/n Z muni de la multiplication est un groupe. On le note (Z/n Z). 1-2 Théorème soit a Z/n z, a est inversible si et seulement si PGCD(a,n)=1. 2- La fonction ϕ d Euler 2-1 Définition Soit n N, on appelle ϕ(n) le nombre d entiers strictement positifs inférieurs à n et premiers avec n. C est donc le cardinal de l ensemble des éléments inversibles de l anneau Z/n Z. 2-2 Théorème d Euler Si PGCD(a,n)=1 alors a ϕ(n) 1 (mod n). Preuve : Il suffit d appliquer le théorème de Lagrange : «soit G un groupe fini de cardinal n, soit a G, on a a n =1». Si PGCD(a,n)=1, a (Z/n Z). Or par définition de ϕ, (Z/n Z) est de cardinal ϕ(n). Donc a ϕ(n) = 1. D où le résultat. 2-3 Théorème Si a et b sont premiers entre eux, ϕ(ab) = ϕ(a)ϕ(b). Preuve Cela résulte du théorème des restes chinois : «si q 1, q 2,,q r sont deux à deux premiers entre-eux, le système de congruences x a 1 (mod q 1 ) x a 2 (mod q 2 ) : x a r (mod q r ) est équivalent à une unique congruence x a (mod q 1 q 2 q r ). Théorème des restes chinois (version 2) Si a et b sont premiers entre-eux, les anneaux Z/ab Z et Z/a Z Z/b Z sont isomorphes.» Donc, ici, c est cette dernière version qui nous intéresse. 2-4 Trois propriétés de l indicatrice d Euler Propriété 1 : Si n est premier alors ϕ(n)= n 1. Propriété 2 : Si n= p 1 α1 p r αr alors ϕ(n)= p 1 α1 1 (p 1 1) p r αr 1 (p r 1) Propriété 3 : (résulte de la propriété 2) ϕ (n) = n * Π (1 1/p) p n 5

6 2-5 Théorème : Pour tout entier naturel n supérieur ou égal à 1, Σ ϕ (d) = n d n, d > 0 Preuve Posons ϕ d (n) = # { x (Z/n Z) PGCD(x, n)=d. On a ϕ d (n) = n. d n Or, pour tout diviseur d de n ϕ d (n) = ϕ (n/d) car ϕ (n/d) est le nombre d entiers a dans l ensemble {1,,n/d avec PGCD(a, n/d)=1, soit le nombre d entiers b dans {1,,n avec PGCD(b, n)= d. Donc ϕ d (n) = ϕ (n/d) = ϕ (d) = n. d n d n d n c) Le groupe multiplicatif cyclique (Z/p Z) 1- Définition Un groupe G est dit cyclique s il existe a G tel que G=<a> c est à-dire le sous groupe engendré par l élément a. On dit que a est un générateur. 2- Théorème Soit G un groupe multiplicatif cyclique d ordre n et g un générateur de G. Les autres générateurs sont les g t, avec t premier avec n. Plus généralement, soit g un élément d ordre n d un groupe G.Pour tout entier e, l ordre de g e est n/pgcd(n, e). Preuve : On va d abord commencer par montrer le deuxième point. Soit d le PGCD de n et e. Notons n=n d et e= e d avec n et e des entiers. L ordre de g e est le plus petit entier naturel non nul k tel que (g e ) k =1, par conséquent n e k. Donc n e k (*). Puisque PGCD(n, e )=1, (*) est satisfaite si et seulement si k est un multiple de n = n d = n PGCD(n, e). On vient donc de montrer que l ordre de g e est n/pgcd(n, e). Si g e est un générateur, son ordre est n. Par conséquent, PGCD(n, e)=1. D où la preuve du premier point. Corollaire : Le nombre de générateurs d un groupe cyclique de cardinal n est ϕ (n). Petit théorème de Fermat Si p est premier et a n est pas divisible par p alors a p 1 1 [ p]. Preuve : Immédiat par le théorème d Euler et la propriété 1 de la fonction ϕ d Euler. 6

7 Remarque sur ce théorème : Ce théorème fournit une condition nécessaire de primalité. Soit n un entier, si a n 1 et 1 ne sont pas congrus modulo n, avec (a,n) = 1, alors on est sûr que n n est pas premier. Cependant si a n 1 et 1 sont congrus modulo n, n n est pas forcément premier. En effet il existe des nombres appelés nombres de Carmichael qui vérifient le petit théorème de Fermat sans être premiers et il y en a une infinité. Définition : Soit n un nombre composé impair. Si a n est pas divisible par n et satisfait a n 1 1 [ n], on dit que n est pseudo premier pour la base a. Si de plus n est pseudo-premier pour tous les entiers a tels que PGCD(a, n)=1, on dit que n est un nombre de Carmichael. Exemple : Le plus petit nombre de Carmichael est 561=3*11*17. Pour se convaincre que a [ 561], il suffit de montrer que a 561 a est multiple de 3, 11 et 17 et conclure par le théorème des restes chinois car 3, 11 et 17 sont deux à deux premiers entre-eux. Théorème : Si p est premier, le groupe multiplicatif (Z/p Z) est cyclique. Preuve : Si p est premier l anneau (Z/p Z, +,*) est un corps commutatif. Donc le polynôme X d 1 possède au plus d racines dans Z/p Z. Soit x (Z/p Z) et d son ordre. Donc x d =1 et puisque x p-1 =1 par le petit théorème de Fermat, on a x p-1-qd =1 pour tout entier q et d doit donc être un diviseur de p-1. Les d éléments 1,x,x²,, x d-1 de (Z/p Z) sont distincts et constituent un sous-groupe de (Z/p Z) et sont tous des racines du polynôme X d 1. Vu que ce polynôme possède au plus d racines, on en déduit que tout élément d ordre d de (Z/p Z) fait partie du sous groupe engendré par x. Or ce sous-groupe contient exactement ϕ (d) éléments d ordre d. Si l on note G d l ensemble des éléments de (Z/p Z) d ordre d, on vient de montrer que # G d = 0 ou # G d =ϕ (d). Ecrivons que (Z/p Z) se partitionne en la réunion des G d, on obtient p-1 = # G d. d (p-1) Par le théorème 2-5, # G d =ϕ (d) pour tous les diviseurs d de p-1. Conclusion : # G (p-1) =ϕ (p-1) 0 ce qui prouve l existence d un générateur (parfois appelé élément primitif). Le théorème qui précède est très important (car les protocoles utilisés ici sont implémentés dans le groupe cyclique (Z/p Z) ). Comme il est possible d implémenter les protocoles à base de logarithme discret dans un autre groupe cyclique différent de (Z/p Z), je vais énoncer un théorème dû à Gauss. Cependant, dans ces groupes, le problème du logarithme discret doit être difficile à résoudre en temps raisonnable. 7

8 Théorème de Gauss : Le groupe multiplicatif (Z/n Z) est cyclique si et seulement si n est de la forme 2, 4, p k, 2p k où p est un nombre premier impair. d) L exponentiation rapide et modulaire L exponentiation rapide Il s agit de calculer a b sans utiliser la méthode naïve a*a*a*a *a. Voici donc un algorithme très efficace permettant de calculer a b avec a un nombre entier et b un grand nombre entier. Procédure : si b=0, je retourne 1 Si b=1, je retourne a Si b est pair, je calcule (a k ) 2 Si b> 2 et impair, je calcule a*(a k ) 2 Et si k> 1, on recommence. Implémentation de l algorithme en Scheme : (define exp_rap;-> nombre (lambda(x n); x et n des nombres (cond ((= n 0) 1) ; si n=0, je retourne 1 ((= n 1) x) ; si n=1, je retourne x ((even? n) (exp_rap (sqr x) (/ n 2))) ; si n est pair, je calcule (x²)^n/2 (else (* x (exp_rap (sqr x) (/ (- n 1) 2))))))) ; sinon, ; j'appelle la fonction avec les arguments x² et (n-1)/2 et je multiplie le resultat par x. ;(exp_rap 2 3);->8 ;(exp_rap 2 0);->1 ;(exp_rap 2 160);- > L exponentiation modulaire C est tout simplement l exponentiation rapide avec modulo c est-à-dire calculer a b mod n. 8

9 (define exp_mod; -> nombre (lambda(a b n); a, b et n des nombres (cond ((= b 0) 1) ((= b 1) (modulo a n)) ((even? b) (exp_mod (sqr a) (/ b 2) n)) ; si n est pair (else (modulo(* a (exp_mod (sqr a) (/ (- b 1) 2) n)) n))))) ; ; si n>2 et impair ;(exp_mod 2 4 5);->1 ;(exp_mod );->28 ;(exp_mod );->4 Voici un autre programme pour calculer l exponentiation modulaire écrit en C++. 9

10 #include<iostream> using namespace std; int exp_mod(int a, int b, int n) { int res=1; while(b > 0) { if(b % 2!=0) res=res*a % n; a=a*a % n; b=b/2; return res; int main(void) { int a, b, n, res; cout<<"-----l'exponentiation modulaire-----"<<endl; cout<<"-----ce programme calcule a^b mod n-----"<<endl; cout<<"tapez a :"<<endl; cin>> a; cout<<"tapez b :(l'exposant)"<<endl; cin>> b; cout<<"tapez n : "<<endl; cin>> n; cout<<"res="<<exp_mod(a,b, n)<<endl; system ("pause"); return 0; 10

11 III Le problème du logarithme discret, le protocole de Diffie-Hellmann et le système El Gamal 1- Le problème du logarithme discret Définition : Soit p premier, g un générateur du groupe (Z/p Z) c est-à-dire (Z/p Z) = {g 0, g 1,,g p 2. Si a (Z/p Z), le logarithme discret de a en base g est l unique entier α tel que α {0,1,,p 2 et a= g α. Le problème du logarithme discret consiste à trouvé α et c est un problème réputé difficile. 2- Le protocole d échange de clés de Diffie-Hellmann Alice et Bob veulent se mettre d accord sur une clé secrète commune (qui leur servira, par exemple, pour un système de chiffrement traditionnel) et ne disposent que d un canal de communication non sûr c est-à-dire non protégé. Pour cela, ils se mettent d accord (sur le canal) sur un grand nombre premier p et un entier g (avec 2 g p-2) générateur du groupe (Z/p Z) dont l ordre est suffisamment élevé (c est-à-dire p-1). Alice choisit un entier a {0,1,,p-2 au hasard, calcule A=g a mod p et envoie A à Bob en gardant secret a. De même, Bob choisit un entier b {0,1,,p-2 au hasard, calcule B=g b mod p et envoie B à Alice en gardant secret b. Leur clé sécrète commune est g ab mod p. Alice accède à la clé en calculant B a mod p et Bob accède à la clé en calculant A b mod p. Remarque : On pense que retrouver g ab (en temps raisonnable) est presque impossible sauf si l on est capable de résoudre le problème du logarithme discret. 3- Le système El Gamal On prendra Alice comme destinataire du message et Bob l expéditeur. On notera (Z/p Z) l espace des messages en clair et (Z/p Z) (Z/p Z) l espace des chiffrés. a) Fabrication de la clé publique Alice choisit un grand nombre premier p, un générateur g mod p et un entier a {0,1,,p-2 aléatoirement comme dans le protocole de Diffie-Hellman. Elle calcule A= g a mod p. Sa clé sécrète est a et sa clé publique (p, g, A). Si Bob souhaite envoyé un message en clair m à Alice, il doit donc disposer d un moyen de connaître la clé publique d Alice. 11

12 b) Chiffrement Bob souhaite chiffrer un message en clair m {0,1,,p-1. Il se procure la clé publique d Alice et choisit un entier b {0,1,,p-2 au hasard puis il calcule : B= g b mod p et C=A b m mod p. En fin il envoie (B,C) à Alice. Remarque : le message m est multiplié par la clé de Diffie-Hellman. c) Déchiffrement Alice reçoit le couple (B,C) et retrouve le message m en calculant B p-1-a C modp. Vérification: B p-1-a C g b(p-1-a) A b m (g p-1 ) b (g a ) -b A b m A- b A b m m mod p Un petit exemple: Alice choisit p= 31, g= 7. Puis elle choisit aléatoirement sa clé sécrète a = 7 et elle calcule A= g a mod p = 28. Donc sa clé publique est (p=31, g=7, A=28). Bob veut chiffrer m=18. Il choisit aléatoirement b=11 et calcule B=g b mod p = 20 et C=A b m mod p = 14 puis il envoie (B,C)=(20,14) à Alice. Alice retrouve m en calculant B p-1-a C mod p= 18. d) Signature Il s agit de résoudre le problème lié à l authenticité du message c est-à-dire prouver au destinataire que le message a été envoyé par le vrai expéditeur et non par quelqu un d autre. Maintenant Bob souhaite signer son message. Pour cela, il choisit sa clé sécrète (un entier s modulo un grand nombre premier p) et calcule sa clé publique (p, g, P) avec P=g s mod p. Il choisit encore au hasard un entier k premier avec p-1 et calcule : - u= g k mod p - l unique solution v de l équation m= us + kv mod (p-1) (*) Remarque : En exponentiant (*), on obtient : g m = P u u v mod p (**) Pour finir, Bob signe son message m par (u, v). Comme Alice a déjà le message m et que la clé (p, g, P) de Bob est publique, il suffit qu elle calcule et compare les deux termes de l égalité (**). Si les deux termes sont égaux, alors Bob est celui qu il prétend être. On voit que personne ne peut signer à la place de Bob sans connaître le secret s. L efficacité de la signature d El Gamal repose donc sur le problème du logarithme discret. Exemple : Bob souhaite maintenant signer le message m=18. Il choisit un nombre premier p=37, un générateur g=5 et sa clé secrète s=11. Il calcule P=g s mod p=2. Donc sa clé publique est (p=37, g=5, P=2). Il choisit une deuxième fois un entier k=17 au hasard mais avec PGCD(k, p-1)=1 et calcule u= g k mod p=22.enfin il calcule l unique solution v de l équation 12

13 -224 = 17v mod 36. Soit 8=17(-v) mod 36. Or l inverse de 17 modulo 36 est 17. Donc v=8*17 mod 36=28, soit v=8 mod 36. Bob signe donc son message par (u=22,v=8). Alice veut vérifier cette signature. Elle calcule g m mod p = 36 et P u u v mod p=36. Comme les deux termes sont égaux, elle est sûre que c est bien Bob qui a signé le message. e) Certificat Quand Bob souhaite transmettre un message à Alice, il doit être sûr que la clé publique qu il utilise appartient à Alice et réciproquement. Il ne suffit pas qu Alice ou Bob garde leur clé secrète. En effet, si un attaquant, Oscar, est capable de remplacer la clé publique d Alice, il pourra non seulement déchiffrer les messages secrets envoyés à Alice mais aussi signer des documents au nom d Alice. Pour résoudre donc ce problème, ils doivent utiliser une institution de confiance. Si Alice utilise un système à clés publiques, elle doit être enregistrée par l autorité de certification du système. Alice communique son nom et certaines informations utiles à l autorité de certification et celle-ci vérifie ces informations avant de générer et signer un certificat établissant une connexion vérifiable entre Alice et ses clés publiques. Le certificat doit contenir au moins les informations suivantes : - Le nom d utilisateur ou le pseudonyme d Alice ; - Ses clés publiques ; - Les noms des algorithmes dans lesquels ces clés sont utilisés. - Le nom de l autorité de confiance ; - Le numéro de série du certificat, les dates de début et de fin de validité du certificat. Ce certificat est ensuite stocké dans un annuaire dans lequel seul l autorité de confiance a droit d écrire. Bien sûr tous les utilisateurs de l autorité de confiance peuvent lire les informations de cet annuaire. D ailleurs cette institution de confiance peut même fabriquer les clés privées et publiques pour Alice et les autres utilisateurs surtout s ils utilisent le système RSA car on a besoin de grands nombres premiers aléatoires pour les clés RSA et il n est pas facile de trouver ces nombres. Si on fait l analogie entre un certificat et un passeport, dans ce cas c est la préfecture qui sera l institution de confiance. 13

14 4- Aspect programmation Voici 3 programmes écrits en C++. Le premier calcul la clé publique du système El Gamal, le deuxième fait le chiffrement et le dernier le déchiffrement. #include<iostream> using namespace std; int exp_mod(int g, int e, int p) { int res=1; while(e > 0) { if(e % 2!=0) res=res*g % p; g=g*g % p; e=e/2; return res; int main(void) { int g, e, p, A; cout<<"-----le systeme d'el Gamal-----"<<endl; cout<<"-----ce programme calcule la cle publique-----"<<endl; cout<<"tapez g :(le generateur)"<<endl; cin>> g; cout<<"tapez e :(la cle secrete)"<<endl; cin>> e; cout<<"tapez p : (p est un nombre premier)"<<endl; cin>> p; cout<<"la cle publique " ; cout<<"(p, g,a)="<<"("<<p<<","<<g<<","<<exp_mod(g,e,p)<<")"<<endl; system ("pause"); return 0; 14

15 #include<iostream> using namespace std; int exp_mod(int g, int e, int p) { int res=1; while(e > 0) { if(e % 2!=0) res=res*g % p; g=g*g % p; e=e/2; return res; int main(void) { int g,b,p,a,m; cout<<"-----le systeme d'el Gamal-----"<<endl; cout<<"-----ce programme chiffre un message en clair-----"<<endl; cout<<"tapez g :(le generateur)"<<endl; cin>> g; cout<<"tapez b : (un entier choisit aleatoirement)"<<endl; cin>>b; cout<<"tapez p : (p est un nombre premier)"<<endl; cin>> p; cout<<"tapez A : (la valeur trouvee dans la cle publique"<<endl; cin>> A; cout<<"b="<<g<<"^"<<b<<"mod"<<p<<"="<<exp_mod(g, b, p)<<endl; cout<<"le message a chiffrer est m="; cin>>m; cout<<"c="<<a<<"^"<<b<<"*"<<m<<"mod"<<p<<"="<<m*exp_mod(a,b,p)%p<<endl; cout<<"le cryptogramme est (B,C)="; cout<<"("<<exp_mod(g,b,p)<<","<<m*exp_mod(a,b,p)%p<<")"<<endl; system ("pause"); return 0; 15

16 #include<iostream> using namespace std; int exp_mod(int g, int e, int p) { int res=1; while(e > 0) { if(e % 2!=0) res=res*g % p; g=g*g % p; e=e/2; return res; int main(void) { int B,C,e,p; cout<<"-----le systeme d'el Gamal-----"<<endl; cout<<"-----ce programme dechiffre un message code-----"<<endl; cout<<"tapez B :"<<endl; cin>> B; cout<<"tapez C : "<<endl; cin>> C; cout<<"tapez p : (p est un nombre premier)"<<endl; cin>> p; cout<<"tapez e :(la cle secrete)"<<endl; cin>> e; cout<<"le message en clair est :"; cout<<"b^("<<p<<"-1-"<<e<<")"<<"c mod"<<p<<"="<<c*exp_mod(b,p-1-e,p)%p; system("pause"); return 0; 16

17 IV Calculs de logarithmes discrets Rappel : soit g un générateur de (Z/p Z), y (Z/p Z). On cherche x {0,1,,p 2 tel que y= g x mod p. Au lieu de calculer le logarithme discret par la méthode naïve qui consiste à calculer successivement g, g 2, g 3, jusqu à obtenir y=g x, on va voir dans cette partie des algorithmes parfois efficaces pour calculer le logarithme discret. a) Les attaques 1- L algorithme pas de bébé/pas de géant Principe de la méthode : i. On pose m= (p-1) ii. On écrit x sous la forme x=mq+ r avec 0 r < m. Puisque m (p-1) et x < p-1, il est clair que q (p-1). Rechercher x tel que y= g x, revient donc à rechercher q et r vérifiant 0 r< m, 0 q (p-1) et g qm+r y mod p ou encore 0 r< m, 0 q (p-1) et (g m ) q y g -r mod p iii. On calcule d abord (les pas de bébé) l ensemble B={ (y g -r mod p, r) : 0 r< m Si nous trouvons dans cet ensemble, un couple (1,r), alors y g -r = 1 mod p. Donc y = g r mod p et x = r car 0 r< m. Sinon, on calcule les pas de géant. On calcule δ = g m mod p, et pour q=0,1,,m-1, on calcule δ k jusqu à ce qu on obtienne q tel que : δ q g q m y g -r (mod p). Exemple: Soit p= 1009, déterminons le logarithme discret de 8 dans la base 5. On veut x tel que 8= 5 x mod On a m = 1008 =32. On calcule les pas de bébé : B= { ( 8* 5 r mod 1009, r) : 0 r< 32 = { (8,0), (607,1), (525, 2), (105,3), (21, 4), (206,5), (243,6), (654,7), (938,8), (793,9), (764,10), (960,11), (192,12), (442,13), (492,14), (502,15), (504,16),(908,17), (787,18), (561,19), (314,20), (870,21), (174,22), (842,23), (572,24), (518,25), (709,26), (949,27), (997,28), (603, 29), (726,30), (347,31) δ = 5 32 mod 1009 =

18 On calcule donc les pas de géant G = { (256 q mod 1009, q) : 0 q 31 G = { (1, 0), (256, 1), (960,2) Le couple (960,11) figure parmi les pas de bébé et (960,2) figure parmi les pas de géant. Or x = 32*2+11=75 {0,1,,1007. Par conséquent x=75 est le logarithme discret de 8 dans la base 5. Pour résoudre ce problème, il a fallu 32 opérations pour calculer les pas de bébé, 3 opérations pour calculer les pas de géant et 32 éléments à stocker. Cet algorithme demande O( p) multiplications et comparaisons et nécessite le stockage de O( p) éléments. Il faudra donc noter que si p -1> 2 160, le calcul du log discret avec cet algorithme devient impossible. 2- La méthode ρ de Pollard L algorithme ρ de Pollard est un algorithme probabiliste de complexité O( p) en temps (par le paradoxe des anniversaires) et O(1) en espace. Le paradoxe des anniversaires : En effectuant k tirages successifs avec remise dans un ensemble à n éléments, la probabilité d avoir choisi deux fois un même élément est supérieure à ½ pour k (1+ ( 1+8nln(2)))/2. Si A est l événement : «tous les éléments choisis sont distincts», on a : k-1 P(A) = n(n-1) (n-(k-1)) = Π (1 - i/n) n k i=1 k-1 k-1 Or x R, ( 1+ x) e x. Donc P(A) Π e i/n e ( - Σ i/n ) e( - k(k-1) ). i=1 i=1 2n Finalement, P(A) ½ si k² -k-2nln(2) 0. Donc pour k (1+ ( 1+8nln(2)))/2, la probabilité d avoir choisi deux fois un même élément est supérieur à ½ car le contraire de l événement «tous les éléments choisis sont distincts» est l événement «au moins deux éléments choisis soient identiques». Rappel : On cherche toujours x {0,1,,p 2 tel que y= g x mod p. Principe de la méthode : On partitionne (Z/p Z) en G 1, G 2, G 3 ( (Z/p Z) = en G 1 G 2 G 3 ) et on définit la fonction f : (Z/p Z) (Z/p Z) par g z si z G 1, f(z)= z² si z G 2 yz si z G 3 18

19 On construit une suite récurrente d éléments : z i+1 = f(z i ) avec z 0 un élément défini par le tirage aléatoire d un nombre a 0 {1,,p 1. On exprime alors les termes de cette suite comme : z i = g a i y b i pour i 1 avec et a i + 1 mod ϕ (p) si z i G 1 a i + 1 = 2a i mod ϕ (p) si z i G 2 a i mod ϕ (p) si z i G 3 b i si z i G 1 b i + 1 = 2b i mod ϕ (p) si z i G 2 b i + 1 mod ϕ (p) si z i G 3 et avec comme valeur initiale pour a 0 la valeur aléatoire choisie initialement et pour b 0 =0. Comme nous travaillons dans un groupe fini, la suite (z i ) i 0 sera périodique de période T à partir d un certain rang. Par conséquent, il existe s et T tels que z s+t = z s (s est le plus petit indice pour lequel l égalité est vérifiée. Finalement on obtient la relation : a i - a i +T x(b i +T - b i ) mod ϕ (p). Si (b i +T - b i ) est inversible modulo ϕ (p) l équation n a qu une solution et cette solution c est le logarithme discret. Sinon, il y a plusieurs solutions et si elles sont nombreuses, on peut les tester successivement, sinon on recommence l algorithme avec une autre valeur initiale a 0. b) Les faiblesses du logarithme discret La méthode de Pohlig-Hellmann C est aussi une méthode qui permet de calculer le logarithme discret et elle n est efficace que si p-1 n a que de petits facteurs premiers. Principe de la méthode : Soit p un nombre premier, g un générateur du groupe multiplicatif cyclique (Z/p Z). Soit p-1 = p λ1 1 p λ2 λk 2 p k la décomposition en facteurs premiers du cardinal de (Z/p Z). On cherche x {0,1,,p 2 tel que y= g x mod p. On pose g i = g n i et y i = y n i avec n i = (p-1). λ i p i On remarque que g i engendre un groupe G i d ordre p i λ i et que y i = g i x i. 19

20 Pour déterminer x, on calcule d abord y i, g i et x i (logarithme discret de y i dans la base g i ) puis on cherche le logarithme discret x à l aide du théorème des restes chinois c est-à-dire on cherche l unique solution x {0,1,,p 2 des congruences simultanées x x i mod (p i λ i ). Remarque : l algorithme pas de bébé/pas de géant utilise O( (p i λ i )) opérations pour calculer x i. Réduction à un ordre premier Le calcul du logarithme discret dans les groupes cycliques dont l ordre est une puissance d un nombre premier peut se ramener au calcul du logarithme discret dans des sous-groupes d ordre premier. Soit G un groupe cyclique d ordre p e, p premier et e un entier positif. On veut résoudre a= b k. On pose k = k 0 + k 1 p + + k e-1 p e-1 avec 0 k i p et 0 i e-1. On peut voir que chaque coefficient k i est un logarithme discret dans un groupe d ordre p c est à-dire b m k n i = a i avec m= p e-1 et n= p e-i-1. V Conclusion La sécurité du système El Gamal repose sur la difficulté de résoudre le problème du logarithme discret dans le groupe cyclique (Z/p Z). Cependant il faudra faire attention en ce qui concerne le choix du nombre premier p car si le cardinal de (Z/p Z) admet des petits facteurs premiers, un attaquant, Oscar, pourra retrouver le logarithme discret en utilisant notamment l algorithme de Pohlig-Hellman. Toute personne capable de résoudre le problème de logarithme discret pourra facilement casser le cryptosystème d El Gamal mais à l inverse être capable de casser le cryptosystème d El Gamal ne veut pas dire pouvoir résoudre le problème du logarithme discret. Même si dans le système d'el Gamal le message chiffré est deux fois plus long que le message original, notons que le fait d utiliser un paramètre aléatoire k est un plus en termes de sécurité car le même message m chiffré à deux moments différents donnera deux messages chiffrés différents. 20

21 VI - Les références bibliographiques [1] DELEGLISE, Marc. Cours de Calcul formel et Cryptographie (Chapitre 1). Licence d informatique. Université Lyon1- Ecole Normale Supérieure de Lyon. [2] ZEMOR, Gilles. Cours de cryptographie. Paris : Cassini, p. [3] BUCHMANN, Johannes. Introduction à la cryptographie. Paris : Dunod, p. [4] MARTIN, Bruno. Codage, cryptologie et applications. Lausanne : Presses polytechniques et universitaires romandes, p. [5] DELAHAYE, Jean Paul. Merveilleux nombres premiers voyage au cœur de l arithmétique. Paris : Belin, p. [6] Wikipédia - Nombre de Carmichael. Disponible sur < (Consulté le 15 Avril 2007). 21

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

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

Cryptographie. Cours 3/8 - Chiffrement asymétrique

Cryptographie. Cours 3/8 - Chiffrement asymétrique Cryptographie Cours 3/8 - Chiffrement asymétrique Plan du cours Différents types de cryptographie Cryptographie à clé publique Motivation Applications, caractéristiques Exemples: ElGamal, RSA Faiblesses,

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

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

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

Fonction de hachage et signatures électroniques

Fonction de hachage et signatures électroniques Université de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France 05.55.45.73.10 pierre-louis.cayrel@xlim.fr Licence professionnelle Administrateur de Réseaux et de Bases de Données IUT

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

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

Cryptologie. Algorithmes à clé publique. Jean-Marc Robert. Génie logiciel et des TI Cryptologie Algorithmes à clé publique Jean-Marc Robert Génie logiciel et des TI Plan de la présentation Introduction Cryptographie à clé publique Les principes essentiels La signature électronique Infrastructures

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

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

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

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

1 Définition et premières propriétés des congruences Université Paris 13, Institut Galilée Département de Mathématiques Licence 2ème année Informatique 2013-2014 Cours de Mathématiques pour l Informatique Des nombres aux structures Sylviane R. Schwer Leçon

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

É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

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

Le produit semi-direct

Le produit semi-direct Le produit semi-direct Préparation à l agrégation de mathématiques Université de Nice - Sophia Antipolis Antoine Ducros Octobre 2007 Ce texte est consacré, comme son titre l indique, au produit semi-direct.

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

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

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

CRYPTOGRAPHIE. Signature électronique. E. Bresson. Emmanuel.Bresson@sgdn.gouv.fr. SGDN/DCSSI Laboratoire de cryptographie

CRYPTOGRAPHIE. Signature électronique. E. Bresson. Emmanuel.Bresson@sgdn.gouv.fr. SGDN/DCSSI Laboratoire de cryptographie CRYPTOGRAPHIE Signature électronique E. Bresson SGDN/DCSSI Laboratoire de cryptographie Emmanuel.Bresson@sgdn.gouv.fr I. SIGNATURE ÉLECTRONIQUE I.1. GÉNÉRALITÉS Organisation de la section «GÉNÉRALITÉS»

Plus en détail

Probabilités sur un univers fini

Probabilités sur un univers fini [http://mp.cpgedupuydelome.fr] édité le 7 août 204 Enoncés Probabilités sur un univers fini Evènements et langage ensembliste A quelle condition sur (a, b, c, d) ]0, [ 4 existe-t-il une probabilité P sur

Plus en détail

Exercices sur le chapitre «Probabilités»

Exercices sur le chapitre «Probabilités» Arnaud de Saint Julien - MPSI Lycée La Merci 2014-2015 1 Pour démarrer Exercices sur le chapitre «Probabilités» Exercice 1 (Modélisation d un dé non cubique) On considère un parallélépipède rectangle de

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

Programmation C++ (débutant)/instructions for, while et do...while

Programmation C++ (débutant)/instructions for, while et do...while Programmation C++ (débutant)/instructions for, while et do...while 1 Programmation C++ (débutant)/instructions for, while et do...while Le cours du chapitre 4 : le for, while et do...while La notion de

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

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

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

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

Cours d initiation à la programmation en C++ Johann Cuenin

Cours d initiation à la programmation en C++ Johann Cuenin Cours d initiation à la programmation en C++ Johann Cuenin 11 octobre 2014 2 Table des matières 1 Introduction 5 2 Bases de la programmation en C++ 7 3 Les types composés 9 3.1 Les tableaux.............................

Plus en détail

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

Sommaire Introduction Les bases de la cryptographie Introduction aux concepts d infrastructure à clés publiques Conclusions Références Sommaire Introduction Les bases de la cryptographie Introduction aux concepts d infrastructure à clés publiques Conclusions Références 2 http://securit.free.fr Introduction aux concepts de PKI Page 1/20

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

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

Rappels et compléments, première partie : Nombres complexes et applications à la géométrie Rappels et compléments, première partie : Nombres complexes et applications à la géométrie 1 Définition des nombres complexes On définit sur les couples de réels une loi d addition comme suit : (x; y)

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

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France. La NP-complétude Johanne Cohen PRISM/CNRS, Versailles, France. Références 1. Algorithm Design, Jon Kleinberg, Eva Tardos, Addison-Wesley, 2006. 2. Computers and Intractability : A Guide to the Theory of

Plus en détail

Exercices - Fonctions de plusieurs variables : corrigé. Pour commencer

Exercices - Fonctions de plusieurs variables : corrigé. Pour commencer Pour commencer Exercice 1 - Ensembles de définition - Première année - 1. Le logarithme est défini si x + y > 0. On trouve donc le demi-plan supérieur délimité par la droite d équation x + y = 0.. 1 xy

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

Proposition. Si G est un groupe simple d ordre 60 alors G est isomorphe à A 5.

Proposition. Si G est un groupe simple d ordre 60 alors G est isomorphe à A 5. DÉVELOPPEMENT 32 A 5 EST LE SEUL GROUPE SIMPLE D ORDRE 60 Proposition. Si G est un groupe simple d ordre 60 alors G est isomorphe à A 5. Démonstration. On considère un groupe G d ordre 60 = 2 2 3 5 et

Plus en détail

Panorama de la cryptographie des courbes elliptiques

Panorama de la cryptographie des courbes elliptiques Panorama de la cryptographie des courbes elliptiques Damien Robert 09/02/2012 (Conseil régional de Lorraine) La cryptographie, qu est-ce que c est? Définition La cryptographie est la science des messages

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

Correction du baccalauréat S Liban juin 2007

Correction du baccalauréat S Liban juin 2007 Correction du baccalauréat S Liban juin 07 Exercice. a. Signe de lnx lnx) : on fait un tableau de signes : x 0 e + ln x 0 + + lnx + + 0 lnx lnx) 0 + 0 b. On afx) gx) lnx lnx) lnx lnx). On déduit du tableau

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

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

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

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

Gestion des Clés. Pr Belkhir Abdelkader. 10/04/2013 Pr BELKHIR Abdelkader Gestion des Clés Pr Belkhir Abdelkader Gestion des clés cryptographiques 1. La génération des clés: attention aux clés faibles,... et veiller à utiliser des générateurs fiables 2. Le transfert de la clé:

Plus en détail

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable T : pour travailler et mémoriser le cours

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable T : pour travailler et mémoriser le cours Exo7 Continuité (étude globale). Diverses fonctions Exercices de Jean-Louis Rouget. Retrouver aussi cette fiche sur www.maths-france.fr * très facile ** facile *** difficulté moyenne **** difficile *****

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

Probabilités conditionnelles Exercices corrigés

Probabilités conditionnelles Exercices corrigés Terminale S Probabilités conditionnelles Exercices corrigés Exercice : (solution Une compagnie d assurance automobile fait un bilan des frais d intervention, parmi ses dossiers d accidents de la circulation.

Plus en détail

1 Recherche en table par balayage

1 Recherche en table par balayage 1 Recherche en table par balayage 1.1 Problème de la recherche en table Une table désigne une liste ou un tableau d éléments. Le problème de la recherche en table est celui de la recherche d un élément

Plus en détail

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles) 1/4 Objectif de ce cours /4 Objectifs de ce cours Introduction au langage C - Cours Girardot/Roelens Septembre 013 Du problème au programme I passer d un problème exprimé en français à la réalisation d

Plus en détail

1.6- Génération de nombres aléatoires

1.6- Génération de nombres aléatoires 1.6- Génération de nombres aléatoires 1- Le générateur aléatoire disponible en C++ 2 Création d'un générateur aléatoire uniforme sur un intervalle 3- Génération de valeurs aléatoires selon une loi normale

Plus en détail

Image d un intervalle par une fonction continue

Image d un intervalle par une fonction continue DOCUMENT 27 Image d un intervalle par une fonction continue La continuité d une fonction en un point est une propriété locale : une fonction est continue en un point x 0 si et seulement si sa restriction

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

Simulation de variables aléatoires

Simulation de variables aléatoires Chapter 1 Simulation de variables aléatoires Références: [F] Fishman, A first course in Monte Carlo, chap 3. [B] Bouleau, Probabilités de l ingénieur, chap 4. [R] Rubinstein, Simulation and Monte Carlo

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

Initiation à l algorithmique

Initiation à l algorithmique Informatique S1 Initiation à l algorithmique procédures et fonctions 2. Appel d une fonction Jacques TISSEAU Ecole Nationale d Ingénieurs de Brest Technopôle Brest-Iroise CS 73862-29238 Brest cedex 3 -

Plus en détail

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

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34 Capacité d un canal Second Théorème de Shannon Théorie de l information 1/34 Plan du cours 1. Canaux discrets sans mémoire, exemples ; 2. Capacité ; 3. Canaux symétriques ; 4. Codage de canal ; 5. Second

Plus en détail

Développement décimal d un réel

Développement décimal d un réel 4 Développement décimal d un réel On rappelle que le corps R des nombres réels est archimédien, ce qui permet d y définir la fonction partie entière. En utilisant cette partie entière on verra dans ce

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

Texte Agrégation limitée par diffusion interne

Texte Agrégation limitée par diffusion interne Page n 1. Texte Agrégation limitée par diffusion interne 1 Le phénomène observé Un fût de déchets radioactifs est enterré secrètement dans le Cantal. Au bout de quelques années, il devient poreux et laisse

Plus en détail

Université Paris-Dauphine DUMI2E 1ère année, 2009-2010. Applications

Université Paris-Dauphine DUMI2E 1ère année, 2009-2010. Applications Université Paris-Dauphine DUMI2E 1ère année, 2009-2010 Applications 1 Introduction Une fonction f (plus précisément, une fonction réelle d une variable réelle) est une règle qui associe à tout réel x au

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

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

La maison Ecole d ' Amortissement d un emprunt Classe de terminale ES. Ce qui est demandé. Les étapes du travail

La maison Ecole d ' Amortissement d un emprunt Classe de terminale ES. Ce qui est demandé. Les étapes du travail La maison Ecole d ' Amortissement d un emprunt Classe de terminale ES Suites géométriques, fonction exponentielle Copyright c 2004 J.- M. Boucart GNU Free Documentation Licence L objectif de cet exercice

Plus en détail

Cours d algorithmique pour la classe de 2nde

Cours d algorithmique pour la classe de 2nde Cours d algorithmique pour la classe de 2nde F.Gaudon 10 août 2009 Table des matières 1 Avant la programmation 2 1.1 Qu est ce qu un algorithme?................................. 2 1.2 Qu est ce qu un langage

Plus en détail

Comparaison de fonctions Développements limités. Chapitre 10

Comparaison de fonctions Développements limités. Chapitre 10 PCSI - 4/5 www.ericreynaud.fr Chapitre Points importants 3 Questions de cours 6 Eercices corrigés Plan du cours 4 Eercices types 7 Devoir maison 5 Eercices Chap Et s il ne fallait retenir que si points?

Plus en détail

Probabilités sur un univers fini

Probabilités sur un univers fini [http://mp.cpgedupuydelome.fr] édité le 10 août 2015 Enoncés 1 Proailités sur un univers fini Evènements et langage ensemliste A quelle condition sur (a,, c, d) ]0, 1[ 4 existe-t-il une proailité P sur

Plus en détail

Coefficients binomiaux

Coefficients binomiaux Probabilités L2 Exercices Chapitre 2 Coefficients binomiaux 1 ( ) On appelle chemin une suite de segments de longueur 1, dirigés soit vers le haut, soit vers la droite 1 Dénombrer tous les chemins allant

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

Licence ST Université Claude Bernard Lyon I LIF1 : Algorithmique et Programmation C Bases du langage C 1 Conclusion de la dernière fois Introduction de l algorithmique générale pour permettre de traiter

Plus en détail

Représentation des Nombres

Représentation des Nombres Chapitre 5 Représentation des Nombres 5. Representation des entiers 5.. Principe des représentations en base b Base L entier écrit 344 correspond a 3 mille + 4 cent + dix + 4. Plus généralement a n a n...

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

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable Eo7 Fonctions de plusieurs variables Eercices de Jean-Louis Rouget Retrouver aussi cette fiche sur wwwmaths-francefr * très facile ** facile *** difficulté moenne **** difficile ***** très difficile I

Plus en détail

Cours d Algorithmique et de Langage C 2005 - v 3.0

Cours d Algorithmique et de Langage C 2005 - v 3.0 Cours d Algorithmique et de Langage C 2005 - v 3.0 Bob CORDEAU cordeau@onera.fr Mesures Physiques IUT d Orsay 15 mai 2006 Avant-propos Avant-propos Ce cours en libre accès repose sur trois partis pris

Plus en détail

Objets Combinatoires élementaires

Objets Combinatoires élementaires Objets Combinatoires élementaires 0-0 Permutations Arrangements Permutations pour un multi-ensemble mots sous-ensemble à k éléments (Problème du choix) Compositions LE2I 04 1 Permutations Supposons que

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

Exercices - Nombres complexes : corrigé. Formes algébriques et trigonométriques, module et argument

Exercices - Nombres complexes : corrigé. Formes algébriques et trigonométriques, module et argument Formes algébriques et trigonométriques, module et argument Exercice - - L/Math Sup - On multiplie le dénominateur par sa quantité conjuguée, et on obtient : Z = 4 i 3 + i 3 i 3 = 4 i 3 + 3 = + i 3. Pour

Plus en détail

315 et 495 sont dans la table de 5. 5 est un diviseur commun. Leur PGCD n est pas 1. Il ne sont pas premiers entre eux

315 et 495 sont dans la table de 5. 5 est un diviseur commun. Leur PGCD n est pas 1. Il ne sont pas premiers entre eux Exercice 1 : (3 points) Un sac contient 10 boules rouges, 6 boules noires et 4 boules jaunes. Chacune des boules a la même probabilité d'être tirée. On tire une boule au hasard. 1. Calculer la probabilité

Plus en détail

Calcul fonctionnel holomorphe dans les algèbres de Banach

Calcul fonctionnel holomorphe dans les algèbres de Banach Chapitre 7 Calcul fonctionnel holomorphe dans les algèbres de Banach L objet de ce chapitre est de définir un calcul fonctionnel holomorphe qui prolonge le calcul fonctionnel polynômial et qui respecte

Plus en détail

Continuité et dérivabilité d une fonction

Continuité et dérivabilité d une fonction DERNIÈRE IMPRESSIN LE 7 novembre 014 à 10:3 Continuité et dérivabilité d une fonction Table des matières 1 Continuité d une fonction 1.1 Limite finie en un point.......................... 1. Continuité

Plus en détail

avec des nombres entiers

avec des nombres entiers Calculer avec des nombres entiers Effectuez les calculs suivants.. + 9 + 9. Calculez. 9 9 Calculez le quotient et le rest. : : : : 0 :. : : 9 : : 9 0 : 0. 9 9 0 9. Calculez. 9 0 9. : : 0 : 9 : :. : : 0

Plus en détail

Chapitre 1 : Évolution COURS

Chapitre 1 : Évolution COURS Chapitre 1 : Évolution COURS OBJECTIFS DU CHAPITRE Savoir déterminer le taux d évolution, le coefficient multiplicateur et l indice en base d une évolution. Connaître les liens entre ces notions et savoir

Plus en détail

I - PUISSANCE D UN POINT PAR RAPPORT A UN CERCLE CERCLES ORTHOGONAUX POLES ET POLAIRES

I - PUISSANCE D UN POINT PAR RAPPORT A UN CERCLE CERCLES ORTHOGONAUX POLES ET POLAIRES I - PUISSANCE D UN POINT PAR RAPPORT A UN CERCLE CERCLES ORTHOGONAUX POLES ET POLAIRES Théorème - Définition Soit un cercle (O,R) et un point. Une droite passant par coupe le cercle en deux points A et

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

NOMBRES COMPLEXES. Exercice 1 :

NOMBRES COMPLEXES. Exercice 1 : Exercice 1 : NOMBRES COMPLEXES On donne θ 0 un réel tel que : cos(θ 0 ) 5 et sin(θ 0 ) 1 5. Calculer le module et l'argument de chacun des nombres complexes suivants (en fonction de θ 0 ) : a i( )( )(1

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

Résolution d équations non linéaires

Résolution d équations non linéaires Analyse Numérique Résolution d équations non linéaires Said EL HAJJI et Touria GHEMIRES Université Mohammed V - Agdal. Faculté des Sciences Département de Mathématiques. Laboratoire de Mathématiques, Informatique

Plus en détail

L ALGORITHMIQUE. Algorithme

L ALGORITHMIQUE. Algorithme L ALGORITHMIQUE Inspirée par l informatique, cette démarche permet de résoudre beaucoup de problèmes. Quelques algorithmes ont été vus en 3 ième et cette année, au cours de leçons, nous verrons quelques

Plus en détail

Introduction à la théorie des graphes. Solutions des exercices

Introduction à la théorie des graphes. Solutions des exercices CAHIERS DE LA CRM Introduction à la théorie des graphes Solutions des exercices Didier Müller CAHIER N O 6 COMMISSION ROMANDE DE MATHÉMATIQUE 1 Graphes non orientés Exercice 1 On obtient le graphe biparti

Plus en détail

MATHÉMATIQUES DISCRÈTES (4) CRYPTOGRAPHIE CLASSIQUE

MATHÉMATIQUES DISCRÈTES (4) CRYPTOGRAPHIE CLASSIQUE MATHÉMATIQUES DISCRÈTES (4) CRYPTOGRAPHIE CLASSIQUE Michel Rigo http://www.discmath.ulg.ac.be/ Année 2007 2008 CRYPTOGRAPHIE. N. F. Art d écrire en chiffres ou d une façon secrète quelconque. Ensemble

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

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

Moments des variables aléatoires réelles

Moments des variables aléatoires réelles Chapter 6 Moments des variables aléatoires réelles Sommaire 6.1 Espérance des variables aléatoires réelles................................ 46 6.1.1 Définition et calcul........................................

Plus en détail

CCP PSI - 2010 Mathématiques 1 : un corrigé

CCP PSI - 2010 Mathématiques 1 : un corrigé CCP PSI - 00 Mathématiques : un corrigé Première partie. Définition d une structure euclidienne sur R n [X]... B est clairement symétrique et linéaire par rapport à sa seconde variable. De plus B(P, P

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

3. Conditionnement P (B)

3. Conditionnement P (B) Conditionnement 16 3. Conditionnement Dans cette section, nous allons rappeler un certain nombre de définitions et de propriétés liées au problème du conditionnement, c est à dire à la prise en compte

Plus en détail

Gestion des Clés Publiques (PKI)

Gestion des Clés Publiques (PKI) Chapitre 3 Gestion des Clés Publiques (PKI) L infrastructure de gestion de clés publiques (PKI : Public Key Infrastructure) représente l ensemble des moyens matériels et logiciels assurant la gestion des

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

Limites finies en un point

Limites finies en un point 8 Limites finies en un point Pour ce chapitre, sauf précision contraire, I désigne une partie non vide de R et f une fonction définie sur I et à valeurs réelles ou complees. Là encore, les fonctions usuelles,

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