You are on page 1of 13

Universit e Hassan II-Mohammedia F.S.T.

Mohammedia D epartement de Math ematiques

Ann. Univ. 2009-10 Fili` ere Ing enieur ILIS Module : Cryptographie

Chap. 2. SIGNATURE NUMERIQUE O. KHADIR, FSTM

Les signatures num eriques servent ` a signer des documents electroniques. Elles admettent des propri et es similaires aux signatures manuscrites. Ce chapitre pr esente trois sch emas pour les signatures num eriques correspondant ` a la m ethode RSA, puis ` a celles de Rabin et dEl Gamal. Dans la suite, on utilisera indi eremment les termes num erique, digitale, ou electronique. 1. Introduction De nombreux documents electroniques peuvent n ecessiter une signature num erique. Cest le cas par exemple des contrats commerciaux, des commandes dachat, des transactions bancaires, des mails engageant lexp editeur... La signature digitale doit pouvoir etre v eri ee par tous, et en cas de litige le document sign e doit pouvoir etre pr esent e devant le juge. Dans leur principe les signatures num eriques fonctionnent de la mani` ere suivante : Supposons que Bob veut faire signer ` a Alice un contrat ou un message M . Il lui pose alors un probl` eme P , souvent en rapport avec la th eorie des nombres, qui d epend du message M . Autrement dit, un des param` etres intervenant dans le probl` eme P est M . La conception de la signature num erique est faite de telle fa con quAlice, gr ace ` a sa cl e priv ee, se trouve etre capable de r esoudre la question P pos ee par Bob et de diuser les r esultats. Bob, ou une autre personne tierse comme le jure, peut v erier les r eponses livr ees par Alice. Dun autre c ot e, le m eme probl` eme P est dicile pour tout individu ne disposant pas dun atout suppl ementaire comme la cl e secr` ete dAlice. Dans plusieurs sch emas de signature digitale, le probl` eme P est tout simplement une equation math ematique qui d epent du message M . Lorsque Alice se montre capable de trouver ses racines, il est possible ` a Bob ou au juge de v erier en rempla cant dans 20

Universit e Hassan II-Mohammedia l equation pos ee ` a Alice

Ann. Univ. 2009-10

Il est a ` noter que lors dune proc edure de signature num erique, le souci de la protection des donn ees nest pas forc ement pr esent. Et sil lest, revenir au chapitre 1 sur le chirement a ` cl e publique. On peut tr` es bien signer num eriquement un contrat sans quil soit n ecessaire de nous le faire parvenir. Par exemple, on peut sengager sur un texte ach e sur un serveur lointain ou signer un message et ensuite acher le r esulat sur son propre serveur. Avant daborder di erents sch emas de signature digitale, citons quelques di erences fondamentales en comparaison avec la signature conventionnelle. 1) Pour la signature traditionnelle, la signature fait partie du document sign e. Pour une signature num erique, signature et document sign e sont s eparables. 2) V erier une signature traditionnelle revient ` a la comparer ` a une ancienne signature. La v erication dune signature digitale peut- etre faite par nimporte qui gr ace ` a un algorithme ` a cl e publique. 3) La copie dune signature num erique est identique ` a loriginale, ce qui nest pas le cas dune signature conventionnelle. la signature num erique doit comporter un artice pour emp echer une r eutilisable frauduleuse de sa copie. Dans toute la suite, nous supposons que les contrats ou messages ` a signer sont de taille modeste : moins que la taille des modules des cryptosyst` emes concern es. Au chapitre 3 sur les fonctions de hachage nous verrons comment signer les textes de grande taille. 2. Signature num erique RSA A) Description On suppose quAlice dispose des cl es publiques (n,e) et de la cl e priv ee d correspondant au cryptosyst` eme classique RSA. Lorsque Bob veut faire signer ` a Alice le message M < n, il lui demande de trouver la solution ` a l equation X e M [n]. Connaissant seulement n, e et M , cette equation est polyn omiale modulaire, donc dicile. Voir les pr eliminaires math ematiques. Ainsi personne ne peut r epondre ` a la question de Bob, m eme pas Bob lui m eme. Autrement dit personne ne peut signer ` a la place dAlice. Elle seule, vu quelle poss` ede la cl e secr` ete d,

21

Universit e Hassan II-Mohammedia

Ann. Univ. 2009-10

