Sécurité des systèmes informatiques

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

Download "Sécurité des systèmes informatiques"

Transcription

1 Sécurité des systèmes informatiques Le chiffrement asymétrique Olivier Markowitch

2 Nombres premiers Théorème : Il existe une infinité de nombres premiers Preuve : Supposons qu il y ait un nombre fini de nombres premiers : p 1, p 2,..., p n Ainsi p n est le plus grand nombre premier Posons x = (p 1 p 2... p n ) + 1 Ce x (qui est 2) est divisible par au moins un nombre premier p Ainsi p divise x et p doit appartenir à l ensemble composé de tous les premiers {p 1,..., p n } Or si p divise x et divise p 1... p n, alors ce p doit diviser 1, ce qui est impossible 1

3 Décomposition en facteurs premiers Définition : Théorème fondamental de l arithmétique n 2, n se factorise, de manière unique, en un produit de puissances de premiers : n = p e p e r r avec p i premier et e i 0 entier, où i [1, r] 2

4 Théorème 1 Soit (a, b) le plus grand commun diviseur entre a et b, alors (a, b) est le plus petit élément positif de l ensemble I où I = {ax + by tels que x, y Z} Preuve : Soit d le plus petit élément positif de l ensemble I ; d est donc de la forme d = au + bv avec u et v appartenant à Z. Question 1 : d divise-t-il a? Si d ne divise pas a, nous avons a = dq + r où d est le quotient, r le reste et 0 < r < d. Ainsi nous avons r = a dq, donc r = a (au + bv)q, et ainsi : r = a(1 uq) + b( vq) Cette équation présente r comme une combinaison linéaire de a et b à coefficients entiers, donc r I avec 0 < r < d. Nous avons ainsi une contradiction car d a été choisi comme étant le plus petit élément positif de I et ici r < d. Donc d divise a, et de la même manière d divise b.

5 Théorème 1 (suite) Question 2 : d est-il le plus grand de tous les diviseurs? Soit d un diviseur commun de a et b. d divise a et d divise b. Donc d divise au et d divise bv. Donc d divise au + bv = d. Donc d divise d d d et d = (a, b). Conclusion : nous avons montré que d divise a et b et qu il est le plus grand commun diviseur de a et de b. Ainsi (a, b) = d est le plus petit élément positif de I.

6 Bézout Théorème de Bézout Si a, b Z ne sont pas simultanément nuls, alors il existe u et v Z tels que au + bv = (a, b) où (a, b) dénote le plus grand commun diviseur entre a et b Preuve : Découle directement du théorème : pgcd(a, b) est le plus petit élément positif de l ensemble I où I = {ax + by tels que x, y Z} 5

7 Inverse modulaire Théorème : ax 1 (mod m) (a, m) = 1 Preuve : Nous avons ax 1 (mod m) et donc m divise ax 1. Si (a, m) = d, alors d divise a et d divise m ; et si d divise m et m divise ax 1 alors d divise ax 1. Mais comme d divise a, nous avons que d doit diviser 1, et donc d ne peut valoir que 1 : (a, m) = 1. Si (a, m) = 1, par Bézout nous avons qu il existe u et v Z tels que au+mv = 1. Ainsi il existe un u tel que au 1 (mod m) (preuve d existence de l inverse). De plus, si ax 0 1 (mod m) et si ax 1 1 (mod m) alors ax 0 ax 1 0 (mod m) et a(x 0 x 1 ) 0 (mod m). Donc m divise a(x 0 x 1 ), mais comme (a, m) = 1, m doit diviser x 0 x 1 et ainsi par la définition d une congruence nous avons x 0 x 1 (mod m) (preuve de l unicité de l inverse).

8 Théorème 2 Soit p un nombre premier et soit (a, p) = 1 alors les valeurs de a, 2a,..., (p 1)a calculées modulo p sont toutes différentes En effet, si ia ja (mod p) pour i j appartenant tous deux à [1, p 1], alors nous avons que p divise (i j)a Mais comme i j < p, nous avons que i j est premier avec p. Donc p ne divise pas i j et ainsi p devrait diviser a, ce qui est une contradiction Donc ia ja (mod p) pour i j appartenant tous deux à [1, p 1] et ainsi : a 2a (p 1)a 1 2 p 1 (mod p) 7

9 Le petit théorème de Fermat Le petit Théorème de Fermat : Si m est premier et (a, m) = 1 alors a m 1 1 (mod m) Preuve : Supposons que (a, m) = 1. Nous pouvons écrire la suite de valeurs : a, 2a,..., (m 1)a. Aucun de ces m 1 éléments n est divisible par m. De plus ces m 1 éléments sont tous différents modulo m ; ainsi i a mod m pour i allant de 1 à m 1 donne m 1 valeurs différentes plus petites que m Ainsi nous avons : a 2a...(m 1)a (m 1) (mod m) a m 1 (m 1)! (m 1)! (mod m) (a m 1 1)(m 1)! 0 (mod m) Comme (m 1)! n est pas nul, nous avons : a m 1 1 (mod m) 8

10 Théorème 3 (x, p) = (x mod p, p) En effet, si x mod p = y alors il existe un entier l tel que x = lp + y. Ainsi nous avons : (x, p) = (lp + y, p) = d avec d divisant lp + y et divisant p Puisque d divise p alors d divise lp, mais comme nous avons aussi que d divise lp + y, nous avons que d divise y Comme d divise y et p, nous avons (y, p) = d car d est le plus grand de ces diviseurs, en effet s il existait un d > d tel que d divise p et y, alors ce d divise aussi lp et donc ce serait un d > d qui diviserait lp+y ce qui est une contradiction avec (lp + y, p) = d. Ainsi (x, p) = (x mod p, p) 9

