Contrer l attaque Simple Power Analysis efficacement dans les applications de la cryptographie asymétrique, algorithmes et implantations

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

Download "Contrer l attaque Simple Power Analysis efficacement dans les applications de la cryptographie asymétrique, algorithmes et implantations"

Transcription

1 Jean-Marc ROBERT DALI/LIRMM, UPVD, France 1 / 60 Contrer l attaque Simple Power Analysis efficacement dans les applications de la cryptographie asymétrique, algorithmes et implantations Jean-Marc ROBERT DALI/LIRMM, UPVD, France le 8 décembre 2015

2 Jean-Marc ROBERT DALI/LIRMM, UPVD, France 2 / 60 Soutenance de thèse devant le jury composé de : M. Jean-Claude Bajard Pr. UPMC Examinateur M. Thomas Plantard CR UOW Examinateur M. Christophe Clavier Pr. ULimoges Rapporteur M. Arnaud Tisserand DR CNRS Rapporteur M. Bernard Goossens Pr. UPVD Directeur de thèse M. Christophe Nègre MC UPVD Co-directeur de thèse

3 Jean-Marc ROBERT DALI/LIRMM, UPVD, France 3 / 60 Table des matières 1 Introduction Cryptographie asymétrique Contributions de la thèse 2 Dans la cryptographie sur courbe elliptique Groupe additif considéré : ECC Multiplication scalaire de point de courbe elliptique (ECSM) Montgomery revisité, ECC sur F 2 m 3 Dans l exponentiation modulaire, combiner les opérations Multiplication modulaire Contributions Application aux exponentiations régulières 4 Conclusion

4 Introduction Cryptographie asymétrique Jean-Marc ROBERT DALI/LIRMM, UPVD, France 4 / 60 Table des matières 1 Introduction Cryptographie asymétrique Contributions de la thèse 2 Dans la cryptographie sur courbe elliptique Groupe additif considéré : ECC Multiplication scalaire de point de courbe elliptique (ECSM) Montgomery revisité, ECC sur F 2 m 3 Dans l exponentiation modulaire, combiner les opérations Multiplication modulaire Contributions Application aux exponentiations régulières 4 Conclusion

5 Introduction Cryptographie asymétrique Jean-Marc ROBERT DALI/LIRMM, UPVD, France 5 / 60 Cryptographie Les quatre buts de la cryptographie Confidentialité : mécanisme pour transmettre des données de telle sorte que seul le destinataire autorisé puisse les lire. Authentification : mécanisme pour permettre d identifier des personnes ou des entités et de certifier cette identité. Intégrité : mécanisme pour s assurer que les données reçues n ont pas été modifiées durant la transmission. Non-répudiation : mécanisme pour empêcher la rétractation.

6 Introduction Cryptographie asymétrique Jean-Marc ROBERT DALI/LIRMM, UPVD, France 6 / 60 Principe cryptographie symétrique/asymétrique Cryptographie symétrique Alice et Bob :-) C E k (M) C M D k (C) Bob et Alice utilisent la même clé : k

7 Introduction Cryptographie asymétrique Jean-Marc ROBERT DALI/LIRMM, UPVD, France 6 / 60 Principe cryptographie symétrique/asymétrique Cryptographie asymétrique Alice et Bob :-) C E kpub (M) C M D ksec (C) Alice génère une clé publique et une clé secrète : k pub k sec

8 Introduction Cryptographie asymétrique Jean-Marc ROBERT DALI/LIRMM, UPVD, France 7 / 60 Problèmes difficiles Fonction à sens unique : C E kpub (M) facile à effectuer ; M E 1 k pub (C) impossible en temps raisonnable ; M D ksec (C)[= E 1 k pub (C)] facile ; D ksec est appelé fonction trappe, ou porte dérobée (trapdoor).

9 Introduction Cryptographie asymétrique Jean-Marc ROBERT DALI/LIRMM, UPVD, France 7 / 60 Problèmes difficiles Fonction à sens unique : C E kpub (M) facile à effectuer ; M E 1 k pub (C) impossible en temps raisonnable ; M D ksec (C)[= E 1 k pub (C)] facile ; D ksec est appelé fonction trappe, ou porte dérobée (trapdoor). Deux problèmes mathématiques : la factorisation RSA le logarithme discret échange de clé chiffrement El-Gamal signature (DSA, ECDSA)

10 Introduction Cryptographie asymétrique Jean-Marc ROBERT DALI/LIRMM, UPVD, France 8 / 60 Chiffrement/déchiffrement RSA (Rivest, Shamir et Adlemann) Basé sur le problème de la factorisation. Alice génère une paire de clé. Pour ce faire : elle choisit deux nombres premiers distincts p et q ; elle calcule N = pq ; elle calcule φ(n) = φ(p)φ(q) = (p 1)(q 1) = N (p + q 1) ; elle choisit un entier e tel que 1 < e < φ(n) et pgcd(e, φ(n)) = 1 ; elle calcule d tel que d e 1 mod φ(n) ; e est publié, c est la clé publique, d est conservé, c est la clé secrète.

11 Introduction Cryptographie asymétrique Jean-Marc ROBERT DALI/LIRMM, UPVD, France 9 / 60 Le protocole RSA (2) Pour chiffrer un message M, Bob utilise la clé publique d Alice e : C = M e mod N

12 Introduction Cryptographie asymétrique Jean-Marc ROBERT DALI/LIRMM, UPVD, France 9 / 60 Le protocole RSA (2) Pour chiffrer un message M, Bob utilise la clé publique d Alice e : C = M e mod N Alice déchiffre le message de Bob en utilisant sa clé secrète d : C d mod N = (M e ) d mod N = M e d mod N = M e d mod φ(n) mod N = M 1 mod N = M

13 Introduction Cryptographie asymétrique Jean-Marc ROBERT DALI/LIRMM, UPVD, France 9 / 60 Le protocole RSA (2) Pour chiffrer un message M, Bob utilise la clé publique d Alice e : C = M e mod N Alice déchiffre le message de Bob en utilisant sa clé secrète d : C d mod N = (M e ) d mod N = M e d mod N = M e d mod φ(n) mod N = M 1 mod N = M L opération principale est l exponentiation modulaire.

14 Introduction Cryptographie asymétrique Jean-Marc ROBERT DALI/LIRMM, UPVD, France 10 / 60 Square-and-multiply Square-and-multiply Require: Le module RSA N, g et e = (e t 1,..., e 0 ) 2 entiers {0,..., N 1}, avec e t 1 = 1. Ensure: X = g e mod N Left-to-right X g for i = t 2 downto 0 do X X 2 mod N if e i = 1 then X X g mod N return (X = g e ) Right-to-left X 1 for i = 0 to t 1 do if e i = 1 then X X g mod N g g 2 mod N return (X = g e )