peut faire : X e M [n] X M d [n] et envoyer ou simplement diuser la r eponse obtenue. Plus tard, devant Bob ou devant les juges, elle ne peut renier sa signature car ce serait contraire aux fondements de RSA qui sont bas es sur des suppositions math ematiques mainte fois test ees et v eri ees. Exemple 1 : On pourra utiliser Maple. Soient p = 113, q = 131 et n = pq = 14803. Soit e = 3 lexposant publique. Lexposant priv e correspondant est linverse de 3 modulo (n) = 112 130 = 14560 qui vaut d = 9707. Alice d etient la cl e priv ee d. Si elle veut signer le message M = 10 000, elle devra r esoudre l equation X 3 10 000 [14 803]. Pour cela, elle calcule X M d [n] 10 0009 la valeur du document qui a et e sign e. Exemple 2 : On pourra utiliser Maple. Soient p = 701, q = 911 et n = pq = 638 611. Soit e = 251 lexposant publique. Lexposant priv e correspondant est linverse de e modulo (n) = 700 910 = 637 000 qui vaut d = 553 251. Alice d etient la cl e priv ee d. Si elle veut signer le message M = 11 911, elle devra r esoudre l equation X 251 11 911 [638 611]. Pour cela elle calcule X M d [n] 11 911553
251 707

618 [14 803].

Pour v erier cette signature, on eectue X 3 6183 10 000 [14 803], et lon obtient bien

341 076 [638 611].

Pour v erier cette signature, on eectue X 251 341 076251 11 911 [638 611], et lon obtient bien la valeur du document qui a et e sign e. B) Attaques Nous allons voir quelques situations dans lesquelles un pirate peut simuler une signature num erique ` a base de RSA. 1) Attaque sans message (n,e,d) etant les cl es dAlice, Oscar teste plusieurs valeurs de X {1,2,3, . . . ,n 1} en calculant M X e [n]. D` es quil trouve un message qui a un sens et qui lint eresse, il peut pr etendre que Alice la sign e.

22

Universit e Hassan II-Mohammedia 2) Attaque par substitution de cl es

Ann. Univ. 2009-10

Soient (n,eA ,dA ) et (nO ,eO ,dO ) les cl es respectives dAlice et dOscar. Ce dernier choisit le message M quil veut frauduleusement faire signer ` a Alice. Puis il calcule C M dO [nO ] et se d ebrouille pour remplacer dans lannuaire ou le serveur des cl es, les param` etres publiques dAlice (nA ,eA ) par les siennes. D` es lors, Oscar pr etend que cest bien Alice qui a sign e le message M . Il pr esente le message M et la signature C ` a Bob. Ce dernier v erie que l equation X eA M [nA ] a bien la solution C . Cette situation justie le besoin dutiliser un centre de conance qui soccupe de la distribution des cl es. 3) Attaque par double messages sign es (n,e,d) etant les cl es dAlice, Oscar xe le message M < n quil veut lui faire signer frauduleusement. Il choisit M1 M [n] et M1 inversible module n, cest-` a-dire pgcd(M1 ,n) = 1.
1 Il calcule M2 M M1 [n]. Si Oscar se procure les signatures de X1 et X2 de M1 et de M2 , e X1 M1 [n] il fait : , ce qui entra ne que : (X1 X2 )e M1 M2 [n]. Mais M1 M2 M [n], e X2 M 2 [n ] donc Oscar peut proclamer que Alice a sign e le message M .

Cette situation est un exemple des nombreux litiges quon peut avoir dans les proc edures de signature num erique. 4) Attaque par chirement puis signature Soient (n,eA ,dA ) et (nO ,eO ,dO ) les cl es respectives dAlice et dOscar. Alice va envoyer ` a Oscar un message M condentiel et sign e. Elle se dit quelle va crypter puis signer au lieu de signer puis crypter. Alice commence donc par crypter M : C M eO [nO ]. Ensuite elle signe le r esultat obtenu : C C dA [nA ]. Elle envoie seulement C ` a Oscar. A la r eception Oscar fait : C preuve de cryptage. Maintenant Oscar xe le message M1 quil veut faire frauduleusement signer ` a Alice.
x Supposons quil est en mesure de trouver un exposant x tel que : M1 M [nO ]. eA

[nA ] = C , preuve de signature, puis : C dO [nO ] = M ,

Il change ses cl es en (nO ,x eO ,dO ). D` es lors, il peut pr etendre que Alice crypt e puis sign e 23

Universit e Hassan II-Mohammedia

Ann. Univ. 2009-10

le message M1 en montrant ` a Bob M1 et C . Bob va faire les v erications suivantes : i) (C )eA [nA ] = C , preuve de signature de C . ii) C dO [nO ] = M1 , preuve de cryptage de M1 . Cette situation nous montre quil est pr ef erable et prudent de commencer par la signature digitale suivie du chirement, au lieu de lordre contraire.