11 Fonction Phi d Euler Définition : La fonction d Euler Φ(n) égale le nombre d éléments plus petits que n et qui sont premiers avec n Si n se décompose en facteurs premiers tels qu indiqué à la définition précédente, nous avons : Φ(n) = n r i=1 (1 1pi ) 10

12 Fonction Phi d Euler (suite) Théorème : Si n = p e 1 1 p e r r, nous avons : ) (1 1pi Preuve : φ(n) = n r i=1 A Pour un p premier, nous avons φ(p) = p 1 B Si on travaille modulo p α, où p est un premier et α est un entier plus grand ou égal à 2, le nombre d éléments qui ont un diviseur commun avec p α sont les multiples de p : 1p, 2p,..., p α 1 p. Il y a donc p α 1 multiples de p. Et ainsi : φ(p α ) = p α p α 1 = p α (1 1 p ) 11

13 Fonction Phi d Euler (suite) C Soient m et n de la forme p α où α est un entier plus grand ou égal à 1 et tels que (m, n) = 1. Combien d éléments plus petits ou égaux à mn sont premiers avec mn? Ecrivons les valeurs de 1 à mn sous forme matricielle de la manière suivante : m m + 1 m + 2 m m 2m m + 2 2m m. (n 1)m + 1 (n 1)m + 2 (n 1)m nm Une colonne r de cette matrice est composée d éléments im+r pour i allant de 0 à n 1. Si (r, m) = 1 alors tous ces éléments im + r d une telle colonne r sont premiers avec m. En effet, nous avons (im+r, m) = (im+r mod m, m) = (r, m) = 1. Il y a ainsi φ(m) valeurs possibles pour r pour avoir (r, m) = 1. Il y a donc φ(m) colonnes composées d éléments tous premiers avec m. 12

14 Fonction Phi d Euler (suite) Des éléments composants ces φ(m) colonnes composées d éléments premiers avec m, il faut extraire les éléments qui sont aussi premiers avec n. Nous cherchons donc des éléments de la forme im + r, pour i allant de 0 à n 1, qui sont premiers avec n. Nous savons que, pour i allant de 0 à n 1, (im+ r, n) = (im + r mod n, n). Nous remarquons que im + r jm + r (mod n) pour i j tous deux allant de 0 à n 1. En effet, si im + r jm + r (mod n) pour i j tous deux allant de 0 à n 1, alors n divise (i j)m. Mais comme i j < n, n ne divise pas i j. Donc n devrait diviser m ce qui est une contradiction (car (m, n) = 1). Donc quand i varie de 0 à n 1, im + r mod n donne n résultats différents strictement inférieurs à n, à savoir 0, 1, 2,..., n 1. Il y a donc φ(n) de ces n valeurs qui sont premières avec n, et ce dans chacune des φ(m) colonnes considérées. Donc φ(mn) = φ(m)φ(n) 13

15 Fonction Phi d Euler (suite) D En combinant les points B et C, nous avons que si alors n = p e 1 1 p e r r φ(n) = p e 1 1 (1 1 )... p e r r (1 1 ) = n p 1 p r r i=1 (1 1pi ) 14

16 Groupe multiplicatif Définition : Le groupe multiplicatif Z n est tel que Z n = {a Z n tel que pgcd(a, n) = 1} 15

17 Théorème d Euler Théorème : soit un groupe formé de φ(n) éléments, où n > 2. Pour un élément a appartenant à ce groupe, nous avons : a Φ(n) = 1 Preuve : Soit P = a 1 a 2... a φ(n) où les différents a i appartiennent au groupe considéré. Soit a un élément appartenant aussi au groupe, et calculons : (a a 1 )(a a 2 )...(a a φ(n) ) D un côté nous voyons que cela vaut : a φ(n) a 1... a φ(n) = a φ(n) P. D un autre côté on note que a a i a a j i j. Et comme il y a φ(n) éléments dans ce produit, nous avons : (a a 1 )(a a 2 ) (a a φ(n) ) = a 1 a 2... a φ(n) = P. En conclusion, nous avons a φ(n) P = P et donc a φ(n) = 1. 16

18 Théorème 4 Théorème : Soit a un élément du groupe formé de φ(n) éléments, l ordre de a divise l ordre du groupe. Preuve : Si l ordre de l élément a ne divise par l ordre du groupe, égal à φ(n), alors φ(n) = q ordre(a)+r avec 0 < r < ordre(a). Ainsi : a φ(n) = a ordre(a) q a r = 1 q a r = a r Comme a r 1 puisque r < ordre(a), nous devrions avoir a φ(n) 1, ce qui est une contradiction. 17

19 Exemple 1 Soit n = 7, Z 7 = {1,2,3,4,5,6}, φ(7) = 6 ordre de 1 = 1 : 1 0 = 1, 1 1 = 1 ordre de 2 = 3 : 2 0 = 1, 2 1 = 2, 2 2 = 4, 2 3 = 1 ordre de 3 = 6 (générateur) : 3 0 = 1, 3 1 = 3, 3 2 = 2, 3 3 = 6, 3 4 = 4, 3 5 = 5, 3 6 = 1 ordre de 4 = 3 : 4 0 = 1, 4 1 = 4, 4 2 = 2, 4 3 = 1 ordre de 5 = 6 (générateur) : 5 0 = 1, 5 1 = 5, 5 2 = 4, 5 3 = 6, 5 4 = 2, 5 5 = 3, 5 6 = 1 ordre de 6 = 2 : 6 0 = 1, 6 1 = 6, 6 2 = 1 Les différents ordres 1, 2, 3 et 6 divisent φ(7) = 6 18

20 Exemple 2 Soit n = 9, Z 9 = {1,2,4,5,7,8}, φ(9) = 6 ordre de 1 = 1 : 1 0 = 1, 1 1 = 1 ordre de 2 = 6 (générateur) : 2 0 = 1, 2 1 = 2, 2 2 = 4, 2 3 = 8, 2 4 = 7, 2 5 = 5, 2 6 = 1 ordre de 4 = 3 : 4 0 = 1, 4 1 = 4, 4 2 = 7, 4 3 = 1 ordre de 5 = 6 (générateur) : 5 0 = 1, 5 1 = 5, 5 2 = 7, 5 3 = 8, 5 4 = 4, 5 5 = 2, 5 6 = 1 ordre de 7 = 3 : 7 0 = 1, 7 1 = 7, 7 2 = 4, 7 3 = 1 ordre de 8 = 2 : 8 0 = 1, 8 1 = 8, 8 2 = 1 Les différents ordres 1, 2, 3 et 6 divisent φ(9) = 6 19

21 Lemme Chinois Le théorème du reste Chinois : Si 1 i j k : pgcd(m i, m j ) = 1 alors le système de congruences : x a 1 (mod m 1 ). x a k (mod m k ) possède une et une seule solution modulo m où m = m 1... m k 20

22 Lemme Chinois - Preuve Preuve de l unicité de la solution : Si x a i (mod m i ) i [1, k] et si y a i (mod m i ) i [1, k], alors x y (mod m i ) i [1, k], et donc m i divise x y i [1, k], ce qui implique que m divise x y, et donc x y (mod m) 21

23 Lemme Chinois - Preuve (suite) Preuve de l existence d une solution : Posons M i = m m i i [1, k], m i est premier avec tous les m j (quand i j), et donc m i est premier avec M i Ainsi, il existe un entier c i tel que c i M i 1 (mod m i ) Posons x = k i=1 a i c i M i, nous constatons que x mod m i = a i c i M i mod m i = a i car M j 0 (mod m i ) quand i j et c i M i 1 (mod m i ) x est donc une solution du système 22

24 Les racines carrées de 1 Si n = pq, où p et q sont deux nombres premiers, il existe 4 racines carrées de 1 modulo n Ces 4 racines carrées se calculent à partir des deux racines carrées de 1 modulo p (à savoir 1 et -1), et des deux racines carrées de 1 modulo q (aussi 1 et -1) qui sont combinées au moyen du théorème du reste chinois 23

25 Les racines carrées de 1 (suite) Supposons p = 7, q = 3 et donc n = 21. Nous cherchons un x tel que x 2 = 1 (mod n). Nous construisons les 4 systèmes d équations suivants : (1) x 1 (mod p) et x 1 (mod q) ; (2) x 1 (mod p) et x 1 (mod q) ; (3) x 1 (mod p) et x 1 (mod q) ; (4) x 1 (mod p) et x 1 (mod q) que nous résolvons au moyen du théorème du reste chinois où m 1 = p, m 2 = q, M 1 = pq = q, M p 2 = pq = p, C q 1 = M1 1 mod m 1 = 5 et C 2 = M2 1 mod m 2 = 1 (1) x = a 1 C 1 M 1 +a 2 C 2 M 2 = = 1 mod 21 (2) x = a 1 C 1 M 1 +a 2 C 2 M 2 = ( 1) = 8 mod 21 (3) x = a 1 C 1 M 1 +a 2 C 2 M 2 = ( 1) 7 1 = 8 mod 21 (4) x = a 1 C 1 M 1 +a 2 C 2 M 2 = ( 1) 3 5+( 1) 7 1 = 1 mod 21 24

26 Résidus quadratiques Définition : a Z n est un résidu quadratique modulo n, s il existe un x Z n tel que x 2 a (mod n). Si un tel x n existe pas, a est un résidu non quadratique modulo n Définition : L ensemble de tous les résidus quadratiques modulo n est noté Q n, et l ensemble de tous les résidus non quadratiques modulo n est noté Q n Remarque : p 1 2 éléments de Z p sont des carrés modulo p et p 1 2 éléments n en sont pas (où p est un nombre premier impair) 25

27 Symbole de Legendre Définition : Si p est un premier impair et si a un entier, alors le symbole de Legendre : ( ) a p = 0 si p divise a 1 si a Q p 1 si a Q p De plus : ( a p ) = a p 1 2 mod p 26

28 Symbole de Legendre (suite) Preuve : Si p divise a, il existe un k tel que a = kp et donc a 0 (mod p) ; donc a p (mod p) Si a Q p alors il existe un x Z p tel que x 2 a (mod p). Nous avons alors : a p 1 2 x p 1 1 (mod p) (par Fermat) 27

29 Symbole de Legendre (suite) Preuve (suite) : Si a Q p, alors par Fermat (avec p un premier) nous pouvons écrire a p 1 1 (mod p) ainsi a p (mod p) et donc : ( a p 1 ) ( 2 1 a p 1 ) (mod p) Puisque a Q p, nous ne pouvons avoir : a p (mod p) car nous venons de voir qu alors a serait dans Q p Ainsi a annule a p , et donc : a p (mod p) si a Q p 28

30 Symbole de Jacobi Définition : Soit a un entier, et soit n impair 3 tel que n = p e p e r r (cf. le théorème fondamental de l arithmétique), alors : ( ) ( ) e1 ( ) er a a a =... n p 1 p r 29

31 Théorème 5 Théorème : a Q n a Q p et a Q q (où n = pq et p, q sont des premiers distincts) Preuve : a est un résidu quadratique modulo n il existe un x tel que x 2 a (mod n) x 2 a(up+vq) (mod n) (par Bézout, où up+vq = 1) x 2 aup + avq (mod n) x 2 a (p) x 2 a (q) (par le Lemme Chinois) a Q p et a Q q 30

32 Retour au symbole de Jacobi En conséquence du théorème 5, nous voyons que : si a Q p et a Q q, alors ( a n ) = ( ap ) ( aq ) = 1 1 = 1 Idem, si a Q p et Q q Si a Q p et a Q q alors ( a n ) = ( ap ) ( aq ) = 1 1 = 1 Mais si a Q p et a Q q alors nous avons aussi ( an ) = ( ap ) ( aq ) = 1 1 = 1 Ainsi ( a n ) = 1 ne permet pas de déterminer si a Qn ou si a Q n 31

33 Le problème de la factorisation Etant donné un entier positif n, trouver sa factorisation en premiers : n = p e p en n où les p i sont distincts et les e i 1 Quelques méthodes de factorisation : ρ-pollard p 1-Pollard Crible quadratique Number field sieve 32

34 RSA Génération des clés 1. choisir aléatoirement deux grands premiers distincts p et q approximativement de la même taille 2. calculer n = pq et φ(n) = (p 1)(q 1) 3. choisir un entier e aléatoire ]1, φ(n)[ tel que pgcd(e, φ(n)) = 1 4. calculer l unique d ]1, φ(n)[ tel que e d 1 (mod φ(n)) La clé publique est (n, e) La clé secrète est d 33

35 RSA (suite) Chiffrement Soit le message x Z n à chiffrer. Calculer : y = x e mod n Déchiffrement y est déchiffré en calculant : x = y d mod n 34

36 RSA - Exemple Soient p = 101, q = 113 Donc n = p q = Et φ(n) = = (= ) Soit e = 3533, nous avons bien (e, φ(n)) = 1 Alors d = 6597 qui vérifie e d 1 (mod φ(n)) La clé publique est (e, n) = (3533,11413) La clé privée est d =

37 RSA - Exemple (suite) Lorsqu Alice veut envoyer un message x = (=9726 en décimal) à Bob à qui appartient la clé publique ci-dessus, elle calcule : y = x e mod n = mod = 5761 Bob déchiffre le message chiffré y en calculant : x = y d mod n = mod =

38 Déchiffrement de RSA Preuve : Soit le message m, le composite n = pq, une clé publique RSA (e, n) et la clé privée correspondante d. Il existe un k tel que ed = 1 + kφ(n) Si (m, p) = 1 m p 1 1 (mod p) (par Fermat) m (p 1)(q 1)k 1 (mod p) m 1+(p 1)(q 1)k m (mod p) Si (m, p) = p (soit m = d p) m 1+(p 1)(q 1)k (d p) 1+φ(n)k 0 (mod p) ce qui est cohérent avec m d p 0 (mod p) 37

39 Déchiffrement de RSA (suite) Donc, dans tous les cas nous avons m ed m (mod p) De la même façon nous avons m ed m (mod q) Comme p et q sont des premiers distincts, par le théorème du reste Chinois nous avons : où x = m ed x m (mod p) x m (mod q) Nous avons x = map + mbq où a = p 1 mod q et b = q 1 mod p. Ainsi x = m(ap + bq) avec ap + bq = (p, q) = 1 (par Bézout, modulo n) Ainsi m ed modulo n = m 38

40 Contrainte sur l usage des clés Théorème : Connaissant une clé publique (e, n) et la clé privée associée d, nous pouvons factoriser n Preuve : Nous avons ed 1 (mod φ(n)) Pour n importe quel entier a Z n a ed 1 1 (mod n) nous avons : Nous pouvons écrire ed 1 = 2 s t avec t entier impair (a 2st 1 (mod n)) Si z = a 2s 1t est une racine carrée triviale de 1 modulo n on choisit un autre entier a Sinon (avec z qui est une racine carrée non triviale de 1 modulo n) nous avons z 2 1 (mod n) et n divise z 2 1, donc n divise (z 1)(z + 1) 39

41 Contrainte sur l usage des clés (suite) Que valent (z 1, n) et (z + 1, n)? Ces deux plus grands commun diviseur ne peuvent prendre comme valeurs que 1, p, q ou n Aucun des deux pgcd ne peut valoir n. En effet, si (z 1, n) = n alors z 1 est un multiple de n, donc z 1 (mod n) et z est une racine carrée triviale de 1. Le raisonnement est le même si (z + 1, n) = n De même, les deux pgcd ne peuvent être simultanément égaux à 1, car si (z 1, n) = 1 et (z+1, n) = 1 alors n ne divise pas z 2 1 Conclusion : au moins un des deux pgcd vaut p ou q Corollaire : Deux utilisateurs ne peuvent avoir le même n dans leur clé publique 40

42 Attaque cyclique Soit Alice qui envoie à Bob un message y chiffré avec sa clé RSA (e, n) Oscar intercepte ce message y qu il sait être à destination de Bob et «surchiffre» itérativement ce message chiffré. Il calcule ainsi : y e mod n (y e ) e mod n = y e2 mod n... (y ei 2 ) e mod n = y ei 1 mod n (y ei 1 ) e mod n = y ei mod n jusqu à ce que y ei mod n = y. A ce moment Oscar retrouve x = y ei 1 mod n 41

43 Le problème de la racine carrée Etant donné n = pq (où p et q sont premiers), et a un résidu quadratique modulo n, trouver une racine carrée de a modulo n Si p et q sont connus, il existe une solution de complexité polynomiale Le problème de la racine carrée modulo n est calculatoirement équivalent au problème de la factorisation 42

44 Rabin Génération des clés Choisir aléatoirement deux grands premiers p et q de même taille, calculer n = pq La clé publique est n La clé secrète est (p, q) Chiffrement Le message x à chiffrer Z n, calculer : y = x 2 mod n Déchiffrement Calculer la racine carrée modulo n de y. Choisir (éventuellement sur base d une redondance) le message clair parmi les 4 racines carrées 43

45 Le calcul des 4 racines carrées de y Soit n = pq, et p q 3 (mod 4) trouver les entiers a et b tel que ap + bq = 1 (Bezout) calculer r = y p+1 4 mod p calculer s = y q+1 4 mod q calculer g = aps + bqr mod n calculer h = aps + bq( r) mod n Les 4 racines carrées de y modulo n sont g, g, h et h 44

46 Rabin : chosen cipher text attack Oscar a accès à une «machine à déchiffrer» de Bob. Il choisit un x Z n et chiffre ce x à l intention de Bob : y = x 2 mod n. Il soumet ce y à la machine à déchiffrer et obtient en retour x qui est une des 4 racines carrées de y. Avec une probabilité égale à 1 2, cette racine carrée diffère de x et de x ; sinon Oscar recommence le processus. Soient : x de la forme aps + bqr x de la forme aps + bq( r) Oscar calcule : ( x x, n ) = (2bqr, pq) = q 45

47 Rabin - Exemple Soient p = 277, q = 331 Donc n = p q = La clé publique est n = La clé privée est (p, q) = (227,331) Lorsqu Alice veut envoyer un message x 0 = à Bob à qui appartient la clé publique ci-dessus, elle ajoute d abord une redondance (basée sur les 6 derniers bits) : x = x = = puis elle calcule : y = x 2 mod n = mod =

48 Rabin - Exemple (suite) Bob déchiffre le message chiffré en calculant la racine carrée de y modulo n (connaissant les deux facteurs premiers p et q de n) : y mod n = x 1 = = x 2 = = x 3 = = x 4 = = Seul x 3 a la redondance prévue et donc x 0 = est retrouvé 47

49 Le problème du logarithme discret Soit G un groupe cyclique d ordre n, soit α un générateur de G et soit β G, le logarithme discret de β en base α, log α (β), est l unique entier x, 0 x n 1, tel que β = α x Le problème (dans Z p) : Etant donné un nombre premier p, un générateur α Z p et un élément β Z p, trouver l entier x, 0 x n 1, tel que α x = β Quelques méthodes pour calculer un logarithme discret : «baby step, giant step», ρ-pollard pour logarithme, Pohlig-Hellman, Index calculus 48

50 Le problème Diffie-Hellman Soient un premier p, un générateur α Z p, un élément α a mod p et un élément α b mod p, trouver α ab mod p Le problème Diffie-Hellman P le problème du logarithme discret 49

51 El Gamal Génération des clés 1. choisir aléatoirement un grand premier p 2. trouver un générateur α du groupe multiplicatif Z p 3. choisir aléatoirement un entier a [1, p 2] 4. calculer β = α a mod p La clé publique est (p, α, β) La clé secrète est a 50

52 El Gamal (suite) Chiffrement Soit x Z p, choisir aléatoirement un entier k [1, p 2] et calculer : y 1 = α k mod p y 2 = x β k mod p Déchiffrement Soient (y 1, y 2 ) représentant le chiffré : x = y 1 a y 2 mod p 51

53 El Gamal - Exemple Soient p = 2579, α = 2, et a = 765 Nous avons α a mod p = mod 2579 = 949 La clé publique est (p, α, α a ) = (2579,2,949) La clé privée est a = 765 Lorsqu Alice veut envoyer un message x = = 1299 à Bob à qui appartient la clé publique ci-dessus, elle choisit k au hasard, prenons k = 853, et elle calcule : y 1 = α k mod p = mod 2579 y 2 = x (α a ) k mod p = mod 2579 y 1 = 435 y 2 =

54 El Gamal - Exemple (suite) Bob déchiffre le message chiffré en calculant : x = y 1 a y 2 mod p x = ( ) mod 2579 x =

55 Le subset sum problem Soit un ensemble {a 1,..., a n } d entiers positifs et soit un entier s, déterminer s il existe ou non un sousensemble des a j, 1 j n, tel que leur somme égale s Ou encore, déterminer s il existe des x i binaires (de valeurs 0 ou 1), 1 i n, tels que : n i=1 a i x i = s 54

56 Séquence super-croissante Une séquence super-croissante est une séquence de n entiers positifs b i tel que i [2, n] : b i > i 1 j=1 b j Algorithme résolvant le «subset sum problem» d une séquence super croissante de n éléments b i et d une somme s : i=n; while(i >= 1) { if(s >= b[i]) { x[i]=1; s-=b[i]; } else x[i]=0; --i; } 55

57 Les séquences super-croissantes Une séquence de nombres est un séquence supercroissante (super-increasing sequence) si chaque nombre de cette séquence est plus grand ou égal à la somme des éléments qui le précédent dans la séquence. Le problème de la somme des sous-ensembles (subset sum problem) se résout en une complexité polynomiale pour les séquences super-croissantes. 56

58 Subset sum problem (exemple 1) Soit la séquence super-croissante suivante : E = {6,15,37,83,190,386,781,1580}. Existe-t-il un sousensemble de E tel que la somme des éléments de sous ensemble donne s = 1221? L algorithme évolue ainsi : i = 8 = E ? non x 8 = 0 i = ? oui x 7 = 1 et s = 440 i = ? oui x 6 = 1 et s = 54 i = ? non x 5 = 0 i = ? non x 4 = 0 i = ? oui x 3 = 1 et s = 17 i = ? oui x 2 = 1 et s = 2 i = 1 2 6? non x 1 = 0 Quand la boucle de l algorithme se termine s vaut toujours 2 (et non 0), cela indique qu il n y a pas de sous-ensemble de valeurs de E telles que leur somme égale s. En effet, si nous prenons les éléments de E correspondant au x i qui valent 1, nous avons : =

59 Subset sum problem (exemple 2) Si avec la même séquence E : E = {6,15,37,83,190,386,781,1580}, nous cherchons un sous-ensemble dont la somme serait s = 619, alors nous avons : i = 8 = E ? non x 8 = 0 i = ? non x 7 = 0 i = ? oui x 6 = 1 et s = 233 i = ? oui x 5 = 1 et s = 43 i = ? non x 4 = 0 i = ? oui x 3 = 1 et s = 6 i = ? non x 2 = 0 i = 1 6 6? oui x 1 = 1 et s = 0 Quand la boucle de l algorithme se termine s vaut 0 ce qui signifie que nous avons trouvé un sous-ensemble de valeurs de E telles que leur somme égale s. Si nous prenons les éléments de E correspondant au x i qui valent 1, nous avons : =

60 Merkle-Hellman Génération des clés Un entier n est fixé comme paramètre commun 1. choisir une séquence super-croissante de n éléments b i et un modulus M tels que : M > b b n 2. choisir un entier W [1, M 1] tel que W soit premier avec M 3. calculer i [1, n] : a i = W b i mod M La clé publique est (a 1,..., a n ) La clé secrète est (M, W, b 1,..., b n ) 59

61 Merkle-Hellman (suite) Chiffrement Soit x un message à chiffrer de n bits Calculer y = x 1 a x n a n Déchiffrement calculer d = W 1 y mod M résoudre le «subset sum problem» sur la séquence des b i avec la somme égale à d le message clair x est tel que d = x 1 b x n b n 60

62 Merkle-Hellman (exemple) Soient les informations suivantes relatives à Bob : n = 9, (b 1,..., b 9 ) = (2,5,9,21,45,103,215,450,946) une suite supercroissante, M = 2003 et W = 1289 (le pgcd(w, M) = 1). Nous avons (a 1,..., a 9 ) = (575,436,1586,1030,1921,569,721,1183,1570) qui n est plus une suite super-croissante. Si Alice veut envoyer le message x = à Bob, elle calcule : y = = 6665 Pour déchiffrer Bob calcule : d = W 1 y = (1289) = = 1643 mod 2003 Puis Bob cherche les x i tel que s = n i=1 x ib i s = 1643 x 9 = 1 s = 697 x 8 = 1 s = 247 x 7 = 1 s = 32 x 6 = 0, x 5 = 0, x 4 = 1 s = 11 x 3 = 1 s = 2 x 2 = 0, x 1 = 1 s = 0 Et il retrouve x =

63 Attaques sur le subset sum problem Attaques du schéma de chiffrement de Merkle-Hellman : Adi Shamir A polynomial-times algorithm for breaking the basic Merkle-Hellman cryptosystem, IEEE Transaction on Information Theory, Vol 30, 1984 ou J.C. Lagarias Knapsack public key cryptosystems and diophantine approximation, Proceedings of Crypto 83, Plenum Press,

64 Autres cryptosystèmes basés sur le subset sum problem Un autre cryptosystem basé sur le subset sum problem et non encore cassé : B. Chor et R. Rivest A knapsack type public-key cryptosystem based on arithmetic in finite fields, Proceedings of Crypto 84, Lecture Notes in Computer Science, no. 196, Springer, 1985 ou B. Chor and R. Rivest A knapsack type public-key cryptosystem based on arithmetic in finite field, IEEE Transaction on Information Theory, Vol 34,

65 Le problème de résiduosité quadratique Etant donné un entier composite impair n, et un a Z n tel que ( a n ) = 1, décider si a est ou non un résidu quadratique modulo n Le problème de résiduosité quadratique P le problème de la factorisation 64

66 Goldwasser-Micali Génération des clés 1. choisir aléatoirement 2 grands premiers distincts p et q approximativement de même taille 2. calculer n = pq 3. choisir z Z n tel que z soit un résidu non quadratique modulo n et tel que ( z n ) = 1 La clé publique est : (n, z) La clé secrète est : (p, q) 65

67 Goldwasser-Micali (suite) Chiffrement Soit le message x à chiffrer composé de t bits : x 1... x t 1. choisir aléatoirement i [1, t] : r i 2. i [1, t] : y i = z x i r i 2 mod n Déchiffrement i [1, t], calculer ( y i p ) = ei Si e i = 1 alors x i = 0, sinon x i = 1 Remarque : y i est un résidu quadratique modulo n (n = pq) si y i est un résidu quadratique modulo p 66

68 Goldwasser-Micali (exemple) Soient p = 7, q = 3 et donc n = 7 3 = 21 les informations suivantes relatives à Bob. Nous cherchons un z Z n qui soit un résidu non quadratique modulo n et tel que ( z n ) = 1 Les résidus quadratique modulo 21 sont {1,4,7,9,15,16,17,18} (se sont les seuls résultats possibles de la mise au carré des éléments de Z n ). Essayons z = 11 (qui est bien un résidu non quadratique modulo 21) et calculons le symbole de Jacobi : ( ) ( ) ( ) = = (11 1 mod 3) (11 3 mod 7) = 1 1 = 1. Et donc z = 11 ne convient pas. Essayons z = 5 (qui est aussi un résidu non quadratique modulo 21) : ( 5 21 ) = ( 53 ) ( 57 ) = (5 1 mod 3) (5 3 mod 7) = 1 1 = 1. Donc z = 5 convient. 67

69 Goldwasser-Micali (exemple) Si Alice veut chiffrer le message x = pour Bob, elle choisit au hasard r 1 = 4, r 2 = 8, r 3 = 13, r 4 = 5 et r 5 = 4. Puis elle calcule : y 1 = = 80 = 17 mod 21 y 2 = 8 2 = 1 mod 21 y 3 = = 845 = 5 mod 21 y 4 = = 125 = 20 mod 21 y 5 = 4 2 = 16 mod 21 Et donc y = (17,1,5,20,16). 68

70 Goldwasser-Micali (exemple) Pour déchiffrer y = (17,1,5,20,16) Bob évalue les symboles de Legendre suivants : ( y1p ) = ( 177 ) = 17 3 = 4913 = 1 mod 7 1 x 1 = 1 ( y2p ) = ( 17 ) = 1 3 = 1 mod 7 x 2 = 0 ( ) ( ) y3p = 57 = 5 3 = 125 = 1 mod 7 1 x ( 3 = ) 1 ( ) y4p = 207 = 20 3 = 8000 = 1 mod 7 1 ( ) x 4 ( = 1 ) y5p = 167 = 16 3 = 4096 = 1 mod 7 x 5 = 0 Et Bob retrouve x =

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 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

0x700. Cryptologie. 2012 Pearson France Techniques de hacking, 2e éd. Jon Erickson 0x700 Cryptologie La cryptologie est une science qui englobe la cryptographie et la cryptanalyse. La cryptographie sous-tend le processus de communication secrète à l aide de codes. La cryptanalyse correspond

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

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

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

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

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

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

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

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

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

Travail d intérêt personnel encadré : La cryptographie DÉCAMPS Régis & JUÈS Thomas 110101 111011 111001 111100 100011 001111 001110 110111 111011 111111 011111.......... 011111 110101 110100 011110 001111 000110 101111 010100 011011 100110 101111 010110 101010

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

DOCM 2013 http://docm.math.ca/ Solutions officielles. 1 2 10 + 1 2 9 + 1 2 8 = n 2 10.

DOCM 2013 http://docm.math.ca/ Solutions officielles. 1 2 10 + 1 2 9 + 1 2 8 = n 2 10. A1 Trouvez l entier positif n qui satisfait l équation suivante: Solution 1 2 10 + 1 2 9 + 1 2 8 = n 2 10. En additionnant les termes du côté gauche de l équation en les mettant sur le même dénominateur

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

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

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

É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

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

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

Feuille TD n 1 Exercices d algorithmique éléments de correction

Feuille TD n 1 Exercices d algorithmique éléments de correction Master Sciences, Technologies, Santé Mention Mathématiques, spécialité Enseignement des mathématiques Algorithmique et graphes, thèmes du second degré Feuille TD n 1 Exercices d algorithmique éléments

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

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

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

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

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

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

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

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

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

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

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

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

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application Université de Provence Licence Math-Info Première Année V. Phan Luong Algorithmique et Programmation en Python Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application 1 Ordinateur Un

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

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

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

Corrigé des TD 1 à 5

Corrigé des TD 1 à 5 Corrigé des TD 1 à 5 1 Premier Contact 1.1 Somme des n premiers entiers 1 (* Somme des n premiers entiers *) 2 program somme_entiers; n, i, somme: integer; 8 (* saisie du nombre n *) write( Saisissez un

Plus en détail

Nouveaux résultats en cryptographie basée sur les codes correcteurs d erreurs

Nouveaux résultats en cryptographie basée sur les codes correcteurs d erreurs MajecSTIC 2009 Avignon, France, du 16 au 18 novembre 2009 Nouveaux résultats en cryptographie basée sur les codes correcteurs d erreurs Pierre-Louis CAYREL Université Paris VIII Département de Mathématiques

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

Exercices Corrigés Premières notions sur les espaces vectoriels

Exercices Corrigés Premières notions sur les espaces vectoriels Exercices Corrigés Premières notions sur les espaces vectoriels Exercice 1 On considére le sous-espace vectoriel F de R formé des solutions du système suivant : x1 x 2 x 3 + 2x = 0 E 1 x 1 + 2x 2 + x 3

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

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

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

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

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

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

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

Partie 1 - Séquence 3 Original d une fonction

Partie 1 - Séquence 3 Original d une fonction Partie - Séquence 3 Original d une fonction Lycée Victor Hugo - Besançon - STS 2 I. Généralités I. Généralités Définition Si F(p) = L [f(t)u (t)](p), alors on dit que f est l original de F. On note f(t)

Plus en détail

Cours 7 : Utilisation de modules sous python

Cours 7 : Utilisation de modules sous python Cours 7 : Utilisation de modules sous python 2013/2014 Utilisation d un module Importer un module Exemple : le module random Importer un module Exemple : le module random Importer un module Un module est

Plus en détail

Représentation géométrique d un nombre complexe

Représentation géométrique d un nombre complexe CHAPITRE 1 NOMBRES COMPLEXES 1 Représentation géométrique d un nombre complexe 1. Ensemble des nombres complexes Soit i le nombre tel que i = 1 L ensemble des nombres complexes est l ensemble des nombres

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

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

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

Algorithmes et mathématiques. 1. Premiers pas avec Python. Exo7. 1.1. Hello world!

Algorithmes et mathématiques. 1. Premiers pas avec Python. Exo7. 1.1. Hello world! Exo7 Algorithmes et mathématiques Vidéo partie 1. Premiers pas avec Python Vidéo partie 2. Ecriture des entiers Vidéo partie 3. Calculs de sinus, cosinus, tangente Vidéo partie 4. Les réels Vidéo partie

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

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

Table des matières. I Mise à niveau 11. Préface Table des matières Préface v I Mise à niveau 11 1 Bases du calcul commercial 13 1.1 Alphabet grec...................................... 13 1.2 Symboles mathématiques............................... 14 1.3

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

Les suites numériques

Les suites numériques Chapitre 3 Term. STMG Les suites numériques Ce que dit le programme : Suites arithmétiques et géométriques CONTENUS CAPACITÉS ATTENDUES COMMENTAIRES Suites arithmétiques et géométriques Expression du terme

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

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

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

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications A. Optimisation sans contrainte.... Généralités.... Condition nécessaire et condition suffisante

Plus en détail

1 radian. De même, la longueur d un arc de cercle de rayon R et dont l angle au centre a pour mesure α radians est α R. R AB =R.

1 radian. De même, la longueur d un arc de cercle de rayon R et dont l angle au centre a pour mesure α radians est α R. R AB =R. Angles orientés Trigonométrie I. Préliminaires. Le radian Définition B R AB =R C O radian R A Soit C un cercle de centre O. Dire que l angle géométrique AOB a pour mesure radian signifie que la longueur

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

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

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

AC AB. A B C x 1. x + 1. d où. Avec un calcul vu au lycée, on démontre que cette solution admet deux solutions dont une seule nous intéresse : x = LE NOMBRE D OR Présentation et calcul du nombre d or Euclide avait trouvé un moyen de partager en deu un segment selon en «etrême et moyenne raison» Soit un segment [AB]. Le partage d Euclide consiste

Plus en détail

Cryptologie à clé publique

Cryptologie à clé publique Cryptologie à clé publique La cryptologie est partout Chacun utilise de la crypto tous les jours sans forcément sans rendre compte en : - téléphonant avec un portable - payant avec sa carte bancaire -

Plus en détail

Les indices à surplus constant

Les indices à surplus constant Les indices à surplus constant Une tentative de généralisation des indices à utilité constante On cherche ici en s inspirant des indices à utilité constante à définir un indice de prix de référence adapté

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

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

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

Fonctions homographiques

Fonctions homographiques Seconde-Fonctions homographiques-cours Mai 0 Fonctions homographiques Introduction Voir le TP Géogébra. La fonction inverse. Définition Considérons la fonction f définie par f() =. Alors :. f est définie

Plus en détail

16 Chapitre 16. Autour des générateurs pseudoaléatoires

16 Chapitre 16. Autour des générateurs pseudoaléatoires Chapitre 16 Chapitre 16. Autour des générateurs pseudoaléatoires Hasard et informatique peuvent paraître antinomiques. Car enfin, comment le circuit imprimé d un ordinateur ou d une calculatrice, parfaitement

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

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

Continuité en un point

Continuité en un point DOCUMENT 4 Continuité en un point En général, D f désigne l ensemble de définition de la fonction f et on supposera toujours que cet ensemble est inclus dans R. Toutes les fonctions considérées sont à

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

Baccalauréat S Antilles-Guyane 11 septembre 2014 Corrigé

Baccalauréat S Antilles-Guyane 11 septembre 2014 Corrigé Baccalauréat S ntilles-guyane 11 septembre 14 Corrigé EXERCICE 1 6 points Commun à tous les candidats Une entreprise de jouets en peluche souhaite commercialiser un nouveau produit et à cette fin, effectue

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

Seconde Généralités sur les fonctions Exercices. Notion de fonction.

Seconde Généralités sur les fonctions Exercices. Notion de fonction. Seconde Généralités sur les fonctions Exercices Notion de fonction. Exercice. Une fonction définie par une formule. On considère la fonction f définie sur R par = x + x. a) Calculer les images de, 0 et

Plus en détail

Chapitre 10 Arithmétique réelle

Chapitre 10 Arithmétique réelle Chapitre 10 Arithmétique réelle Jean Privat Université du Québec à Montréal INF2170 Organisation des ordinateurs et assembleur Automne 2013 Jean Privat (UQAM) 10 Arithmétique réelle INF2170 Automne 2013

Plus en détail

Programmation linéaire et Optimisation. Didier Smets

Programmation linéaire et Optimisation. Didier Smets Programmation linéaire et Optimisation Didier Smets Chapitre 1 Un problème d optimisation linéaire en dimension 2 On considère le cas d un fabricant d automobiles qui propose deux modèles à la vente, des

Plus en détail