AccueilđŸ‡«đŸ‡·Chercher

Chiffrement RSA

Le chiffrement RSA (nommĂ© par les initiales de ses trois inventeurs) est un algorithme de cryptographie asymĂ©trique, trĂšs utilisĂ© dans le commerce Ă©lectronique, et plus gĂ©nĂ©ralement pour Ă©changer des donnĂ©es confidentielles sur Internet. Cet algorithme a Ă©tĂ© dĂ©crit en 1977 par Ronald Rivest, Adi Shamir et Leonard Adleman. RSA a Ă©tĂ© brevetĂ©[1] par le Massachusetts Institute of Technology (MIT) en 1983 aux États-Unis. Le brevet a expirĂ© le 21 septembre 2000.

Ronald Rivest (2015).
Adi Shamir (2013).
Leonard Adleman (2010).

Fonctionnement général

Le chiffrement RSA est asymĂ©trique : il utilise une paire de clĂ©s (des nombres entiers) composĂ©e d'une clĂ© publique pour chiffrer et d'une clĂ© privĂ©e pour dĂ©chiffrer des donnĂ©es confidentielles. Les deux clĂ©s sont crĂ©Ă©es par une personne, souvent nommĂ©e par convention Alice, qui souhaite que lui soient envoyĂ©es des donnĂ©es confidentielles. Alice rend la clĂ© publique accessible. Cette clĂ© est utilisĂ©e par ses correspondants (Bob, etc.) pour chiffrer les donnĂ©es qui lui sont envoyĂ©es. La clĂ© privĂ©e est quant Ă  elle rĂ©servĂ©e Ă  Alice, et lui permet de dĂ©chiffrer ces donnĂ©es. La clĂ© privĂ©e peut aussi ĂȘtre utilisĂ©e par Alice pour signer une donnĂ©e qu'elle envoie, la clĂ© publique permettant Ă  n'importe lequel de ses correspondants de vĂ©rifier la signature.

Une condition indispensable est qu'il soit « calculatoirement impossible » de dĂ©chiffrer Ă  l'aide de la seule clĂ© publique, en particulier de reconstituer la clĂ© privĂ©e Ă  partir de la clĂ© publique, c'est-Ă -dire que les moyens de calcul disponibles et les mĂ©thodes connues au moment de l'Ă©change (et le temps que le secret doit ĂȘtre conservĂ©) ne le permettent pas.

Le chiffrement RSA est souvent utilisĂ© pour communiquer une clĂ© de chiffrement symĂ©trique, qui permet alors de poursuivre l'Ă©change de façon confidentielle : Bob envoie Ă  Alice une clĂ© de chiffrement symĂ©trique qui peut ensuite ĂȘtre utilisĂ©e par Alice et Bob pour Ă©changer des donnĂ©es.

Fonctionnement détaillé

Ronald Rivest, Adi Shamir et Leonard Adleman ont publié leur chiffrement en 1978 dans A Method for Obtaining Digital Signatures and Public-key Cryptosystems. Ils utilisent les congruences sur les entiers et le petit théorÚme de Fermat, pour obtenir des fonctions à trappe.

Tous les calculs se font modulo un nombre entier n qui est le produit de deux nombres premiers. Le petit théorÚme de Fermat joue un rÎle important dans la conception du chiffrement.

Les messages clairs et chiffrés sont des entiers inférieurs à l'entier n[2]. Les opérations de chiffrement et de déchiffrement consistent à élever le message à une certaine puissance modulo n (c'est l'opération d'exponentiation modulaire).