24

Universit e Hassan II-Mohammedia 3. Signature de Rabin A) Description

Ann. Univ. 2009-10

Supposons quAlice poss` ede la cl e publique n = p q o` u p et q sont deux nombres secrets de grande taille et tels que : p, q 1 [4]. Cette derni` ere condition etant pratique pour le d echirement. On note ||n|| la taille en bits du module n. Alice choisit un entier naturel k < ||n|| et le diuse publiquement. Posons l = ||n|| k . Soit U un nombre binaire de taille au plus k . On lappellera suxe. Notons M .U le nombre entier naturel obtenue par juxtaposition des bits de M et de U . Supposons que Bob veut faire signer ` a Alice le contrat ou le message M de taille l. Il lui demande de choisir U et de r esoudre l equation dinconnue X X 2 M .U [n] (1)

Alice conna t p et q , elle peut donc r esoudre l equation (1) comme sil sagissait dun d echirement et obtenir quatre solutions X1 , X2 , X3 , X4 . Elle fournit ` a Bob une des solutions, par exemple X1 . On rappelle que le syst` emes qui se r esout par le th eor` eme chinois des restes est : (S ) X (M .U )(p+1)/4 [p] X (M .U )(q+1)/4 [q ]

Alice v erie sa signature. Si elle nest pas valide, elle doit changer la valeur de U . Pourquoi ladjonction du suxe U ? On aurait pu penser ` a l equation simple dinconnue X : X 2 M [n]. Malheureusement, elle peut entra ner la factorisation de n. En eet, si Alice signe deux fois le m eme message M et fournit successivement les solutions X1 et X2 . Si lespion Oscar intercepte ces deux solutions, il peut suivre la d emarche de lexercice 7 du TD1 et calculer p ou q par : pgcd[X (X1 X2 )(X1 + X2 ),n] La v erication de l equation (1) de Rabin exige la connaissance de U . Cependant, Alice doit par pr ecaution, ` a chaque signature, m eme pour le m eme message M , changer la valeur de U .

25

Universit e Hassan II-Mohammedia Exemple 1 :

Ann. Univ. 2009-10

Supposons que n = 589 = 19 31. On a ||n|| = 10 car n = 10 0100 1101. Alice, qui poss` ede les cl es priv ees p et q xe k = 4 et le diuse. Bob veut faire signer par Alice le contrat M = 31 11111 qui est bien de taille l = 6. Supposons que le suxe U 0100 a et e choisi par Alice. Donc M.U 11111.0100 500. L equation (1) de Rabin est alors X 2 500 [589] et le syst` eme (S), comme (p + 1)/4 = 5, (q + 1)/4 = 8, devient : (S ) X 5005 5 [19] X 5008 2 [31] (2)

Il y a quatre solutions {556,33,157,432}, toutes en m eme temps solutions de l equation (2). Par cons equent Alice envoie une de ces racines ` a Bob comme preuve de sa signature. Exemple 2 : Gardons les m emes param` etres n = 589, p = 19, q = 31 et k = 4. On va changer le contrat et le suxe U . Bob veut faire signer par Alice le contrat M = 35 10 0011 qui est bien de taille l = 6. Supposons que le suxe U 1001 a et e choisi par Alice. Donc M.U 100011.1001 569. L equation (1) de Rabin est alors X 2 569 [589] et le syst` eme (S), comme (p + 1)/4 = 5, (q + 1)/4 = 8, devient : (S ) X 5695 1 [19] X 5698 19 [31] (3)

Il y a quatre solutions {229,267,322,360}. mais aucune delles ne v erie l equation (3). Donc Alice devra changer le choix de U .

26

Universit e Hassan II-Mohammedia

Ann. Univ. 2009-10

Remarque : On peut remplacer X 2 dans l equation (1) de Rabin par X 3 ou par nimporte quelle autre polyn ome. B) Attaques Si 2k est petit, Oscar peut chercher ` a faire signer plus de 2k fois le m eme message M . M eme si Alice change de suxe U , son choix est limit e et donc Oscar obtiendra des relations
2 2 du genre X1 M.U [n] et X1 M.U [n], ce qui pourrait le conduire ` a factoriser n et se

procurer les cl es priv ees dAlice. Il ny a pas dautres attaques remarquables.

27

Universit e Hassan II-Mohammedia 4. Signature dEl Gamal A) Description

Ann. Univ. 2009-10