15 Introduction Cryptographie asymétrique Jean-Marc ROBERT DALI/LIRMM, UPVD, France 11 / 60 Simple Power Analysis RSA Left-to-right Square-and-multiply Require: Le module RSA N, g et e = (e t 1,..., e 0 ) 2 entiers [0,..., N[, avec e t 1 = 1. Ensure: X = g e mod N X g for i = t 2 downto 0 do X X 2 mod N if e i = 1 then X X g mod N return (X = g e )

16 Introduction Cryptographie asymétrique Jean-Marc ROBERT DALI/LIRMM, UPVD, France 11 / 60 Simple Power Analysis RSA Left-to-right Square-and-multiply Require: Le module RSA N, g et e = (e t 1,..., e 0 ) 2 entiers [0,..., N[, avec e t 1 = 1. Ensure: X = g e mod N X g for i = t 2 downto 0 do X X 2 mod N un carré correspond à un petit créneau if e i = 1 then X X g mod N return (X = g e )

17 Introduction Cryptographie asymétrique Jean-Marc ROBERT DALI/LIRMM, UPVD, France 11 / 60 Simple Power Analysis RSA Left-to-right Square-and-multiply Require: Le module RSA N, g et e = (e t 1,..., e 0 ) 2 entiers [0,..., N[, avec e t 1 = 1. Ensure: X = g e mod N X g for i = t 2 downto 0 do X X 2 mod N if e i = 1 then X X g mod N une multiplication correspond à un grand créneau return (X = g e )

18 Introduction Cryptographie asymétrique Jean-Marc ROBERT DALI/LIRMM, UPVD, France 11 / 60 Simple Power Analysis RSA Left-to-right Square-and-multiply Require: Le module RSA N, g et e = (e t 1,..., e 0 ) 2 entiers [0,..., N[, avec e t 1 = 1. Ensure: X = g e mod N X g for i = t 2 downto 0 do X X 2 mod N if e i = 1 then X X g mod N return (X = g e ) Vulnérable : la séquence des opérations fait fuire des informations sur l exposant (pas de régularité.)

19 Introduction Cryptographie asymétrique Jean-Marc ROBERT DALI/LIRMM, UPVD, France 12 / 60 Protocole d échange de clé de Diffie-Hellmann Basé sur le problème du logarithme discret. Alice et Bob s accordent sur un groupe additif (G, +, O) et un générateur du groupe P. Alice Bob

20 Introduction Cryptographie asymétrique Jean-Marc ROBERT DALI/LIRMM, UPVD, France 12 / 60 Protocole d échange de clé de Diffie-Hellmann Basé sur le problème du logarithme discret. Alice et Bob s accordent sur un groupe additif (G, +, O) et un générateur du groupe P. Alice a random() calcule A = a P Bob b random() calcule B = b P

21 Introduction Cryptographie asymétrique Jean-Marc ROBERT DALI/LIRMM, UPVD, France 12 / 60 Protocole d échange de clé de Diffie-Hellmann Basé sur le problème du logarithme discret. Alice et Bob s accordent sur un groupe additif (G, +, O) et un générateur du groupe P. Alice a random() calcule A = a P envoie B envoie A Bob b random() calcule B = b P

22 Introduction Cryptographie asymétrique Jean-Marc ROBERT DALI/LIRMM, UPVD, France 12 / 60 Protocole d échange de clé de Diffie-Hellmann Basé sur le problème du logarithme discret. Alice et Bob s accordent sur un groupe additif (G, +, O) et un générateur du groupe P. Alice a random() calcule A = a P calcule K = a B envoie B envoie A Bob b random() calcule B = b P calcule K = b A

23 Introduction Cryptographie asymétrique Jean-Marc ROBERT DALI/LIRMM, UPVD, France 12 / 60 Protocole d échange de clé de Diffie-Hellmann Basé sur le problème du logarithme discret. Alice et Bob s accordent sur un groupe additif (G, +, O) et un générateur du groupe P. Alice a random() calcule A = a P calcule K = a B envoie B envoie A Bob b random() calcule B = b P calcule K = b A clé secrète partagée K = a b P L opération principale est la multiplication scalaire a P.

24 Introduction Cryptographie asymétrique Jean-Marc ROBERT DALI/LIRMM, UPVD, France 13 / 60 Algorithme de base : Double-and-add Multiplication scalaire d un élément P dans un groupe additif (G, +, O). Left-to-Right double-and-add Require: k = (k t 1,..., k 1, k 0 ), P G Ensure: Q = k P 1: Q O 2: for i from t 1 downto 0 do 3: Q 2 Q 4: if k i = 1 then 5: Q Q + P 6: return (Q)

25 Introduction Contributions de la thèse Jean-Marc ROBERT DALI/LIRMM, UPVD, France 14 / 60 Table des matières 1 Introduction Cryptographie asymétrique Contributions de la thèse 2 Dans la cryptographie sur courbe elliptique Groupe additif considéré : ECC Multiplication scalaire de point de courbe elliptique (ECSM) Montgomery revisité, ECC sur F 2 m 3 Dans l exponentiation modulaire, combiner les opérations Multiplication modulaire Contributions Application aux exponentiations régulières 4 Conclusion

26 Introduction Contributions de la thèse Jean-Marc ROBERT DALI/LIRMM, UPVD, France 15 / 60 Contributions L amélioration des performances des opérations arithmétiques utilisées dans les protocoles de la cryptographie asymétrique résistant à l attaque Simple Power Analysis. Sur la multiplication scalaire de point de courbe elliptique : sur F 2 m, opérations combinées (AfricaCrypt 2013) ; sur F 2 m, échelle de Montgomery parallèle (IEEE-TC) ; sur F p et F 2 m, implantation de l approche parallèle de Moreno et Hasan (InsCrypt 2014) ; sur l exponentiation modulaire : multiplications modulaires multiples avec une opérande commune (Arith22).

27 Introduction Contributions de la thèse Jean-Marc ROBERT DALI/LIRMM, UPVD, France 15 / 60 Contributions L amélioration des performances des opérations arithmétiques utilisées dans les protocoles de la cryptographie asymétrique résistant à l attaque Simple Power Analysis. Sur la multiplication scalaire de point de courbe elliptique : sur F 2 m, opérations combinées (AfricaCrypt 2013) ; sur F 2 m, échelle de Montgomery parallèle (IEEE-TC) ; sur F p et F 2 m, implantation de l approche parallèle de Moreno et Hasan (InsCrypt 2014) ; sur l exponentiation modulaire : multiplications modulaires multiples avec une opérande commune (Arith22).

28 Dans la cryptographie sur courbe elliptique Groupe additif considéré : ECC Jean-Marc ROBERT DALI/LIRMM, UPVD, France 16 / 60 Table des matières 1 Introduction Cryptographie asymétrique Contributions de la thèse 2 Dans la cryptographie sur courbe elliptique Groupe additif considéré : ECC Multiplication scalaire de point de courbe elliptique (ECSM) Montgomery revisité, ECC sur F 2 m 3 Dans l exponentiation modulaire, combiner les opérations Multiplication modulaire Contributions Application aux exponentiations régulières 4 Conclusion

29 Dans la cryptographie sur courbe elliptique Groupe additif considéré : ECC Jean-Marc ROBERT DALI/LIRMM, UPVD, France 17 / 60 Notre groupe : l ensemble des points d une courbe elliptique E : y 2 + a 1 xy + a 3 y = x 3 + a 2 x 2 + a 4 x + a 6. Loi corde-tangente, exemple sur R :

30 Dans la cryptographie sur courbe elliptique Groupe additif considéré : ECC Jean-Marc ROBERT DALI/LIRMM, UPVD, France 17 / 60 Notre groupe : l ensemble des points d une courbe elliptique E : y 2 + a 1 xy + a 3 y = x 3 + a 2 x 2 + a 4 x + a 6. Loi corde-tangente, exemple sur R :

31 Dans la cryptographie sur courbe elliptique Groupe additif considéré : ECC Jean-Marc ROBERT DALI/LIRMM, UPVD, France 18 / 60 Cryptographie : courbe elliptique sur corps fini Notre courbe est sur un corps fini F p ou F 2 m (au lieu de R) : E : Y 2 = X 3 + ax + b, a, b F p. E : Y 2 + XY = X 3 + ax 2 + b, a, b F 2 m. opérations sur corps fini F 2 m : Opération élément du corps Addition A + B = Multiplication A B = A, B F 2 m (= F 2 [x]/(f (x) F 2 [x])) A = m 1 i=0 a i x i B = m 1 i=0 b i x i a i, b i {0, 1} i=0 (a i b i ) x i (XOR) A B mod f m 1

32 Dans la cryptographie sur courbe elliptique Groupe additif considéré : ECC Jean-Marc ROBERT DALI/LIRMM, UPVD, France 19 / 60 Opérations sur points de courbe elliptique La loi corde-tangente se transcrit en équation. Formules pour le doublement ou l addition (courbe sur F 2 m) : P 1 + P 2 = P 3 (avec P 1 = (x 1, y 1 ), P 2 = (x 2, y 2 ), P 3 = (x 3, y 3 ).) x 3 = λ 2 + λ + x 1 + x 2 + a y 3 = (x 1 + x 3 )λ + x 3 + y 1 avec λ = y1+y2 x 1+x 2 si P 1 P 2 λ = y1 x 1 + x 1 si P 1 = P 2

33 Dans la cryptographie sur courbe elliptique Groupe additif considéré : ECC Jean-Marc ROBERT DALI/LIRMM, UPVD, France 19 / 60 Opérations sur points de courbe elliptique La loi corde-tangente se transcrit en équation. Formules pour le doublement ou l addition (courbe sur F 2 m) : P 1 + P 2 = P 3 (avec P 1 = (x 1, y 1 ), P 2 = (x 2, y 2 ), P 3 = (x 3, y 3 ).) x 3 = λ 2 + λ + x 1 + x 2 + a y 3 = (x 1 + x 3 )λ + x 3 + y 1 avec λ = y1+y2 x 1+x 2 si P 1 P 2 λ = y1 x 1 + x 1 si P 1 = P 2 Un doublement nécessite 1 inversion, 2 multiplications, 1 élévation au carré, et quelques additions ; Une addition nécessite 1 inversion, 2 multiplications, 1 élévation au carré, et quelques additions ;

34 Dans la cryptographie sur courbe elliptique Groupe additif considéré : ECC Jean-Marc ROBERT DALI/LIRMM, UPVD, France 20 / 60 Représentation d un point : coordonnées projectives But : éliminer les inversions (l opération la plus coûteuse). P = (x, y) se transforme en (X : Y : Z) avec { x = X Z y = Y Z on pose 2P = (X 3 : Y 3 : Z 3 ), on a maintenant (sur F 2 m ) : X 3 = C E Y 3 = BC E + A 2 C Z 3 = C D avec A = X 2 B = A + Y Z C = X Z BC = B + C D = C 2 E = (B BC + a D)

35 Dans la cryptographie sur courbe elliptique Groupe additif considéré : ECC Jean-Marc ROBERT DALI/LIRMM, UPVD, France 20 / 60 Représentation d un point : coordonnées projectives But : éliminer les inversions (l opération la plus coûteuse). P = (x, y) se transforme en (X : Y : Z) avec { x = X Z y = Y Z on pose 2P = (X 3 : Y 3 : Z 3 ), on a maintenant (sur F 2 m ) : X 3 = C E Y 3 = BC E + A 2 C Z 3 = C D avec A = X 2 B = A + Y Z C = X Z BC = B + C D = C 2 E = (B BC + a D) Complexité des opérations de points de courbe elliptique sur F 2 m. Opération Coût en affine Coût en projective Doublement 1I + 2M + 1S 8M + 3S Addition 15M + 1S 1I + 2M + 1S (coordonnées mixées) 12M + 2S I = inversion, M = multiplication, S = élévation au carré

36 Dans la cryptographie sur courbe elliptique Groupe additif considéré : ECC Représentation d un point : coordonnées projectives But : éliminer les inversions (l opération la plus coûteuse). P = (x, y) se transforme en (X : Y : Z) avec { x = X Z y = Y Z on pose 2P = (X 3 : Y 3 : Z 3 ), on a maintenant (sur F 2 m ) : X 3 = C E Y 3 = BC E + A 2 C Z 3 = C D avec A = X 2 B = A + Y Z C = X Z BC = B + C D = C 2 E = (B BC + a D) Complexité des opérations de points de courbe elliptique sur F 2 m. Opération Coût en affine Coût en projective Doublement 1I + 2M + 1S 8M + 3S Addition 15M + 1S 1I + 2M + 1S (coordonnées mixées) 12M + 2S I = inversion, M = multiplication, S = élévation au carré autres systèmes : jacobiennes, Lopez-Dahab, Kim-Kim... Jean-Marc ROBERT DALI/LIRMM, UPVD, France 20 / 60

37 Dans la cryptographie sur courbe elliptique Jean-Marc ROBERT DALI/LIRMM, UPVD, France 21 / 60 Multiplication scalaire de point de courbe elliptique (ECSM) Table des matières 1 Introduction Cryptographie asymétrique Contributions de la thèse 2 Dans la cryptographie sur courbe elliptique Groupe additif considéré : ECC Multiplication scalaire de point de courbe elliptique (ECSM) Montgomery revisité, ECC sur F 2 m 3 Dans l exponentiation modulaire, combiner les opérations Multiplication modulaire Contributions Application aux exponentiations régulières 4 Conclusion

38 Dans la cryptographie sur courbe elliptique Jean-Marc ROBERT DALI/LIRMM, UPVD, France 22 / 60 Multiplication scalaire de point de courbe elliptique (ECSM) Algorithme de base pour l ECSM : Double-and-add Left-to-Right double-and-add Multiplication scalaire (ECSM) Require: k = (k t 1,..., k 1, k 0 ), P E(F 2 m) Ensure: Q = k P 1: Q O 2: for i from t 1 downto 0 do 3: Q 2 Q 4: if k i = 1 then 5: Q Q + P 6: return (Q)

39 Dans la cryptographie sur courbe elliptique Jean-Marc ROBERT DALI/LIRMM, UPVD, France 22 / 60 Multiplication scalaire de point de courbe elliptique (ECSM) Algorithme de base pour l ECSM : Double-and-add Left-to-Right double-and-add Multiplication scalaire (ECSM) Require: k = (k t 1,..., k 1, k 0 ), P E(F 2 m) Ensure: Q = k P 1: Q O 2: for i from t 1 downto 0 do 3: Q 2 Q 4: if k i = 1 then 5: Q Q + P 6: return (Q) "addition en coordonnées mixées"

40 Dans la cryptographie sur courbe elliptique Jean-Marc ROBERT DALI/LIRMM, UPVD, France 23 / 60 Multiplication scalaire de point de courbe elliptique (ECSM) Halving (sur F 2 m seulement) Si Q est un point de la courbe d ordre impair, il appartient à un sous-groupe dans lequel la division par deux de Q = (u, v) est l unique point P = (x, y) tel que P = Q/2. (u, v) = 2 (x, y) λ = x + y/x, (1) u = λ 2 + λ + a, (2) v = x 2 + u(λ + 1). (3)

41 Dans la cryptographie sur courbe elliptique Jean-Marc ROBERT DALI/LIRMM, UPVD, France 23 / 60 Multiplication scalaire de point de courbe elliptique (ECSM) Halving (sur F 2 m seulement) Si Q est un point de la courbe d ordre impair, il appartient à un sous-groupe dans lequel la division par deux de Q = (u, v) est l unique point P = (x, y) tel que P = Q/2. (u, v) = 2 (x, y) Pour obtenir P : λ = x + y/x, (1) u = λ 2 + λ + a, (2) v = x 2 + u(λ + 1). (3) on résoud l équation (2): λ 2 + λ = u + a λ (équation quadratique); on résoud l équation (3): x 2 = v + u(λ + 1) x (racine carrée); on calcule y (1): y = λx + x 2.

42 Dans la cryptographie sur courbe elliptique Jean-Marc ROBERT DALI/LIRMM, UPVD, France 24 / 60 Multiplication scalaire de point de courbe elliptique (ECSM) Conclusion sur le Halving Cette opération requiert des coordonnées affines (ou une représentation λ-coordinates). 1 Halving nécessite : 1 Quadratic Solver, 1 racine carrée, 1 M et 1 S. 1 Quadratic Solver 1,5 M; 1 racine carrée 0,5 M; un Halving est moins coûteux qu un doublement.

43 Dans la cryptographie sur courbe elliptique Jean-Marc ROBERT DALI/LIRMM, UPVD, France 25 / 60 Multiplication scalaire de point de courbe elliptique (ECSM) Multiplication scalaire sur F 2 m : Halve-and-add Le scalaire k est transformé en k = k 2 t 1 mod #<P >, avec dans ce cas : ( t 1 ) k = k 2 (t 1) = k i 2i 2 (t 1) = i=0 t 1 k i 2i (t 1) i=0 }{{} puissances de 2 0 Left-to-Right Halve-and-add Require: k = (k t 1,..., k 1, k 0 ), P E(F 2 m ) Ensure: Q = k P 1: Q O. 2: Réécriture : k = k 2 t 1 mod #<P >. 3: for i from t 1 downto 0 do 4: if k i = 1 then 5: Q Q + P. 6: P P/2. 7: return (Q)

44 Dans la cryptographie sur courbe elliptique Jean-Marc ROBERT DALI/LIRMM, UPVD, France 25 / 60 Multiplication scalaire de point de courbe elliptique (ECSM) Multiplication scalaire sur F 2 m : Halve-and-add Le scalaire k est transformé en k = k 2 t 1 mod #<P >, avec dans ce cas : ( t 1 ) k = k 2 (t 1) = k i 2i 2 (t 1) = i=0 t 1 k i 2i (t 1) i=0 }{{} puissances de 2 0 Left-to-Right Halve-and-add Require: k = (k t 1,..., k 1, k 0 ), P E(F 2 m ) Ensure: Q = k P 1: Q O. 2: Réécriture : k = k 2 t 1 mod #<P >. 3: for i from t 1 downto 0 do 4: if k i = 1 then 5: Q Q + P. "addition en coordonnées mixées" 6: P P/2. 7: return (Q)

45 Dans la cryptographie sur courbe elliptique Jean-Marc ROBERT DALI/LIRMM, UPVD, France 26 / 60 Multiplication scalaire de point de courbe elliptique (ECSM) Algorithme parallèle (Taverne et al.) Le scalaire k est transformé en k = k 2 l mod #<P >, avec dans ce cas : k = k 2 l = ( t k i 2i )2 l = i=0 l 1 k i 2i l i=0 }{{} puissances de t k i 2i l i=l }{{} puissances de 2>0

46 Dans la cryptographie sur courbe elliptique Jean-Marc ROBERT DALI/LIRMM, UPVD, France 26 / 60 Multiplication scalaire de point de courbe elliptique (ECSM) Algorithme parallèle (Taverne et al.) Le scalaire k est transformé en k = k 2 l mod #<P >, avec dans ce cas : k = k 2 l = ( t k i 2i )2 l = i=0 Réécriture de k l 1 k i 2i l i=0 }{{} puissances de Ceci conduit à l algorithme suivant : k est séparé en deux : ( puissances de 2 > 0, et puissances de 2 0). t k i 2i l i=l }{{} puissances de 2>0

47 Dans la cryptographie sur courbe elliptique Jean-Marc ROBERT DALI/LIRMM, UPVD, France 26 / 60 Multiplication scalaire de point de courbe elliptique (ECSM) Algorithme parallèle (Taverne et al.) Le scalaire k est transformé en k = k 2 l mod #<P >, avec dans ce cas : k = k 2 l = ( t k i 2i )2 l = i=0 Réécriture de k l 1 k i 2i l i=0 }{{} puissances de Ceci conduit à l algorithme suivant : k est séparé en deux : ( puissances de 2 > 0, et puissances de 2 0). t k i 2i l i=l }{{} puissances de 2>0 Double-and-add Calcul de t i=l k i 2i l P. Halve-and-add Calcul de l 1 i=0 k i 2i l P.

48 Dans la cryptographie sur courbe elliptique Jean-Marc ROBERT DALI/LIRMM, UPVD, France 26 / 60 Multiplication scalaire de point de courbe elliptique (ECSM) Algorithme parallèle (Taverne et al.) Le scalaire k est transformé en k = k 2 l mod #<P >, avec dans ce cas : k = k 2 l = ( t k i 2i )2 l = i=0 Réécriture de k l 1 k i 2i l i=0 }{{} puissances de Ceci conduit à l algorithme suivant : k est séparé en deux : ( puissances de 2 > 0, et puissances de 2 0). Double-and-add Calcul de t i=l k i 2i l P. Halve-and-add Reconstruction finale Q = k P. t k i 2i l i=l }{{} puissances de 2>0 Calcul de l 1 i=0 k i 2i l P.

49 Jean-Marc ROBERT DALI/LIRMM, UPVD, France 27 / 60 Dans la cryptographie sur courbe elliptique Montgomery revisité, ECC sur F 2 m Table des matières 1 Introduction Cryptographie asymétrique Contributions de la thèse 2 Dans la cryptographie sur courbe elliptique Groupe additif considéré : ECC Multiplication scalaire de point de courbe elliptique (ECSM) Montgomery revisité, ECC sur F 2 m 3 Dans l exponentiation modulaire, combiner les opérations Multiplication modulaire Contributions Application aux exponentiations régulières 4 Conclusion

50 Jean-Marc ROBERT DALI/LIRMM, UPVD, France 28 / 60 Dans la cryptographie sur courbe elliptique Montgomery revisité, ECC sur F 2 m Contributions Construction d une échelle binaire de Montgomery avec Halving ;

51 Jean-Marc ROBERT DALI/LIRMM, UPVD, France 28 / 60 Dans la cryptographie sur courbe elliptique Montgomery revisité, ECC sur F 2 m Contributions Construction d une échelle binaire de Montgomery avec Halving ; construction d une échelle binaire de Montgomery parallèle avec Doubling-Halving ;

52 Jean-Marc ROBERT DALI/LIRMM, UPVD, France 28 / 60 Dans la cryptographie sur courbe elliptique Montgomery revisité, ECC sur F 2 m Contributions Construction d une échelle binaire de Montgomery avec Halving ; construction d une échelle binaire de Montgomery parallèle avec Doubling-Halving ; implantations et expérimentations.

53 Jean-Marc ROBERT DALI/LIRMM, UPVD, France 29 / 60 Dans la cryptographie sur courbe elliptique Montgomery revisité, ECC sur F 2 m Contrer la SPA : l échelle binaire de Montgomery! Montgomery Require: k = (k t 1,..., k 1, k 0 ) avec k t 1 = 1, P E(F q ) Ensure: Q = k P 1: Q 0 P, Q 1 2P 2: for i from t 2 downto 0 do 3: if (k i = 0) then 4: Q 1 Q 0 + Q 1, Q 0 2 Q 0 5: else 6: Q 0 Q 0 + Q 1, Q 1 2 Q 1 7: return (Q 0 ) Échelle binaire de Montgomery pour l ECSM

54 Jean-Marc ROBERT DALI/LIRMM, UPVD, France 30 / 60 Dans la cryptographie sur courbe elliptique Montgomery revisité, ECC sur F 2 m Comment fonctionne-t-elle? Exemple : k = = 0x2D = [1, 0, 1, 1, 0, 1] 2 1: Q 0 = P; Q 1 = 2P. 2: for i from t 2 downto 0 do 3: if (k i = 0) then 4: Q 1 Q 0 + Q 1,Q 0 2 Q 0 5: else 6: Q 0 Q 0 + Q 1,Q 1 2 Q 1 i init k i Q 0 Q 1

55 Jean-Marc ROBERT DALI/LIRMM, UPVD, France 30 / 60 Dans la cryptographie sur courbe elliptique Montgomery revisité, ECC sur F 2 m Comment fonctionne-t-elle? Exemple : k = = 0x2D = [1, 0, 1, 1, 0, 1] 2 1: Q 0 = P; Q 1 = 2P. 2: for i from t 2 downto 0 do 3: if (k i = 0) then 4: Q 1 Q 0 + Q 1,Q 0 2 Q 0 5: else 6: Q 0 Q 0 + Q 1,Q 1 2 Q 1 i init k i P Q 0 Q 1

56 Jean-Marc ROBERT DALI/LIRMM, UPVD, France 30 / 60 Dans la cryptographie sur courbe elliptique Montgomery revisité, ECC sur F 2 m Comment fonctionne-t-elle? Exemple : k = = 0x2D = [1, 0, 1, 1, 0, 1] 2 1: Q 0 = P; Q 1 = 2P. 2: for i from t 2 downto 0 do 3: if (k i = 0) then 4: Q 1 Q 0 + Q 1,Q 0 2 Q 0 5: else 6: Q 0 Q 0 + Q 1,Q 1 2 Q 1 i init k i Q 0 P 2P Q 1

57 Jean-Marc ROBERT DALI/LIRMM, UPVD, France 30 / 60 Dans la cryptographie sur courbe elliptique Montgomery revisité, ECC sur F 2 m Comment fonctionne-t-elle? Exemple : k = = 0x2D = [1, 0, 1, 1, 0, 1] 2 1: Q 0 = P; Q 1 = 2P. 2: for i from t 2 downto 0 do 3: if (k i = 0) then 4: Q 1 Q 0 + Q 1,Q 0 2 Q 0 5: else 6: Q 0 Q 0 + Q 1,Q 1 2 Q 1 i init k i Q 0 P Q 1 2P 3P

58 Jean-Marc ROBERT DALI/LIRMM, UPVD, France 30 / 60 Dans la cryptographie sur courbe elliptique Montgomery revisité, ECC sur F 2 m Comment fonctionne-t-elle? Exemple : k = = 0x2D = [1, 0, 1, 1, 0, 1] 2 1: Q 0 = P; Q 1 = 2P. 2: for i from t 2 downto 0 do 3: if (k i = 0) then 4: Q 1 Q 0 + Q 1,Q 0 2 Q 0 5: else 6: Q 0 Q 0 + Q 1,Q 1 2 Q 1 Double: Q 0 2 Q 0 (Q 1 Q 0 + Q 1 = 2 Q 0 + P on a alors Q 1 Q 0 = P) i init k i Q 0 P 2P Q 1 2P 3P

59 Jean-Marc ROBERT DALI/LIRMM, UPVD, France 30 / 60 Dans la cryptographie sur courbe elliptique Montgomery revisité, ECC sur F 2 m Comment fonctionne-t-elle? Exemple : k = = 0x2D = [1, 0, 1, 1, 0, 1] 2 1: Q 0 = P; Q 1 = 2P. 2: for i from t 2 downto 0 do 3: if (k i = 0) then 4: Q 1 Q 0 + Q 1,Q 0 2 Q 0 5: else 6: Q 0 Q 0 + Q 1,Q 1 2 Q 1 Double-and-add: Q 0 Q 0 + Q 1 = 2 Q 0 + P (Q 1 2 (Q 0 + P) on a alors Q 1 Q 0 = P) i init k i Q 0 P 2P 5P Q 1 2P 3P

60 Jean-Marc ROBERT DALI/LIRMM, UPVD, France 30 / 60 Dans la cryptographie sur courbe elliptique Montgomery revisité, ECC sur F 2 m Comment fonctionne-t-elle? Exemple : k = = 0x2D = [1, 0, 1, 1, 0, 1] 2 1: Q 0 = P; Q 1 = 2P. 2: for i from t 2 downto 0 do 3: if (k i = 0) then 4: Q 1 Q 0 + Q 1,Q 0 2 Q 0 5: else 6: Q 0 Q 0 + Q 1,Q 1 2 Q 1 Double-and-add: Q 0 Q 0 + Q 1 = 2 Q 0 + P (Q 1 2 (Q 0 + P) on a alors Q 1 Q 0 = P) i init k i Q 0 P 2P 5P Q 1 2P 3P 6P

61 Jean-Marc ROBERT DALI/LIRMM, UPVD, France 30 / 60 Dans la cryptographie sur courbe elliptique Montgomery revisité, ECC sur F 2 m Comment fonctionne-t-elle? Exemple : k = = 0x2D = [1, 0, 1, 1, 0, 1] 2 1: Q 0 = P; Q 1 = 2P. 2: for i from t 2 downto 0 do 3: if (k i = 0) then 4: Q 1 Q 0 + Q 1,Q 0 2 Q 0 5: else 6: Q 0 Q 0 + Q 1,Q 1 2 Q 1 Double-and-add: Q 0 Q 0 + Q 1 = 2 Q 0 + P (Q 1 2 (Q 0 + P) on a alors Q 1 Q 0 = P) i init k i Q 0 P 2P 5P 11P Q 1 2P 3P 6P

62 Jean-Marc ROBERT DALI/LIRMM, UPVD, France 30 / 60 Dans la cryptographie sur courbe elliptique Montgomery revisité, ECC sur F 2 m Comment fonctionne-t-elle? Exemple : k = = 0x2D = [1, 0, 1, 1, 0, 1] 2 1: Q 0 = P; Q 1 = 2P. 2: for i from t 2 downto 0 do 3: if (k i = 0) then 4: Q 1 Q 0 + Q 1,Q 0 2 Q 0 5: else 6: Q 0 Q 0 + Q 1,Q 1 2 Q 1 Double-and-add: Q 0 Q 0 + Q 1 = 2 Q 0 + P (Q 1 2 (Q 0 + P) on a alors Q 1 Q 0 = P) i init k i Q 0 P 2P 5P 11P Q 1 2P 3P 6P 12P

63 Jean-Marc ROBERT DALI/LIRMM, UPVD, France 30 / 60 Dans la cryptographie sur courbe elliptique Montgomery revisité, ECC sur F 2 m Comment fonctionne-t-elle? Exemple : k = = 0x2D = [1, 0, 1, 1, 0, 1] 2 1: Q 0 = P; Q 1 = 2P. 2: for i from t 2 downto 0 do 3: if (k i = 0) then 4: Q 1 Q 0 + Q 1,Q 0 2 Q 0 5: else 6: Q 0 Q 0 + Q 1,Q 1 2 Q 1 i init k i Q 0 P 2P 5P 11P Q 1 2P 3P 6P 12P 23P

64 Jean-Marc ROBERT DALI/LIRMM, UPVD, France 30 / 60 Dans la cryptographie sur courbe elliptique Montgomery revisité, ECC sur F 2 m Comment fonctionne-t-elle? Exemple : k = = 0x2D = [1, 0, 1, 1, 0, 1] 2 1: Q 0 = P; Q 1 = 2P. 2: for i from t 2 downto 0 do 3: if (k i = 0) then 4: Q 1 Q 0 + Q 1,Q 0 2 Q 0 5: else 6: Q 0 Q 0 + Q 1,Q 1 2 Q 1 Double: Q 0 2 Q 0 (Q 1 Q 0 + Q 1 = 2 Q 0 + P on a alors Q 1 Q 0 = P) i init k i Q 0 P 2P 5P 11P 22P Q 1 2P 3P 6P 12P 23P

65 Jean-Marc ROBERT DALI/LIRMM, UPVD, France 30 / 60 Dans la cryptographie sur courbe elliptique Montgomery revisité, ECC sur F 2 m Comment fonctionne-t-elle? Exemple : k = = 0x2D = [1, 0, 1, 1, 0, 1] 2 1: Q 0 = P; Q 1 = 2P. 2: for i from t 2 downto 0 do 3: if (k i = 0) then 4: Q 1 Q 0 + Q 1,Q 0 2 Q 0 5: else 6: Q 0 Q 0 + Q 1,Q 1 2 Q 1 Double-and-add: Q 0 Q 0 + Q 1 = 2 Q 0 + P (Q 1 2 (Q 0 + P) on a alors Q 1 Q 0 = P) i init k i Q 0 P 2P 5P 11P 22P 45P Q 1 2P 3P 6P 12P 23P

66 Jean-Marc ROBERT DALI/LIRMM, UPVD, France 30 / 60 Dans la cryptographie sur courbe elliptique Montgomery revisité, ECC sur F 2 m Comment fonctionne-t-elle? Exemple : k = = 0x2D = [1, 0, 1, 1, 0, 1] 2 1: Q 0 = P; Q 1 = 2P. 2: for i from t 2 downto 0 do 3: if (k i = 0) then 4: Q 1 Q 0 + Q 1,Q 0 2 Q 0 5: else 6: Q 0 Q 0 + Q 1,Q 1 2 Q 1 Double-and-add: Q 0 Q 0 + Q 1 = 2 Q 0 + P (Q 1 2 (Q 0 + P) on a alors Q 1 Q 0 = P) i init k i Q 0 P 2P 5P 11P 22P 45P Q 1 2P 3P 6P 12P 23P 46P

67 Dans la cryptographie sur courbe elliptique Montgomery revisité, ECC sur F 2 m Comment fonctionne-t-elle? Exemple : k = = 0x2D = [1, 0, 1, 1, 0, 1] 2 1: Q 0 = P; Q 1 = 2P. 2: for i from t 2 downto 0 do 3: if (k i = 0) then 4: Q 1 Q 0 + Q 1,Q 0 2 Q 0 5: else 6: Q 0 Q 0 + Q 1,Q 1 2 Q 1 i init k i Q 0 P 2P 5P 11P 22P 45P Q 1 2P 3P 6P 12P 23P 46P l algorithme renvoie : Q 0 = 45P Jean-Marc ROBERT DALI/LIRMM, UPVD, France 30 / 60

68 Jean-Marc ROBERT DALI/LIRMM, UPVD, France 31 / 60 Dans la cryptographie sur courbe elliptique Montgomery revisité, ECC sur F 2 m Échelle binaire de Montgomery avec Halving Comme pour l échelle binaire de Montgomery (avec doublings), nous voulons obtenir :

69 Jean-Marc ROBERT DALI/LIRMM, UPVD, France 31 / 60 Dans la cryptographie sur courbe elliptique Montgomery revisité, ECC sur F 2 m Échelle binaire de Montgomery avec Halving Comme pour l échelle binaire de Montgomery (avec doublings), nous voulons obtenir : régularité des opérations ;

70 Jean-Marc ROBERT DALI/LIRMM, UPVD, France 31 / 60 Dans la cryptographie sur courbe elliptique Montgomery revisité, ECC sur F 2 m Échelle binaire de Montgomery avec Halving Comme pour l échelle binaire de Montgomery (avec doublings), nous voulons obtenir : régularité des opérations ; conserver une différence constante entre Q 0 et Q 1, les deux points calculés au long de l algorithme.

71 Jean-Marc ROBERT DALI/LIRMM, UPVD, France 31 / 60 Dans la cryptographie sur courbe elliptique Montgomery revisité, ECC sur F 2 m Échelle binaire de Montgomery avec Halving Comme pour l échelle binaire de Montgomery (avec doublings), nous voulons obtenir : régularité des opérations ; conserver une différence constante entre Q 0 et Q 1, les deux points calculés au long de l algorithme. Pour construire un Montgomery-Halving, nous récrivons le scalaire k comme pour l approche Halve-and-add: k P = (k 2 (t 1) mod #<P >) P.

72 Jean-Marc ROBERT DALI/LIRMM, UPVD, France 32 / 60 Dans la cryptographie sur courbe elliptique Montgomery revisité, ECC sur F 2 m Algorithme pour le Montgomery Halving Montgomery Halving Require: Réécriture de k en k avec k = k 2 (t 1) mod #<P >, k i {0, 1} avec k t 1 = 1, P E(F 2 m ) Ensure: Q = k P 1: Q 0 P, Q 1 P 2: for i from t 2 downto 0 do 3: if (k i = 0) then 4: T Q 0 /2, Q 0 T, Q 1 Q 1 T 5: else 6: T Q 1 /2, Q 1 T, Q 0 Q 0 T 7: return (Q 0 ) Avec cet algorithme, nous avons atteint nos objectifs : Régularité : 1H + 1A à chaque itération de la boucle ; Q 1,j Q 0,j = 2 P tout au long du calcul ; l efficacité/complexité est moins bonne.

73 Jean-Marc ROBERT DALI/LIRMM, UPVD, France 33 / 60 Dans la cryptographie sur courbe elliptique Montgomery revisité, ECC sur F 2 m Comment le Montgomery Halving fonctionne-t-il? Exemple : k = = 0x2D = [1, 0, 1, 1, 0, 1] 2 1: Q 0 = P; Q 1 = P. 2: for i from t 2 downto 0 do 3: if (k i = 0) then 4: Q 1 Q 1 Q 0 /2,Q 0 Q 0 /2 5: else 6: Q 0 Q 0 Q 1 /2,Q 1 Q 1 /2 i init k i Q 0 Q 1

74 Jean-Marc ROBERT DALI/LIRMM, UPVD, France 33 / 60 Dans la cryptographie sur courbe elliptique Montgomery revisité, ECC sur F 2 m Comment le Montgomery Halving fonctionne-t-il? Exemple : k = = 0x2D = [1, 0, 1, 1, 0, 1] 2 1: Q 0 = P; Q 1 = P. 2: for i from t 2 downto 0 do 3: if (k i = 0) then 4: Q 1 Q 1 Q 0 /2,Q 0 Q 0 /2 5: else 6: Q 0 Q 0 Q 1 /2,Q 1 Q 1 /2 i init k i Q 0 P Q 1

75 Jean-Marc ROBERT DALI/LIRMM, UPVD, France 33 / 60 Dans la cryptographie sur courbe elliptique Montgomery revisité, ECC sur F 2 m Comment le Montgomery Halving fonctionne-t-il? Exemple : k = = 0x2D = [1, 0, 1, 1, 0, 1] 2 1: Q 0 = P; Q 1 = P. 2: for i from t 2 downto 0 do 3: if (k i = 0) then 4: Q 1 Q 1 Q 0 /2,Q 0 Q 0 /2 5: else 6: Q 0 Q 0 Q 1 /2,Q 1 Q 1 /2 i init k i Q 0 P Q 1 -P

76 Jean-Marc ROBERT DALI/LIRMM, UPVD, France 33 / 60 Dans la cryptographie sur courbe elliptique Montgomery revisité, ECC sur F 2 m Comment le Montgomery Halving fonctionne-t-il? Exemple : k = = 0x2D = [1, 0, 1, 1, 0, 1] 2 1: Q 0 = P; Q 1 = P. 2: for i from t 2 downto 0 do 3: if (k i = 0) then 4: Q 1 Q 1 Q 0 /2,Q 0 Q 0 /2 5: else 6: Q 0 Q 0 Q 1 /2,Q 1 Q 1 /2 i init k i Q 0 P Q 1 -P -3P/2

77 Jean-Marc ROBERT DALI/LIRMM, UPVD, France 33 / 60 Dans la cryptographie sur courbe elliptique Montgomery revisité, ECC sur F 2 m Comment le Montgomery Halving fonctionne-t-il? Exemple : k = = 0x2D = [1, 0, 1, 1, 0, 1] 2 1: Q 0 = P; Q 1 = P. 2: for i from t 2 downto 0 do 3: if (k i = 0) then 4: Q 1 Q 1 Q 0 /2,Q 0 Q 0 /2 5: else 6: Q 0 Q 0 Q 1 /2,Q 1 Q 1 /2 Halve : Q 1 Q 0 = 2P i init k i Q 0 P P/2 Q 1 -P -3P/2

78 Jean-Marc ROBERT DALI/LIRMM, UPVD, France 33 / 60 Dans la cryptographie sur courbe elliptique Montgomery revisité, ECC sur F 2 m Comment le Montgomery Halving fonctionne-t-il? Exemple : k = = 0x2D = [1, 0, 1, 1, 0, 1] 2 1: Q 0 = P; Q 1 = P. 2: for i from t 2 downto 0 do 3: if (k i = 0) then 4: Q 1 Q 1 Q 0 /2,Q 0 Q 0 /2 5: else 6: Q 0 Q 0 Q 1 /2,Q 1 Q 1 /2 i init k i Q 0 P P/2 5P/4 Q 1 -P -3P/2

79 Jean-Marc ROBERT DALI/LIRMM, UPVD, France 33 / 60 Dans la cryptographie sur courbe elliptique Montgomery revisité, ECC sur F 2 m Comment le Montgomery Halving fonctionne-t-il? Exemple : k = = 0x2D = [1, 0, 1, 1, 0, 1] 2 1: Q 0 = P; Q 1 = P. 2: for i from t 2 downto 0 do 3: if (k i = 0) then 4: Q 1 Q 1 Q 0 /2,Q 0 Q 0 /2 5: else 6: Q 0 Q 0 Q 1 /2,Q 1 Q 1 /2 Halve-and-add: Q 1 Q 0 = 2P i init k i Q 0 P P/2 5P/4 Q 1 -P -3P/2-3P/4

80 Jean-Marc ROBERT DALI/LIRMM, UPVD, France 33 / 60 Dans la cryptographie sur courbe elliptique Montgomery revisité, ECC sur F 2 m Comment le Montgomery Halving fonctionne-t-il? Exemple : k = = 0x2D = [1, 0, 1, 1, 0, 1] 2 1: Q 0 = P; Q 1 = P. 2: for i from t 2 downto 0 do 3: if (k i = 0) then 4: Q 1 Q 1 Q 0 /2,Q 0 Q 0 /2 5: else 6: Q 0 Q 0 Q 1 /2,Q 1 Q 1 /2 i init k i Q 0 P P/2 5P/4 13P/8 Q 1 -P -3P/2-3P/4

81 Jean-Marc ROBERT DALI/LIRMM, UPVD, France 33 / 60 Dans la cryptographie sur courbe elliptique Montgomery revisité, ECC sur F 2 m Comment le Montgomery Halving fonctionne-t-il? Exemple : k = = 0x2D = [1, 0, 1, 1, 0, 1] 2 1: Q 0 = P; Q 1 = P. 2: for i from t 2 downto 0 do 3: if (k i = 0) then 4: Q 1 Q 1 Q 0 /2,Q 0 Q 0 /2 5: else 6: Q 0 Q 0 Q 1 /2,Q 1 Q 1 /2 Halve-and-add: Q 1 Q 0 = 2P i init k i Q 0 P P/2 5P/4 13P/8 Q 1 -P -3P/2-3P/4-3P/8

82 Jean-Marc ROBERT DALI/LIRMM, UPVD, France 33 / 60 Dans la cryptographie sur courbe elliptique Montgomery revisité, ECC sur F 2 m Comment le Montgomery Halving fonctionne-t-il? Exemple : k = = 0x2D = [1, 0, 1, 1, 0, 1] 2 1: Q 0 = P; Q 1 = P. 2: for i from t 2 downto 0 do 3: if (k i = 0) then 4: Q 1 Q 1 Q 0 /2,Q 0 Q 0 /2 5: else 6: Q 0 Q 0 Q 1 /2,Q 1 Q 1 /2 i init k i Q 0 P P/2 5P/4 13P/8 Q 1 -P -3P/2-3P/4-3P/8-19P/16

83 Jean-Marc ROBERT DALI/LIRMM, UPVD, France 33 / 60 Dans la cryptographie sur courbe elliptique Montgomery revisité, ECC sur F 2 m Comment le Montgomery Halving fonctionne-t-il? Exemple : k = = 0x2D = [1, 0, 1, 1, 0, 1] 2 1: Q 0 = P; Q 1 = P. 2: for i from t 2 downto 0 do 3: if (k i = 0) then 4: Q 1 Q 1 Q 0 /2,Q 0 Q 0 /2 5: else 6: Q 0 Q 0 Q 1 /2,Q 1 Q 1 /2 Halve : Q 1 Q 0 = 2P i init k i Q 0 P P/2 5P/4 13P/8 13P/16 Q 1 -P -3P/2-3P/4-3P/8-19P/16

84 Jean-Marc ROBERT DALI/LIRMM, UPVD, France 33 / 60 Dans la cryptographie sur courbe elliptique Montgomery revisité, ECC sur F 2 m Comment le Montgomery Halving fonctionne-t-il? Exemple : k = = 0x2D = [1, 0, 1, 1, 0, 1] 2 1: Q 0 = P; Q 1 = P. 2: for i from t 2 downto 0 do 3: if (k i = 0) then 4: Q 1 Q 1 Q 0 /2,Q 0 Q 0 /2 5: else 6: Q 0 Q 0 Q 1 /2,Q 1 Q 1 /2 i init k i Q 0 P P/2 5P/4 13P/8 13P/16 45P/32 Q 1 -P -3P/2-3P/4-3P/8-19P/16

85 Jean-Marc ROBERT DALI/LIRMM, UPVD, France 33 / 60 Dans la cryptographie sur courbe elliptique Montgomery revisité, ECC sur F 2 m Comment le Montgomery Halving fonctionne-t-il? Exemple : k = = 0x2D = [1, 0, 1, 1, 0, 1] 2 1: Q 0 = P; Q 1 = P. 2: for i from t 2 downto 0 do 3: if (k i = 0) then 4: Q 1 Q 1 Q 0 /2,Q 0 Q 0 /2 5: else 6: Q 0 Q 0 Q 1 /2,Q 1 Q 1 /2 Halve-and-add: Q 1 Q 0 = 2P i init k i Q 0 P P/2 5P/4 13P/8 13P/16 45P/32 Q 1 -P -3P/2-3P/4-3P/8-19P/16-19P/32

86 Jean-Marc ROBERT DALI/LIRMM, UPVD, France 33 / 60 Dans la cryptographie sur courbe elliptique Montgomery revisité, ECC sur F 2 m Comment le Montgomery Halving fonctionne-t-il? Exemple : k = = 0x2D = [1, 0, 1, 1, 0, 1] 2 1: Q 0 = P; Q 1 = P. 2: for i from t 2 downto 0 do 3: if (k i = 0) then 4: Q 1 Q 1 Q 0 /2,Q 0 Q 0 /2 5: else 6: Q 0 Q 0 Q 1 /2,Q 1 Q 1 /2 i init k i Q 0 P P/2 5P/4 13P/8 13P/16 45P/32 Q 1 -P -3P/2-3P/4-3P/8-19P/16-19P/32 L algorithme renvoie : Q 0 = 45P/32 (puissances négatives de 2.)

87 Jean-Marc ROBERT DALI/LIRMM, UPVD, France 34 / 60 Dans la cryptographie sur courbe elliptique Montgomery revisité, ECC sur F 2 m Algorithme parallèle Le scalaire k est transformé en k = k 2 l mod #<P >, avec dans ce cas: k = k 2 l = ( t k i 2i )2 l = i=0 l 1 k i 2i l i=0 }{{} puissances de t k i 2i l i=l }{{} puissances de 2>0

88 Jean-Marc ROBERT DALI/LIRMM, UPVD, France 34 / 60 Dans la cryptographie sur courbe elliptique Montgomery revisité, ECC sur F 2 m Algorithme parallèle Le scalaire k est transformé en k = k 2 l mod #<P >, avec dans ce cas: k = k 2 l = ( t k i 2i )2 l = i=0 l 1 k i 2i l i=0 }{{} puissances de t k i 2i l i=l }{{} puissances de 2>0 Montgomery parallèle avec Halving/Doubling Require: scalar k, P F 2 m d ordre impair r, une constante l. Ensure: kp. 1: Réécriture : k = 2 l k mod r. (Barrier) 2: // Montgomery Doubling ECSM 4: // Montgomery Halving ECSM 3: Q D [(k t,..., k l )] P 5: Q H [(k l 1,..., k 0 )/2l ] P (Barrier) 6: return Q Q D + Q H

89 Jean-Marc ROBERT DALI/LIRMM, UPVD, France 35 / 60 Dans la cryptographie sur courbe elliptique Montgomery revisité, ECC sur F 2 m Montgomery parallèle avec Halving/Doubling : stratégies d implantations Deux plateformes différentes : Optiplex 990, Intel core i7 langage C Nexus 7, Qualcomm Snapdragon (ARM) langage C gcc gcc Ubuntu Ubuntu touch Jeux d instructions : Architecture : MMX, AVX et AES (128 bits) ARM7 32 bits Multiplication de polynômes : approche Karatsuba + PCLMUL Inversion Itoh-Tsujii opérations sur le corps F 2 m Multiplication de polynômes : approche de Lopez-Dahab (Comb method) Inversion Itoh-Tsujii Autres opérations (carré, racine carrée, half-trace...) : approche par look-up table.

90 Jean-Marc ROBERT DALI/LIRMM, UPVD, France 36 / 60 Dans la cryptographie sur courbe elliptique Montgomery revisité, ECC sur F 2 m Montgomery parallèle avec Halving/Doubling Figure : Montgomery parallèle avec Halving/Doubling, NIST B233, Intel Core i7

91 Jean-Marc ROBERT DALI/LIRMM, UPVD, France 37 / 60 Dans la cryptographie sur courbe elliptique Montgomery revisité, ECC sur F 2 m Performance des implantations Performances échelles binaires de Montgomery Optiplex 990, Intel core i7, TurboMode et hyperthreading desactivés avec Doubling Halving Parallèle Gain (//-Doubling) NIST B cc cc cc 5,4% NIST B cc cc cc 10,5% Nexus 7, Qualcomm Snapdragon avec Doubling Halving Parallèle Gain (//-Doubling) NIST B cc cc cc 19% NIST B cc cc cc 19% (moyenne des minimums sur 2000 exécutions)

92 Jean-Marc ROBERT DALI/LIRMM, UPVD, France 38 / 60 Dans la cryptographie sur courbe elliptique Montgomery revisité, ECC sur F 2 m Conclusion En synthèse, nous retenons : contributions sur l échelle de Montgomery, avec Halving et parallélisation ;

93 Jean-Marc ROBERT DALI/LIRMM, UPVD, France 38 / 60 Dans la cryptographie sur courbe elliptique Montgomery revisité, ECC sur F 2 m Conclusion En synthèse, nous retenons : contributions sur l échelle de Montgomery, avec Halving et parallélisation ; algorithmes SPA resistant ;

94 Jean-Marc ROBERT DALI/LIRMM, UPVD, France 38 / 60 Dans la cryptographie sur courbe elliptique Montgomery revisité, ECC sur F 2 m Conclusion En synthèse, nous retenons : contributions sur l échelle de Montgomery, avec Halving et parallélisation ; algorithmes SPA resistant ; gains de performance (de 5,4 à 19 %, selon la plateforme et la courbe elliptique).

95 Dans l exponentiation modulaire, combiner les opérations Multiplication modulaire Jean-Marc ROBERT DALI/LIRMM, UPVD, France 39 / 60 Table des matières 1 Introduction Cryptographie asymétrique Contributions de la thèse 2 Dans la cryptographie sur courbe elliptique Groupe additif considéré : ECC Multiplication scalaire de point de courbe elliptique (ECSM) Montgomery revisité, ECC sur F 2 m 3 Dans l exponentiation modulaire, combiner les opérations Multiplication modulaire Contributions Application aux exponentiations régulières 4 Conclusion

96 Dans l exponentiation modulaire, combiner les opérations Multiplication modulaire Jean-Marc ROBERT DALI/LIRMM, UPVD, France 40 / 60 Multiplication modulaire de Montgomery Soient A et B [0, N[. On pose C = A B, C < N 2. La réduction modulaire Montgomery de C = A B se présente de la façon suivante :

97 Dans l exponentiation modulaire, combiner les opérations Multiplication modulaire Jean-Marc ROBERT DALI/LIRMM, UPVD, France 40 / 60 Multiplication modulaire de Montgomery Soient A et B [0, N[. On pose C = A B, C < N 2. La réduction modulaire Montgomery de C = A B se présente de la façon suivante : q A B ( N 1 ) mod 2 wn, Y (A B + q N)/2 wn. La division par 2 wn est exacte (les bits de poids faibles sont nuls)

98 Dans l exponentiation modulaire, combiner les opérations Multiplication modulaire Jean-Marc ROBERT DALI/LIRMM, UPVD, France 40 / 60 Multiplication modulaire de Montgomery Soient A et B [0, N[. On pose C = A B, C < N 2. La réduction modulaire Montgomery de C = A B se présente de la façon suivante : q A B ( N 1 ) mod 2 wn, Y (A B + q N)/2 wn. La division par 2 wn est exacte (les bits de poids faibles sont nuls) Y satisfait Y = A B 2 wn mod N et Y < 2N.

99 Dans l exponentiation modulaire, combiner les opérations Multiplication modulaire Jean-Marc ROBERT DALI/LIRMM, UPVD, France 40 / 60 Multiplication modulaire de Montgomery Soient A et B [0, N[. On pose C = A B, C < N 2. La réduction modulaire Montgomery de C = A B se présente de la façon suivante : q A B ( N 1 ) mod 2 wn, Y (A B + q N)/2 wn. La division par 2 wn est exacte (les bits de poids faibles sont nuls) Y satisfait Y = A B 2 wn mod N et Y < 2N. représentation de Montgomery : Ã = A 2wn mod N. Ã B 2 wn mod N = (AB) 2 wn mod N

100 Dans l exponentiation modulaire, combiner les opérations Multiplication modulaire Jean-Marc ROBERT DALI/LIRMM, UPVD, France 41 / 60 SmallRed : réduction modulaire d un mot X (n mots machine) motsw bit dewords w bits décalage one word à droite right shift d un mot X X + [x 0 ( N 1 mod 2 w ) mod 2 w ] N X X /2 w, c est-à-dire < X /2 w + N

101 Dans l exponentiation modulaire, combiner les opérations Multiplication modulaire Complexité : n + 1 WMult., 2n + 1 WAdd. Jean-Marc ROBERT DALI/LIRMM, UPVD, France 41 / 60 SmallRed : réduction modulaire d un mot X (n mots machine) motsw bit dewords w bits décalage one word à droite right shift d un mot X X + [x 0 ( N 1 mod 2 w ) mod 2 w ] N X X /2 w, c est-à-dire < X /2 w + N SmallRed (un mot machine) Require: Le module N et un entier positif X = (x n 1,..., x 0 ) 2 w de n mots machine et N = ( N 1 ) mod 2 w Ensure: Y = X 2 w mod N avec Y < X /2 w + N 1: q x 0 N mod 2 w 1 WMult. 2: Y (X + q N)/2 w n WMult., 2n + 1 WAdd. 3: return Y

102 Dans l exponentiation modulaire, combiner les opérations Multiplication modulaire Jean-Marc ROBERT DALI/LIRMM, UPVD, France 42 / 60 Multiplication de Montgomery par bloc ABR 1 mod N = ( n 1 j=0 b j2 wj ) A 2 wn mod N

103 Dans l exponentiation modulaire, combiner les opérations Multiplication modulaire Jean-Marc ROBERT DALI/LIRMM, UPVD, France 42 / 60 Multiplication de Montgomery par bloc ABR 1 mod N = ( n 1 j=0 b j2 wj ) A 2 wn mod N A b 0 2 w SmallRed (A b 0 2 w + A b 1 ) 2 w SmallRed ( n 1 j=0 b j 2 wj ) A 2 wn SmallRed

104 Dans l exponentiation modulaire, combiner les opérations Multiplication modulaire Jean-Marc ROBERT DALI/LIRMM, UPVD, France 43 / 60 Multiplication de Montgomery par bloc Complexité : on effectue n smallred : n 2 + n WMult., 2n 2 + n WAdd. n multiplications 1 n : n 2 WMult., n 2 + n WAdd. n 1 additions n + 1 : n 2 1 WAdd. opération # multiplications de mots # additions de mots ABR 1 mod N 2n 2 + n 4n 2 + 2n 1 A 2 R 1 mod N 3 2 n n 1 3n2 + 5n 1

105 Dans l exponentiation modulaire, combiner les opérations Multiplication modulaire Jean-Marc ROBERT DALI/LIRMM, UPVD, France 43 / 60 Multiplication de Montgomery par bloc Complexité : on effectue n smallred : n 2 + n WMult., 2n 2 + n WAdd. n multiplications 1 n : n 2 WMult., n 2 + n WAdd. n 1 additions n + 1 : n 2 1 WAdd. opération # multiplications de mots # additions de mots ABR 1 mod N 2n 2 + n 4n 2 + 2n 1 A 2 R 1 mod N 3 2 n n 1 3n2 + 5n 1

106 Dans l exponentiation modulaire, combiner les opérations Contributions Jean-Marc ROBERT DALI/LIRMM, UPVD, France 44 / 60 Table des matières 1 Introduction Cryptographie asymétrique Contributions de la thèse 2 Dans la cryptographie sur courbe elliptique Groupe additif considéré : ECC Multiplication scalaire de point de courbe elliptique (ECSM) Montgomery revisité, ECC sur F 2 m 3 Dans l exponentiation modulaire, combiner les opérations Multiplication modulaire Contributions Application aux exponentiations régulières 4 Conclusion

107 Dans l exponentiation modulaire, combiner les opérations Contributions Jean-Marc ROBERT DALI/LIRMM, UPVD, France 45 / 60 Contributions Notre but est d accélérer les algorithmes résistants à l attaque SPA. Pour y parvenir, nous proposons :

108 Dans l exponentiation modulaire, combiner les opérations Contributions Jean-Marc ROBERT DALI/LIRMM, UPVD, France 45 / 60 Contributions Notre but est d accélérer les algorithmes résistants à l attaque SPA. Pour y parvenir, nous proposons : deux multiplications par une opérande commune A B, A C ;

109 Dans l exponentiation modulaire, combiner les opérations Contributions Jean-Marc ROBERT DALI/LIRMM, UPVD, France 45 / 60 Contributions Notre but est d accélérer les algorithmes résistants à l attaque SPA. Pour y parvenir, nous proposons : deux multiplications par une opérande commune A B, A C ; des multiplications multiples par une opérande commune A B 0, A B 1,..., A B l ;

110 Dans l exponentiation modulaire, combiner les opérations Contributions Jean-Marc ROBERT DALI/LIRMM, UPVD, France 45 / 60 Contributions Notre but est d accélérer les algorithmes résistants à l attaque SPA. Pour y parvenir, nous proposons : deux multiplications par une opérande commune A B, A C ; des multiplications multiples par une opérande commune A B 0, A B 1,..., A B l ; l utilisation des opérations précédentes aux algorithmes protégés contre l attaque SPA.

111 Dans l exponentiation modulaire, combiner les opérations Contributions Jean-Marc ROBERT DALI/LIRMM, UPVD, France 46 / 60 CombinedMontMul A B, A C La multiplication modulaire de Mongtomery par bloc effectue : A B R 1 = n 1 b j 2 wj A 2 w(n+1) mod N j=0

112 Dans l exponentiation modulaire, combiner les opérations Contributions Jean-Marc ROBERT DALI/LIRMM, UPVD, France 46 / 60 CombinedMontMul A B, A C La multiplication modulaire de Mongtomery par bloc effectue : A B R 1 = n 1 b j 2 wj A 2 w(n+1) mod N j=0 n 1 = b j A 2 w(n+1 j) mod N j=0

113 Dans l exponentiation modulaire, combiner les opérations Contributions Jean-Marc ROBERT DALI/LIRMM, UPVD, France 46 / 60 CombinedMontMul A B, A C La multiplication modulaire de Mongtomery par bloc effectue : A B R 1 = n 1 b j 2 wj A 2 w(n+1) mod N j=0 n 1 = b j A 2 w(n+1 j) mod N j=0 n 1 = b j (A 2 w(n 1 j) mod N)2 2w mod N j=0

114 Dans l exponentiation modulaire, combiner les opérations Contributions Jean-Marc ROBERT DALI/LIRMM, UPVD, France 46 / 60 CombinedMontMul A B, A C La multiplication modulaire de Mongtomery par bloc effectue : A B R 1 = n 1 b j 2 wj A 2 w(n+1) mod N j=0 = = = où A (j) = A2 w(n 1 j) mod N pour j = 0,..., n 1. n 1 b j A 2 w(n+1 j) mod N j=0 n 1 b j (A 2 w(n 1 j) mod N)2 2w mod N j=0 n 1 b j A (j) 2 2w mod N j=0

115 Dans l exponentiation modulaire, combiner les opérations Contributions CombinedMontMul A B, A C La multiplication modulaire de Mongtomery par bloc effectue : n 1 A B R 1 = b j 2 wj A 2 w(n+1) mod N = = = j=0 n 1 b j A 2 w(n+1 j) mod N j=0 n 1 b j (A 2 w(n 1 j) mod N)2 2w mod N j=0 n 1 b j A (j) 2 2w j=0 mod N où A (j) = A2 w(n 1 j) mod N pour j = 0,..., n 1. Avec la même chose pour A C R 1, on obtient A C R 1 = n 1 c j A (j) 2 2w mod N. Jean-Marc ROBERT DALI/LIRMM, UPVD, France 46 / 60 j=0

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

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

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

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

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

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

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

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

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

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

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

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE QCM Remarque : - A une question correspond au moins 1 réponse juste - Cocher la ou les bonnes réponses Barème : - Une bonne réponse = +1 - Pas de réponse = 0

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

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

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

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

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

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

Cours 14. Crypto. 2004, Marc-André Léger

Cours 14. Crypto. 2004, Marc-André Léger Cours 14 Crypto Cryptographie Définition Science du chiffrement Meilleur moyen de protéger une information = la rendre illisible ou incompréhensible Bases Une clé = chaîne de nombres binaires (0 et 1)

Plus en détail

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Pierre Boudes 28 septembre 2011 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike

Plus en détail

Microprocesseur + Logiciel

Microprocesseur + Logiciel Microprocesseur + Logiciel Robot EVALBOT MOHAMED AKIL BUREAU 5253 UNITE IGI 1001 PROGRAMMATION DES MICROPROCESSEURS Présentation [IGI1001] CONTEXTE SCIENTIFIQUE... 4 1. OBJECTIFS DE L UNITE... 6 2. OBJECTIFS

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

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

Sécurité et sûreté des systèmes embarqués et mobiles

Sécurité et sûreté des systèmes embarqués et mobiles Sécurité et sûreté des systèmes embarqués et mobiles Pierre.Paradinas / @ / cnam.fr Cnam/Cedric Systèmes Enfouis et Embarqués (SEE) Plan du cours Sécurité des SEMs La plate-forme et exemple (GameBoy, Smart

Plus en détail

Présentation du PL/SQL

Présentation du PL/SQL I Présentation du PL/ Copyright Oracle Corporation, 1998. All rights reserved. Objectifs du Cours A la fin de ce chapitre, vous saurez : Décrire l intéret du PL/ Décrire l utilisation du PL/ pour le développeur

Plus en détail

Cryptographie Quantique

Cryptographie Quantique Cryptographie Quantique Jean-Marc Merolla Chargé de Recherche CNRS Email: jean-marc.merolla@univ-fcomte.fr Département d Optique P.-M. Duffieux/UMR FEMTO-ST 6174 2009 1 Plan de la Présentation Introduction

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

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

Cours Informatique Master STEP

Cours Informatique Master STEP Cours Informatique Master STEP Bases de la programmation: Compilateurs/logiciels Algorithmique et structure d'un programme Programmation en langage structuré (Fortran 90) Variables, expressions, instructions

Plus en détail

Architectures PKI. Sébastien VARRETTE

Architectures PKI. Sébastien VARRETTE Université du Luxembourg - Laboratoire LACS, LUXEMBOURG CNRS/INPG/INRIA/UJF - Laboratoire LIG-IMAG Sebastien.Varrette@imag.fr http://www-id.imag.fr/~svarrett/ Cours Cryptographie & Securité Réseau Master

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

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

Algorithmique et Programmation, IMA

Algorithmique et Programmation, IMA Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions

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

Petite introduction aux protocoles cryptographiques. Master d informatique M2

Petite introduction aux protocoles cryptographiques. Master d informatique M2 Petite introduction aux protocoles cryptographiques Master d informatique M2 Les protocoles cryptographiques p.1/48-1 Internet - confidentialité - anonymat - authentification (s agit-il bien de ma banque?)

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

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C IN 102 - Cours 1 Qu on le veuille ou non, les systèmes informatisés sont désormais omniprésents. Même si ne vous destinez pas à l informatique, vous avez de très grandes chances d y être confrontés en

Plus en détail

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique

Plus en détail

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

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies INF 232: Langages et Automates Travaux Dirigés Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies Année Académique 2013-2014 Année Académique 2013-2014 UNIVERSITÉ JOSEPH

Plus en détail

Informatique. Les réponses doivent être données en cochant les cases sur la dernière feuille du sujet, intitulée feuille de réponse

Informatique. Les réponses doivent être données en cochant les cases sur la dernière feuille du sujet, intitulée feuille de réponse Questions - Révision- - 1 er Semestre Informatique Durée de l examen : 1h pour 40 questions. Aucun document n est autorisé. L usage d appareils électroniques est interdit. Les questions faisant apparaître

Plus en détail

TECHNIQUES DE CRYPTOGRAPHIE

TECHNIQUES DE CRYPTOGRAPHIE Jonathan BLANC Enseignant : Sandrine JULIA Adrien DE GEORGES Année universitaire 23/24 Licence Informatique TECHNIQUES DE CRYPTOGRAPHIE - - TABLE DES MATIERES INTRODUCTION 3. TECHNIQUES DE CRYPTOGRAPHIE

Plus en détail

ALGORITHMIQUE ET PROGRAMMATION En C

ALGORITHMIQUE ET PROGRAMMATION En C Objectifs ALGORITHMIQUE ET PROGRAMMATION Une façon de raisonner Automatiser la résolution de problèmes Maîtriser les concepts de l algorithmique Pas faire des spécialistes d un langage Pierre TELLIER 2

Plus en détail

Le format OpenPGP. Traduit par : Sébastien Person. personseb@yahoo.fr. Matthieu Hautreux. matthieu.hautreux@insa-rouen.fr.

Le format OpenPGP. Traduit par : Sébastien Person. personseb@yahoo.fr. Matthieu Hautreux. matthieu.hautreux@insa-rouen.fr. Le format OpenPGP Traduit par : Sébastien Person personseb@yahoo.fr Matthieu Hautreux matthieu.hautreux@insa-rouen.fr Odile Weyckmans odile.weyckmans@insa-rouen.fr Relu et maintenu par : Yvon Benoist benoist@insa-rouen.fr

Plus en détail

Introduction au langage C

Introduction au langage C Introduction au langage C Cours 1: Opérations de base et premier programme Alexis Lechervy Alexis Lechervy (UNICAEN) Introduction au langage C 1 / 23 Les premiers pas Sommaire 1 Les premiers pas 2 Les

Plus en détail

Sécurité de l'information

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

Plus en détail

Enseignement secondaire technique

Enseignement secondaire technique Enseignement secondaire technique Régime technique Division technique générale Cycle moyen Informatique 11TG Nombre de leçons: 2.0 Nombre minimal de devoirs: - Langue véhiculaire: / Remarque générale:

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

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

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

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

DU BINAIRE AU MICROPROCESSEUR - D ANGELIS CIRCUITS CONFIGURABLES NOTION DE PROGRAMMATION

DU BINAIRE AU MICROPROCESSEUR - D ANGELIS CIRCUITS CONFIGURABLES NOTION DE PROGRAMMATION 145 NOTION DE PROGRAMMATION 1/ Complétons notre microprocesseur Nous avons, dans les leçons précédentes décrit un microprocesseur théorique, cependant il s inspire du 6800, premier microprocesseur conçu

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

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

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3. 1. Structure d un programme C Un programme est un ensemble de fonctions. La fonction "main" constitue le point d entrée pour l exécution. Un exemple simple : #include int main() { printf ( this

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

Cours d Informatique

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

Plus en détail

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

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

Matrice d accès. Master SEMS, 2013-2014. Pierre Paradinas. October 16, 2013

Matrice d accès. Master SEMS, 2013-2014. Pierre Paradinas. October 16, 2013 Matrice d accès Master SEMS, 2013-2014 Pierre Paradinas October 16, 2013 Le Concept de Matrice d Accès ntroduit en 1971 par Butler Lampson Definition On note O, l ensemble des entités objet qui sont impliquées

Plus en détail

Les structures de données. Rajae El Ouazzani

Les structures de données. Rajae El Ouazzani Les structures de données Rajae El Ouazzani Les arbres 2 1- Définition de l arborescence Une arborescence est une collection de nœuds reliés entre eux par des arcs. La collection peut être vide, cad l

Plus en détail

Certificats X509 & Infrastructure de Gestion de Clés. Claude Gross CNRS/UREC

Certificats X509 & Infrastructure de Gestion de Clés. Claude Gross CNRS/UREC Certificats X509 & Infrastructure de Gestion de Clés Claude Gross CNRS/UREC 1 Confiance et Internet Comment établir une relation de confiance indispensable à la réalisation de transaction à distance entre

Plus en détail

Initiation à la programmation en Python

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

Plus en détail

Programmation C. Apprendre à développer des programmes simples dans le langage C

Programmation C. Apprendre à développer des programmes simples dans le langage C Programmation C Apprendre à développer des programmes simples dans le langage C Notes de cours sont disponibles sur http://astro.u-strasbg.fr/scyon/stusm (attention les majuscules sont importantes) Modalités

Plus en détail

V- Manipulations de nombres en binaire

V- Manipulations de nombres en binaire 1 V- Manipulations de nombres en binaire L ordinateur est constitué de milliards de transistors qui travaillent comme des interrupteurs électriques, soit ouverts soit fermés. Soit la ligne est activée,

Plus en détail

D31: Protocoles Cryptographiques

D31: Protocoles Cryptographiques D31: Protocoles Cryptographiques Certificats et échange de clés Nicolas Méloni Master 2: 1er semestre (2014/2015) Nicolas Méloni D31: Protocoles Cryptographiques 1/21 Introduction Protocole Diffie Hellman:

Plus en détail

Signatures électroniques dans les applications INTERNET

Signatures électroniques dans les applications INTERNET ECOLE ROYALE MILITAIRE 156 e Promotion Polytechnique Lieutenant-Général Baron de GREEF Année académique 2005 2006 3 ème épreuve Signatures électroniques dans les applications INTERNET Par le Sous-lieutenant

Plus en détail

Présentation du langage et premières fonctions

Présentation du langage et premières fonctions 1 Présentation de l interface logicielle Si les langages de haut niveau sont nombreux, nous allons travaillé cette année avec le langage Python, un langage de programmation très en vue sur internet en

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

ASR1 TD7 : Un microprocesseur RISC 16 bits

ASR1 TD7 : Un microprocesseur RISC 16 bits {Â Ö Ñ º ØÖ Ý,È ØÖ ºÄÓ Ù,Æ ÓÐ ºÎ ÝÖ Ø¹ ÖÚ ÐÐÓÒ} Ò ¹ÐÝÓÒº Ö ØØÔ»»Ô Ö Óº Ò ¹ÐÝÓÒº Ö» Ö Ñ º ØÖ Ý»¼ Ö½» ASR1 TD7 : Un microprocesseur RISC 16 bits 13, 20 et 27 novembre 2006 Présentation générale On choisit

Plus en détail

Système binaire. Algèbre booléenne

Système binaire. Algèbre booléenne Algèbre booléenne Système binaire Système digital qui emploie des signaux à deux valeurs uniques En général, les digits employés sont 0 et 1, qu'on appelle bits (binary digits) Avantages: on peut utiliser

Plus en détail

http://cermics.enpc.fr/scilab

http://cermics.enpc.fr/scilab scilab à l École des Ponts ParisTech http://cermics.enpc.fr/scilab Introduction à Scilab Graphiques, fonctions Scilab, programmation, saisie de données Jean-Philippe Chancelier & Michel De Lara cermics,

Plus en détail

La sécurité dans les grilles

La sécurité dans les grilles La sécurité dans les grilles Yves Denneulin Laboratoire ID/IMAG Plan Introduction les dangers dont il faut se protéger Les propriétés à assurer Les bases de la sécurité Protocoles cryptographiques Utilisation

Plus en détail

INF 321 : mémento de la syntaxe de Java

INF 321 : mémento de la syntaxe de Java INF 321 : mémento de la syntaxe de Java Table des matières 1 La structure générale d un programme 3 2 Les composants élémentaires de Java 3 2.1 Les identificateurs.................................. 3 2.2

Plus en détail

Programmation Classique en langage C

Programmation Classique en langage C DI GALLO Frédéric Programmation Classique en langage C Cours du Cycle d Approfondissement CNAM ANGOULEME 2000-2001 DI GALLO Frédéric Page 1 01/04/01 PROGRAMMATION CLASSIQUE : LANGAGE C DI GALLO Frédéric

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

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

Exo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2.

Exo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2. Eo7 Calculs de déterminants Fiche corrigée par Arnaud Bodin Eercice Calculer les déterminants des matrices suivantes : Correction Vidéo ( ) 0 6 7 3 4 5 8 4 5 6 0 3 4 5 5 6 7 0 3 5 4 3 0 3 0 0 3 0 0 0 3

Plus en détail

Découverte de Python

Découverte de Python Découverte de Python Python est un des langages informatiques au programme des concours à partir de la session 2015. Ce tutoriel vous permettra de vous mettre à peu près à niveau de ce qui a été fait en

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

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

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

FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4)

FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4) FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4) Bernard Le Stum Université de Rennes 1 Version du 13 mars 2009 Table des matières 1 Fonctions partielles, courbes de niveau 1 2 Limites et continuité

Plus en détail

Probabilités. Rappel : trois exemples. Exemple 2 : On dispose d un dé truqué. On sait que : p(1) = p(2) =1/6 ; p(3) = 1/3 p(4) = p(5) =1/12

Probabilités. Rappel : trois exemples. Exemple 2 : On dispose d un dé truqué. On sait que : p(1) = p(2) =1/6 ; p(3) = 1/3 p(4) = p(5) =1/12 Probabilités. I - Rappel : trois exemples. Exemple 1 : Dans une classe de 25 élèves, il y a 16 filles. Tous les élèves sont blonds ou bruns. Parmi les filles, 6 sont blondes. Parmi les garçons, 3 sont

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

Les risques liés à la signature numérique. Pascal Seeger Expert en cybercriminalité

Les risques liés à la signature numérique. Pascal Seeger Expert en cybercriminalité Les risques liés à la signature numérique Pascal Seeger Expert en cybercriminalité Présentation Pascal Seeger, expert en cybercriminalité Practeo SA, Lausanne Partenariat avec Swisscom SA, Zurich Kyos

Plus en détail

LES SECURITES DE LA CARTE BANCAIRE

LES SECURITES DE LA CARTE BANCAIRE Projet tutoré 2007 TENEUR Jérôme Groupe: III MAHIEU Maxime Année 2006 / 2007 BINARD Romain RTFI1A LES SECURITES DE LA CARTE BANCAIRE 1 SOMMAIRE I - Introduction II - Le chiffrement symétrique 1 - Les principes

Plus en détail

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation impérative et structures de données simples Introduction au langage C Sandrine Blazy - 1ère année 24 octobre 2007 Cours d Algorithmique-Programmation

Plus en détail

as Architecture des Systèmes d Information

as Architecture des Systèmes d Information Plan Plan Programmation - Introduction - Nicolas Malandain March 14, 2005 Introduction à Java 1 Introduction Présentation Caractéristiques Le langage Java 2 Types et Variables Types simples Types complexes

Plus en détail

Logiciel Libre Cours 3 Fondements: Génie Logiciel

Logiciel Libre Cours 3 Fondements: Génie Logiciel Logiciel Libre Cours 3 Fondements: Génie Logiciel Stefano Zacchiroli zack@pps.univ-paris-diderot.fr Laboratoire PPS, Université Paris Diderot 2013 2014 URL http://upsilon.cc/zack/teaching/1314/freesoftware/

Plus en détail

STAGE IREM 0- Premiers pas en Python

STAGE IREM 0- Premiers pas en Python Université de Bordeaux 16-18 Février 2014/2015 STAGE IREM 0- Premiers pas en Python IREM de Bordeaux Affectation et expressions Le langage python permet tout d abord de faire des calculs. On peut évaluer

Plus en détail

Cours 1 : La compilation

Cours 1 : La compilation /38 Interprétation des programmes Cours 1 : La compilation Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr PPS - Université Denis Diderot Paris 7 2/38 Qu est-ce que la compilation? Vous avez tous déjà

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

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

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

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1 Chap 4: Analyse syntaxique 1 III- L'analyse syntaxique: 1- Le rôle d'un analyseur syntaxique 2- Grammaires non contextuelles 3- Ecriture d'une grammaire 4- Les méthodes d'analyse 5- L'analyse LL(1) 6-

Plus en détail

La mémoire. Un ordinateur. L'octet. Le bit

La mémoire. Un ordinateur. L'octet. Le bit Introduction à l informatique et à la programmation Un ordinateur Un ordinateur est une machine à calculer composée de : un processeur (ou unité centrale) qui effectue les calculs une mémoire qui conserve

Plus en détail

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51 DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51 PLAN DU COURS Introduction au langage C Notions de compilation Variables, types, constantes, tableaux, opérateurs Entrées sorties de base Structures de

Plus en détail

Introduction à l informatique en BCPST

Introduction à l informatique en BCPST Introduction à l informatique en BCPST Alexandre Benoit BCPST L informatique en BCPST «L enseignement de l informatique en classes préparatoires de la filière BCPST a pour objectif d introduire puis de

Plus en détail