La seule description des principes mathĂ©matiques sur lesquels repose l'algorithme RSA n'est pas suffisante. Sa mise en Ɠuvre concrĂšte demande de tenir compte d'autres questions qui sont essentielles pour la sĂ©curitĂ©. Par exemple le couple (clĂ© privĂ©e, clĂ© publique) doit ĂȘtre engendrĂ© par un procĂ©dĂ© vraiment alĂ©atoire qui, mĂȘme s'il est connu, ne permet pas de reconstituer la clĂ© privĂ©e. Les donnĂ©es chiffrĂ©es ne doivent pas ĂȘtre trop courtes, pour que le dĂ©chiffrement demande vraiment un calcul modulaire, et complĂ©tĂ©es de façon convenable (par exemple par l'Optimal Asymmetric Encryption Padding).

Création des clés

L'Ă©tape de crĂ©ation des clĂ©s est Ă  la charge d'Alice. Elle n'intervient pas Ă  chaque chiffrement car les clĂ©s peuvent ĂȘtre rĂ©utilisĂ©es. La difficultĂ© premiĂšre, que ne rĂšgle pas le chiffrement, est que Bob soit bien certain que la clĂ© publique qu'il dĂ©tient est celle d'Alice. Le renouvellement des clĂ©s n'intervient que si la clĂ© privĂ©e est compromise, ou par prĂ©caution au bout d'un certain temps (qui peut se compter en annĂ©es).

  1. Choisir p et q, deux nombres premiers distincts ;
  2. calculer leur produit n = pq, appelé module de chiffrement ;
  3. calculer φ(n) = (p - 1)(q - 1) (c'est la valeur de l'indicatrice d'Euler en n) ;
  4. choisir un entier naturel e premier avec φ(n) et strictement infĂ©rieur Ă  φ(n), appelĂ© exposant de chiffrement ;
  5. calculer l'entier naturel d, inverse modulaire de e pour la multiplication modulo φ(n) et strictement infĂ©rieur Ă  φ(n), appelĂ© exposant de dĂ©chiffrement ; d peut se calculer efficacement par l'algorithme d'Euclide Ă©tendu.

Comme e est premier avec φ(n), d'aprĂšs le thĂ©orĂšme de Bachet-BĂ©zout il existe deux entiers d et k tels que ed = 1 + kφ(n), c'est-Ă -dire que ed ≡ 1 (mod φ(n)) : e est bien inversible modulo φ(n).

Dans tout le paragraphe prĂ©cĂ©dent, on peut utiliser l’indicatrice de Carmichael, , qui divise φ(n).

Le couple (n, e) — ou (e, n)[3] — est la clĂ© publique du chiffrement, alors que sa clĂ© privĂ©e est[4] le nombre d, sachant que l'opĂ©ration de dĂ©chiffrement ne demande que la clef privĂ©e d et l'entier n, connu par la clĂ© publique (la clĂ© privĂ©e est parfois aussi dĂ©finie comme le couple (d, n)[3] ou le triplet (p, q, d)[5]).

Chiffrement du message

Si M est un entier naturel strictement inférieur à n représentant un message, alors le message chiffré sera représenté par

l'entier naturel C étant strictement inférieur à n.

DĂ©chiffrement du message

Pour dĂ©chiffrer C, on utilise d, l'inverse de e modulo (p – 1)(q – 1), et l'on retrouve le message clair M par

Exemple

Un exemple avec de petits nombres premiers (en pratique il faut de trĂšs grands nombres premiers[6]) :

  1. on choisit deux nombres premiers p = 3, q = 11 ;
  2. leur produit n = 3 × 11 = 33 est le module de chiffrement ;
  3. φ(n) = (3 – 1) × (11 – 1) = 2 × 10 = 20 ;
  4. on choisit e= 3 (premier avec 20) comme exposant de chiffrement ;
  5. l'exposant de dĂ©chiffrement est d = 7, l'inverse de 3 modulo 20 (en effet ed = 3 × 7 ≡ 1 mod 20).

La clé publique d'Alice est (n, e) = (33, 3), et sa clé privée est (n, d) = (33, 7). Bob transmet un message à Alice.

  • Chiffrement de M = 4 par Bob avec la clĂ© publique d'Alice : 43 ≡ 31 mod 33, le chiffrĂ© est C = 31 que Bob transmet Ă  Alice ;
  • DĂ©chiffrement de C = 31 par Alice avec sa clĂ© privĂ©e : 317 ≡ 4 mod 33, Alice retrouve le message initial M = 4.

Le mécanisme de signature par Alice, à l'aide de sa clé privée, est analogue, en échangeant les clés.

Justification

La démonstration repose sur le petit théorÚme de Fermat, à savoir que comme p et q sont deux nombres premiers, si M n'est pas un multiple de p on a la premiÚre égalité, et la seconde s'il n'est pas un multiple de q :

En effet

Or

ce qui signifie qu'il existe un entier k tel que

donc, si M n'est pas multiple de p d'aprÚs le petit théorÚme de Fermat

et de mĂȘme, si M n'est pas multiple de q

Les deux Ă©galitĂ©s sont en fait rĂ©alisĂ©es pour n'importe quel entier M, car si M est un multiple de p, M et toutes ses puissances non nulles sont congrues Ă  0 modulo p. De mĂȘme pour q.

L'entier est donc un multiple de p et de q, qui sont premiers distincts, donc de leur produit pq = n (on peut le voir comme une conséquence de l'unicité de la décomposition en facteurs premiers, ou plus directement du lemme de Gauss, sachant que p et q sont premiers entre eux, étant premiers et distincts).

Asymétrie

On constate que pour chiffrer un message, il suffit de connaßtre e et n. En revanche pour déchiffrer, il faut d et n.

Pour calculer d Ă  l'aide de e et n, il faut trouver l'inverse modulaire de e modulo (p – 1)(q – 1), ce que l'on ne sait pas faire sans connaĂźtre les entiers p et q, c'est-Ă -dire la dĂ©composition de n en facteurs premiers.

Le chiffrement demande donc de pouvoir vérifier que de « trÚs grands » nombres sont des nombres premiers, pour pouvoir trouver p et q, mais aussi que le produit de ces deux trÚs grands nombres, ne soit pas factorisable pratiquement. En effet les algorithmes efficaces connus qui permettent de vérifier qu'un nombre n'est pas premier ne fournissent pas de factorisation.

ThéorÚme d'Euler

La valeur φ(n) de l'indicatrice d'Euler en n est l'ordre du groupe des Ă©lĂ©ments inversibles de l’anneau â„€/nâ„€. Ceci permet de voir immĂ©diatement, par le thĂ©orĂšme d'Euler (consĂ©quence du thĂ©orĂšme de Lagrange), que si M est premier avec n, donc inversible (ce qui est le cas de « la plupart » des entiers naturels M strictement infĂ©rieurs Ă  n)

soit de justifier le chiffrement RSA (pour de tels M).

Il s'avĂšre que quand n est un produit de nombres premiers distincts, l'Ă©galitĂ© est vĂ©rifiĂ©e pour tout M[7] (la dĂ©monstration est essentiellement celle faite ci-dessus pour RSA, dans le cas particulier oĂč n est un produit de deux nombres premiers).

Implémentation

Engendrer les clefs

Le couple de clefs demande de choisir deux nombres premiers de grande taille, de façon qu'il soit calculatoirement impossible de factoriser leur produit.

Pour dĂ©terminer un nombre premier de grande taille, on utilise un procĂ©dĂ© qui fournit Ă  la demande un entier impair alĂ©atoire d'une taille suffisante, un test de primalitĂ© permet de dĂ©terminer s'il est ou non premier, et on s'arrĂȘte dĂšs qu'un nombre premier est obtenu. Le thĂ©orĂšme des nombres premiers assure que l'on trouve un nombre premier au bout d'un nombre raisonnable d'essais.

La méthode demande cependant un test de primalité trÚs rapide. En pratique on utilise un test probabiliste, le test de primalité de Miller-Rabin[8] ou une variante[9]. Un tel test ne garantit pas exactement que le nombre soit premier, mais seulement une (trÚs) forte probabilité qu'il le soit.

Propriétés requises

Pour éviter les failles de sécurité, les deux nombres premiers et choisis pour construire le couple de clefs doivent satisfaire les propriétés suivantes[10]:

  • et doivent ĂȘtre suffisamment grands pour que l'algorithme rho de Pollard ne puisse trouver le plus petit facteur ;
  • doit ĂȘtre grand car trouver un facteur de en testant tous les nombres entre et a une complexitĂ© ;
  • et ne doivent pas ĂȘtre friables pour empĂȘcher l'utilisation de l'algorithme p – 1 de Pollard ;
  • et doivent avoir au moins un grand facteur premier pour Ă©viter l'algorithme de factorisation de Williams (en) ;
  • Deux utilisateurs diffĂ©rents doivent gĂ©nĂ©rer des nombres premiers diffĂ©rents pour empĂȘcher une attaque par calcul de PGCD des diffĂ©rentes clĂ©s.

L'exposant choisi doit quant à lui vérifier les propriétés suivantes[10]:

  • Deux utilisateurs diffĂ©rents ne doivent pas utiliser le mĂȘme module avec des exposants et distincts car un message envoyĂ© simultanĂ©ment aux deux destinataires peut ĂȘtre dĂ©chiffrĂ© ;
  • doit ĂȘtre suffisamment grand pour Ă©viter l'attaque de HĂ„stad (voir infra) ;
  • doit ĂȘtre tel que le associĂ© soit supĂ©rieur Ă  pour Ă©viter l'attaque de Wiener.

Chiffrer et déchiffrer

Le calcul de ne peut se faire en calculant d'abord cd, puis le reste modulo n, car cela demanderait de manipuler des entiers beaucoup trop grands. Il existe des méthodes efficaces pour le calcul de l'exponentiation modulaire.

On peut conserver une forme différente de la clé privée pour permettre un déchiffrement plus rapide à l'aide du théorÚme des restes chinois.

Applications

Lorsque deux personnes souhaitent s'échanger des informations numériques de façon confidentielle, sur Internet par exemple avec le commerce électronique, celles-ci doivent recourir à un mécanisme de chiffrement de ces données numériques. RSA étant un algorithme de chiffrement asymétrique, celui-ci hérite du domaine d'application de ces mécanismes de chiffrement. On citera :

  • l'authentification des parties entrant en jeu dans l'Ă©change d'informations chiffrĂ©es avec la notion de signature numĂ©rique ;
  • le chiffrement des clĂ©s symĂ©triques (nettement moins coĂ»teuse en temps de calcul) utilisĂ©es lors du reste du processus d'Ă©change d'informations numĂ©riques chiffrĂ©es.

Ce dernier est en fait intĂ©grĂ© dans un mĂ©canisme RSA. En effet, le problĂšme des algorithmes symĂ©triques est qu'il faut ĂȘtre sĂ»r que la clĂ© de chiffrement ne soit divulguĂ©e qu'aux personnes qui veulent partager un secret. RSA permet de communiquer cette clĂ© symĂ©trique de maniĂšre sĂ»re. Pour ce faire, Alice va tout d'abord choisir une clĂ© symĂ©trique. Voulant Ă©changer un secret avec Bob elle va lui transmettre cette clĂ© symĂ©trique en utilisant RSA. Elle va, pour cela, chiffrer la clĂ© symĂ©trique avec la clĂ© publique (RSA) de Bob, ainsi elle sera sĂ»re que seul Bob pourra dĂ©chiffrer cette clĂ© symĂ©trique. Une fois que Bob reçoit le message, il le dĂ©chiffre et peut alors utiliser la clĂ© symĂ©trique dĂ©finie par Alice pour lui envoyer des messages chiffrĂ©s que seuls lui et Alice pourront alors dĂ©chiffrer.

Sécurité

Robustesse et failles possibles

Il faut distinguer les attaques par la force brute, qui consistent à retrouver p et q sur la base de la connaissance de n uniquement, et les attaques sur la base de la connaissance de n mais aussi de la maniÚre dont p et q ont été générés, du logiciel de cryptographie utilisé, d'un ou plusieurs messages éventuellement interceptés etc.

La sécurité de l'algorithme RSA contre les attaques par la force brute repose sur deux conjectures[10]:

  1. « casser » RSA de cette maniÚre nécessite la factorisation du nombre n en le produit initial des nombres p et q,
  2. avec les algorithmes classiques, le temps que prend cette factorisation croßt exponentiellement avec la longueur de la clé.

Il est possible que l'une des deux conjectures soit fausse, voire les deux. Jusqu'à présent, ce qui fait le succÚs du RSA est qu'il n'existe pas d'algorithme connu de la communauté scientifique pour réaliser une attaque force brute avec des ordinateurs classiques.

Le , le plus grand nombre factorisĂ© par ce moyen, en utilisant une mĂ©thode de calculs distribuĂ©s, Ă©tait long de 795 bits. Les clĂ©s RSA sont habituellement de longueur comprise entre 1 024 et 2 048 bits. Quelques experts croient possible que des clĂ©s de 1 024 bits seront cassĂ©es dans un proche avenir (bien que ce soit controversĂ©), mais peu voient un moyen de casser de cette maniĂšre des clĂ©s de 4 096 bits dans un avenir prĂ©visible. On peut nĂ©anmoins prĂ©sumer que RSA reste sĂ»r si la taille de la clĂ© est suffisamment grande. On peut trouver la factorisation d'une clĂ© de taille infĂ©rieure Ă  256 bits en quelques minutes sur un ordinateur individuel, en utilisant des logiciels librement disponibles[11]. Pour une taille allant jusqu'Ă  512 bits, et depuis 1999, il faut faire travailler conjointement plusieurs centaines d'ordinateurs. Par sĂ»retĂ©, il est couramment recommandĂ© que la taille des clĂ©s RSA soit au moins de 2 048 bits.

Si une personne possÚde un moyen « rapide » de factoriser le nombre n, tous les algorithmes de chiffrement fondés sur ce principe seraient remis en cause ainsi que toutes les données chiffrées dans le passé à l'aide de ces algorithmes.

En 1994, un algorithme permettant de factoriser les nombres en un temps non exponentiel a été écrit pour les ordinateurs quantiques. Il s'agit de l'algorithme de Shor. Les applications des ordinateurs quantiques permettent théoriquement de casser le RSA par la force brute, ce qui a activé la recherche sur ce sujet ; mais actuellement ces ordinateurs génÚrent des erreurs aléatoires qui les rendent inefficaces.

Les autres types d'attaques (voir ci-dessous), beaucoup plus efficaces, visent la maniĂšre dont les nombres premiers p et q ont Ă©tĂ© gĂ©nĂ©rĂ©s, comment e a Ă©tĂ© choisi, si l'on dispose de messages codĂ©s ou de toute autre information qui peut ĂȘtre utilisĂ©e. Une partie de la recherche sur ce sujet est publiĂ©e mais les techniques les plus rĂ©centes dĂ©veloppĂ©es par les entreprises de cryptanalyse et les organismes de renseignement comme la NSA restent secrĂštes.

Il faut enfin noter que casser une clĂ© par factorisation du nombre n ne nĂ©cessite pas d'attendre d'avoir un message chiffrĂ© Ă  disposition. Cette opĂ©ration peut dĂ©buter sur la base de la connaissance de la clĂ© publique seulement, qui est gĂ©nĂ©ralement libre d'accĂšs. Dans ces conditions, si n est factorisĂ©, la clĂ© privĂ©e s'en dĂ©duit immĂ©diatement. Les consĂ©quences de cette observation sont Ă©galement qu'un code peut ĂȘtre cassĂ© avant mĂȘme son utilisation.

Attaques

Plusieurs attaques ont été proposées pour casser le chiffrement RSA[12].

Attaque de Wiener

L'attaque de Wiener (1989) est exploitable si l'exposant secret d est inférieur à [13]. On peut retrouver dans ce cas l'exposant secret à l'aide du développement en fractions continues de [14] - [10].

Attaque de HĂ„stad

L'attaque de HĂ„stad, l'une des premiĂšres attaques dĂ©couvertes (en 1985), repose sur la possibilitĂ© que l'exposant public e soit suffisamment petit. En interceptant le mĂȘme message envoyĂ© Ă  au moins destinataires diffĂ©rents, il est possible de retrouver le message originel Ă  l'aide du thĂ©orĂšme des restes chinois[15] - [10].

Attaque par chronométrage (timing attacks)

Paul Kocher a dĂ©crit en 1995 une nouvelle attaque contre RSA : en supposant que l’attaquante Ève en connaisse suffisamment sur les documents d'Alice et soit capable de mesurer les temps de dĂ©chiffrement de plusieurs documents chiffrĂ©s, elle serait en mesure d’en dĂ©duire rapidement la clef de dĂ©chiffrement. Il en irait de mĂȘme pour la signature.

En 2003, Boneh et Brumley ont montrĂ© une attaque plus pratique permettant de retrouver la factorisation RSA sur une connexion rĂ©seau (SSL) en s’appuyant sur les informations que laissent filtrer certaines optimisations appliquĂ©es au thĂ©orĂšme des restes chinois. Une façon de contrecarrer ces attaques est d'assurer que l'opĂ©ration de dĂ©chiffrement prend un temps constant. Cependant, cette approche peut en rĂ©duire significativement la performance. C'est pourquoi la plupart des implĂ©mentations (mises en Ɠuvre) RSA utilisent plutĂŽt une technique diffĂ©rente connue sous le nom d'« aveuglement cryptographique » (blinding).

L'aveuglement se sert des propriĂ©tĂ©s multiplicatives de RSA en insĂ©rant dans le calcul une valeur secrĂšte alĂ©atoire dont l'effet peut ĂȘtre annulĂ©. Cette valeur Ă©tant diffĂ©rente Ă  chaque chiffrement, le temps de dĂ©chiffrement n'est plus directement corrĂ©lĂ© aux donnĂ©es Ă  chiffrer, ce qui met en Ă©chec l'attaque par chronomĂ©trage : au lieu de calculer , Alice choisit d'abord une valeur alĂ©atoire secrĂšte r et calcule . Le rĂ©sultat de ce calcul est et donc l'effet de r peut ĂȘtre annulĂ© en multipliant par son inverse.

Attaque à chiffrés choisis (Adaptive chosen ciphertext attacks)

Tel que dĂ©crit dans cet article, RSA est un chiffrement dĂ©terministe, et ne peut donc pas ĂȘtre sĂ©mantiquement sĂ»r. Une contremesure est l’utilisation d’un schĂ©ma de remplissage probabiliste de maniĂšre telle qu'aucune valeur de message, une fois chiffrĂ©, ne donne un rĂ©sultat peu sĂ»r, par exemple si C = Me ≀ N, une attaque simple est le calcul direct de la racine e-iĂšme de C, qui n’aura pas Ă©tĂ© rĂ©duite modulo N.

En 1998, Daniel Bleichenbacher dĂ©crit la premiĂšre attaque pratique de type « chiffrĂ© choisi adaptable » contre des messages RSA[16]. En raison de dĂ©fauts dans le schĂ©ma de remplissage PKCS #1 v1, il fut capable de rĂ©cupĂ©rer des clefs de session SSL. À la suite de ce travail, les cryptographes recommandent maintenant l'utilisation de mĂ©thodes de remplissage formellement sĂ»res, telles que OAEP, et les laboratoires RSA ont publiĂ© de nouvelles versions de PKCS #1 rĂ©sistantes Ă  ces attaques[17].

Notes et références

  1. (en) esp@cenet document view.
  2. Par exemple Menezes, van Oorschot et Vanstone 1996, chap. 8, p. 287.
  3. Rivest, Shamir et Adleman 1978, p. 122.
  4. Menezes, van Oorschot et Vanstone 1996, chap. 8, p. 286 ; Schneier 1996, Applied Cryptography, p. 467.
  5. Stinson 2006, Cryptography : Theory and Practice, p. 175.
  6. Marc Lipson, Discrete mathematics, McGraw-Hill, (ISBN 978-0-07-161586-0 et 0-07-161586-5, OCLC 837509096, lire en ligne), p. 472
  7. Demazure 2008, proposition 2.19, p. 63.
  8. Menezes, van Oorschot et Vanstone 1996, chap 4.
  9. Voir les recommandations du NIST, décrites dans le standard FIPS 186-4, p. 69-71.
  10. Pascal Boyer, Petit compagnon des nombres et de leurs applications, Calvage et Mounet, , 648 p. (ISBN 978-2-916352-75-6), VI. Cryptographie, chap. 4. (« RSA »), p. 529-534.
  11. Tutoriel sur le déchiffrement de clé privée.
  12. Voir (en) Dan Boneh, « Twenty Years of attacks on the RSA Cryptosystem », Notices Amer. Math. Soc., vol. 46, no 2,‎ , p. 203-213 (lire en ligne).
  13. « Techniques de cryptanalyse de RSA », sur http://irisa.fr, (consulté le )
  14. http://www3.sympatico.ca/wienerfamily/Michael/MichaelPapers/ShortSecretExponents.pdf.
  15. (en) Johan HĂ„stad, « On using RSA with low exponent in a public key network », dans Advances in Cryptology – CRYPTO’85, Lecture Notes in Computer Science, vol. 218, Springer, p. 403-408.
  16. Bleichenbacher 1998.
  17. (en) RSA Laboratory, « Public-Key Cryptography Standards (PKCS) #1: RSA Cryptography », Request for comments no 3447.

Annexes

Bibliographie

  • [Stinson 2003] Douglas Stinson, Cryptographie, thĂ©orie et pratique, Vuibert, , 2e Ă©d.
  • [Schneier 2001] Bruce Schneier (trad. de l'anglais), Cryptographie appliquĂ©e : protocoles, algorithmes et codes source en C, Paris, Vuibert, , 2e Ă©d., 846 p. (ISBN 2-7117-8676-5)
  • [BarthĂ©lemy et al. 2005] Pierre BarthĂ©lemy, Robert Rolland, Pascal VĂ©ron et Hermes Lavoisier, Cryptographie, principes et mises en Ɠuvre, Paris, HermĂšs science publications, , 414 p. (ISBN 2-7462-1150-5)
  • [Demazure 2008] Michel Demazure, Cours d'algĂšbre. PrimalitĂ© DivisibilitĂ©. Codes, [dĂ©tail de l’édition]
  • [Bleichenbacher 1998] (en) Daniel Bleichenbacher, « Chosen ciphertext attacks against protocols based on the RSA encryption standard PKCS #1 », Crypto,‎ (DOI 10.1007/BFb0055716)
  • [Rivest, Shamir et Adleman 1978] (en) Ronald Rivest, Adi Shamir et Leonard Adleman, « A method for obtaining digital signatures and public-key cryptosystems », Communications of the ACM, vol. 21, no 2,‎ , p. 120–126 (lire en ligne [PDF])
  • [Menezes, van Oorschot et Vanstone 1996] (en) Alfred J. Menezes, Paul C. van Oorschot et Scott A. Vanstone, Handbook of Applied Cryptography, Boca Raton, CRC Press, , 780 p. (ISBN 0-8493-8523-7, lire en ligne)

Articles connexes


Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplĂ©mentaires peuvent s’appliquer aux fichiers multimĂ©dias.