Taher El Gamal a propos e une equation ` a deux inconnues X, Y et qui d epend du contrat ou du message quon voudrait faire signer ` a Alice. Supposons que les cl es publiques dAlice sont (p, a, A) o` u p est un nombre premier de grande taille, a est une racine primitive, cest-` a-dire un g en erateur du groupe multiplicatif Z (( ) ,.), et A v erie A a [p], etant la cl e priv ee dAlice. pZ En 1985, El Gamal a sugg er e l equation : aM AX X Y [p] (4)

Comme on travaille modulo p, Alice peut supposer que X,Y < p. Mais puisque a est un g en erateur, elle peut faire un changement de variable et poser X ak [p] o` u k est un entier naturel ` a chercher. Nous avons : L equation (1) aM a X ak Y [p] aM a X +k Y [p] aM X k Y 1 [p] Mais une propri et e math ematique nous dit que si a est g en erateur de (( L equation (1) M X k Y 0 [p 1] k Y M X [p 1] En xant arbitrairement k , donc aussi X ak [p], avec la seule condition que k soit inversible modulo p 1, cest-dire premier avec p 1, Alice peut d eduire la valeur de Y par la formule : Y M X [p 1] k (5) Z ) ,.), alors les pZ seuls exposants entiers z tels que az 1 [p] sont ceux qui sont multiple de p 1. Do` u:

A rappeler que linverse de k modulo p 1, se calcule par lalgorithme etendu dEuclide. Les cl es p et a sont publiques, donc rien nemp eche Oscar dimiter le d ebut de la d emarche dAlice. Il peut prendre aussi un entier k premier avec p 1 et poser X ak [p]. Seulement apr` es, il sera confront e` a la relation (2), et celle-ci comporte deux inconnues Y et .

28

Universit e Hassan II-Mohammedia Exemple 1 :

Ann. Univ. 2009-10

Supposons que les cl es publiques dAlice sont p = 23, a = 7, A = 4 et la cl e priv ee est = 6. On va r ealiser 4 t aches : 1- D emontrer que a = 7 est bien une racine primitive modulo 23. 2- V erier que A a [p] 3- D eterminer la signature dAlice pour le message M = 7, cest-` a-dire, les inconnues X et Y de l equation (4) dEl Gamal. On admettra quAlice a choisi arbitrairement k = 5. 4- V erier que la signature dAlice est valide. 1- On applique le th eor` eme 1 du point 12 des pr eliminaires math ematiques. p 1 = 22 = 2 11, donc les exposants possibles (p 1)/q sont 2, 11 et lon doit montrer que : a2 1 [23] et a11 1 [23] a2 72 49 3 1 [23] a11 711 (72 )5 7 35 7 22 1 [23] 2- a6 76 (72 )3 33 4 A [23] 3- L equation dEl Gamal aM AX X Y [p] devient : 77 4X X Y [23] cest-` a-dire, 5 4X X Y [23] (6)

PuisquAlice a choisi k = 5 calculons son inverse k 1 modulo 22. Lalgorithme etendu dEuclide donne : q1 4 2 2 u1 1 0 1 -2 u2 0 1 -4 9 u3 v 1 22 0 5 1 2 -2 1 v2 1 -4 9 v3 5 2 1 0

On en d eduit la relation de Bezout 22 (2) + 9 5 = 1. Donc linverse de k = 5 est k 1 9 [22]. La premi` ere inconnue est X ak [p] = X 75 17 [23] M X 7 6 17 La seconde inconnue est Y [p 1] (7 102) 9 3 [22]. k 5 Finalement, la signature dAlice pour le message M = 7 est le couple (X,Y ) = (17,3). 4- Il sut de v erier l equation (6) : 5 4X X Y [23] avec X = 17 et Y = 3. On trouve par Maple que : 417 2 [23], 173 14 [23] et 2 14 5 [23].

29

Universit e Hassan II-Mohammedia Exemple 2 :

Ann. Univ. 2009-10

Supposons que les cl es publiques dAlice sont p = 467, a = 2, A = 132 et la cl e priv ee est = 127. On va r ealiser 4 t aches : 1- D emontrer que a = 2 est bien une racine primitive modulo p = 467. 2- V erier que A a [p] 3- D eterminer la signature dAlice pour le message M = 100, cest-` a-dire, les inconnues X et Y de l equation (4) dEl Gamal. On admettra quAlice a choisi arbitrairement k = 213. 4- V erier que la signature dAlice est valide. 1- On applique le th eor` eme 1 du point 12 des pr eliminaires math ematiques. p 1 = 466 = 2 233, donc les exposants possibles (p 1)/q sont 2, 233 et lon doit montrer que : a2 1 [467] et a233 1 [467] a2 22 4 3 1 [467] a233 2233 466 1 [467] 2- 2127 132 [467] 3- L equation dEl Gamal aM AX X Y [p] devient : 2100 132X X Y [467] cest-` a-dire, 189 132X X Y [23] (7)

PuisquAlice a choisi k = 213 calculons son inverse k 1 modulo 466. Lalgorithme etendu dEuclide donne : q1 u1 u2 u 3 v 1 v 2 v 3 1 0 466 0 1 213 2 0 1 213 1 -2 40 5 1 -2 40 -5 11 13 3 -5 11 13 16 35 1 13 16 -35 1 0 On en d eduit la relation de Bezout 466 (16) + 213 (35) = 1. Donc linverse de k = 5 est k 1 35 431 [466]. La premi` ere inconnue est X ak [p] = X 2213 29 [467] M X 100 127 29 La seconde inconnue est Y [p 1] (100 421) k 213 431 51 [466]. Finalement, la signature dAlice pour le message M = 100 est le couple (X,Y ) = (29,51). 4- Il sut de v erier l equation (7) : 189 132X X Y [467] avec X = 29 et Y = 51. On trouve par Maple que : 13229 216 [467], 2951 176 [467] et 216 176 189 [467]. 30

Universit e Hassan II-Mohammedia B) Attaques

Ann. Univ. 2009-10

La signature dEl Gamal a fait, et fait encore aujourdhui, lobjet de plusieurs attaques. Nous allons en exposer deux. Attaque 1 : (Signer 2 contrats ou 2 messages avec le m eme k ). Supposons quAlice signe deux messages M1 et M2 avec le m eme k al eatoire. Donc elle fournit (X1 ,Y1 ) et (X2 ,Y2 ) qui v erient (S1 ) X1 ak [p] M1 X1 Y1 [p 1] k et (S2 ) X2 ak [p] X1 M2 X2 M2 X1 Y2 [p 1] k k

Si Oscar, conna t les deux contrats M1 et M2 et intercepte les deux signatures (X1 ,Y1 ), M2 M1 M2 M1 (X2 ,Y2 ), alors il peut faire : Y1 Y2 [p 1], soit k [p 1]. k Y1 Y2 (Pourvu que Y1 Y2 soit inversible modulo p 1). Apr` es le calcul de k , Oscar va obtenir la cl ee priv ee dAlice par lune des quatre equations de (S1 ) et (S2 ). Voir exercice 12 du TD2. Attaque 2 : Oscar peut faire signer ` a Alice un contrat au hasard. Il commence par chercher le premier terme de la signature X en posant X ai Aj [p] et en cherchant les entiers naturels i et j . On a : aM AX X Y [p] (1) aM AX (ai Aj )Y [p] aM i Y AX +j Y [p]. Il sut que M i Y 0 [p 1] (2) X + j Y 0 [p 1] (3)

Oscar va choisir arbitrairement i et j . Donc il connait X . De plus, si j est inversible modulo p 1, l equation (3) lui donne Y et (2) lui donne M . Y X j 1 [p 1] M i Y [p 1] X ai A j [ p ] Maintenant, si M admet par hasard une signication avantageuse pour Oscar, il peut proclamer quAlice a sign e le contrat M . Exemple : La cl e publique est p = 467, a = 2, A = 132. Oscar choisit i = 99, j = 179. Ainsi j 1 = 151 [p 1] et : X ai Aj [p] 299 132179 117 [467] Y X j 1 117 151 41 [466] M i Y 99 41 331 [466] 31

Universit e Hassan II-Mohammedia 5. Tableau r ecapitulatif

Ann. Univ. 2009-10

Nous r esumons, dans le tableau suivant, les proc edures de signatures relatives aux trois types de cryptosyst` emes : Cryptosyst` eme RSA, 1978 Cl es publiques : (n,e) privee : d | ed 1 [(n)] Equat. de la signat. X e M [n ] Solut. de lequat. X M d [n ] 1. p u + q v = 1 2. X1 = q v 3. X2 = p u 4. a (M .U )(p+1)/4 [p] 5. b (M .U )(q+1)/4 [q ] 6. X aX1 + bX2 [n] 1. k H, pgcd(k,p 1) = 1 2. k u + (p 1) v = 1 3. X ak [ p ] 4. Y (M X ) u [p 1]

Rabin, 1979

publiques : n = pq privees : p, q

X 2 M .U [n]

El Gamal, 1985

publiques : (p,a,A = a ) priveee :

a M AX X Y [ p ]

32

You might also like