AccueilđŸ‡«đŸ‡·Chercher

Fonction Ă  trappe

En cryptologie, une fonction à trappe ou TDF (pour l'anglais trapdoor function) est un modÚle idéalisé permettant de raisonner à propos de systÚmes cryptographiques. En premiÚre approche, il s'agit d'une fonction qu'il est facile d'évaluer en chaque point de son domaine, mais qu'il est difficile d'inverser à moins de disposer d'une information particuliÚre, appelée « trappe »[Note 1].

Représentation d'une fonction à trappe. Il est facile d'évaluer la fonction mais son inversion est complexe sauf si la clé t est connue.

Histoire

La notion de fonction Ă  trappe a Ă©tĂ© introduite par les cryptologues amĂ©ricains Whitfield Diffie et Martin Hellman en 1979[1], comme une maniĂšre de rĂ©soudre le problĂšme de la cryptographie Ă  clĂ© publique tel que posĂ© par Ralph Merkle quelques annĂ©es plus tĂŽt[2] - [Note 2]. Étant donnĂ© une fonction Ă  trappe, il est en effet immĂ©diat de construire un algorithme de chiffrement ou de signature numĂ©rique. Cependant Diffie et Hellman ne proposent pas de telle fonction dans leur article[1].

La question de l'existence de fonctions à trappes a été difficile, le premier exemple pratique étant dû à Rivest, Shamir et Adleman en 1976[3] - [Note 3] - [4] et reposant sur le problÚme RSA. C'est en partie pour ces travaux que les trois reçoivent en 2002 le prestigieux prix Turing. En 1979 Michael Rabin a proposé montrer comment construire une fonction à trappe reposant sur le problÚme de la factorisation[5]. Dans les deux cas, RSA et Rabin, la trappe est donnée par un facteur d'un grand nombre composé.

Dans les annĂ©es qui suivirent, les progrĂšs en cryptologie (dus notamment Ă  Lamport, Goldwasser-Micali-Rivest, Goldreich-Goldwasser-Micali, Goldreich, Naor-Yung, Rompel[6] et d'autres) ont montrĂ© comment construire des algorithmes de signature simplement Ă  partir de fonctions Ă  sens unique, relativisant grandement l'intĂ©rĂȘt des fonctions Ă  trappes[6] - [7]. Ainsi par exemple, les signatures ECDSA reposent sur le problĂšme du logarithme discret, pour lequel aucune trappe n'est connue. Construire gĂ©nĂ©riquement un chiffrement Ă  clĂ© publique Ă  partir de fonctions Ă  sens unique uniquement est interdit par un rĂ©sultat de sĂ©paration dĂ» Ă  Impagliazzo et Rudich[8], et on ignore (en 2018) si combiner les fonctions Ă  sens unique et les permutations pseudo-alĂ©atoires suffit[7]. Cela dit, il existe des constructions ad hoc telles que le chiffrement d'ElGamal ou de Cramer-Shoup reposant sur le logarithme discret[Note 4].

Comme mentionné plus haut, une fonction à trappe donne immédiatement un schéma de chiffrement à clé publique. Cependant il n'est pas possible de construire génériquement une fonction à trappe à partir d'un chiffrement à clé publique[9], les deux notions étant séparées en boßte noire.

Un regain d'intĂ©rĂȘt pour les fonctions Ă  trappe est apparu avec le dĂ©veloppement de la cryptographie Ă  base de rĂ©seaux[10] - [11] - [12] - [13] oĂč la trappe est gĂ©nĂ©ralement donnĂ©e par une « bonne base » d'un rĂ©seau euclidien.

DĂ©finition

Une collection de fonctions à trappe est la donnée d'un ensemble de fonctions satisfaisant les trois propriétés suivantes[7] :

  • Il existe un algorithme efficace[Note 5] de « gĂ©nĂ©ration » qui prend en entrĂ©e un paramĂštre de sĂ©curitĂ© en reprĂ©sentation unaire et produit une paire[Note 6] de fonctions de ;
  • Il existe un algorithme efficace d'« Ă©chantillonnage » , c'est-Ă -dire un algorithme qui prend en entrĂ©e et retourne un Ă©lĂ©ment alĂ©atoire de , distribuĂ© de façon uniforme[Note 7] ;
  • La fonction obtenue en sortie de est Ă  sens unique, c'est-Ă -dire que pour tout adversaire efficace il existe une fonction nĂ©gligeable telle que

Une dĂ©finition moins gĂ©nĂ©rale mais plus proche des constructions consiste Ă  supposer que toutes les fonctions ont mĂȘme domaine, i.e. et que ce domaine est reprĂ©sentable i.e. [14].

On peut Ă©galement demander que les fonctions de soient des permutations (auquel cas ), et on parle alors de « permutations Ă  trappe ». À l'heure actuelle (2018) la seule construction connue susceptible de donner une permutation Ă  trappe repose sur le problĂšme RSA ou une variante mineure de celui-ci[14].

Notes et références

Notes

  1. Pour que la notion ne soit pas creuse, il faut bien entendu que la trappe ne soit pas elle mĂȘme facile Ă  calculer Ă  partir d'une reprĂ©sentation de la fonction.
  2. Les puzzles de Merkle sont un premier pas dans cette direction, mais la difficulté d'inverser le problÚme reste quadratique (i.e. polynomiale) alors qu'une fonction à trappe exige un avantage négligeable (i.e. exponentiel).
  3. Voir aussi Ron Rivest, The early days of RSA.
  4. NĂ©cessairement, ces constructions utilisent davantage que le sens unique de l'exponentiation modulaire.
  5. Généralement, une machine de Turing probabiliste.
  6. Précisément : il s'agit d'une paire de chaßnes de caractÚres, de taille au plus polynomiale en , décrivant les fonctions et .
  7. C'est-à-dire que l'avantage d'un adversaire à distinguer la distribution effective des éléments ainsi obtenu d'une distribution uniforme est négligeable.

Références

  1. (en) W. Diffie et M. Hellman, « New directions in cryptography », IEEE Transactions on Information Theory, vol. 22, no 6,‎ , p. 644–654 (ISSN 0018-9448, DOI 10.1109/TIT.1976.1055638, lire en ligne, consultĂ© le )
  2. (en) Ralph Merkle, "Secure Communication Over Insecure Channels", 1975
  3. R. L. Rivest, A. Shamir et L. Adleman, « A method for obtaining digital signatures and public-key cryptosystems », Communications of the ACM, vol. 21, no 2,‎ , p. 120–126 (ISSN 0001-0782, DOI 10.1145/359340.359342, lire en ligne, consultĂ© le )
  4. (en) Rivest, Shamir et Adleman, Cryptographic communications system and method, (lire en ligne)
  5. (en) M. O. Rabin, « Digitalized Signatures and Public-Key Functions as Intractable as Factorization », Technical Report, MIT,‎ (lire en ligne, consultĂ© le )
  6. (en) J. Rompel, « One-way functions are necessary and sufficient for secure signatures », STOC '90 Proceedings of the twenty-second annual ACM symposium on Theory of computing, ACM,‎ , p. 387–394 (ISBN 0897913612, DOI 10.1145/100216.100269, lire en ligne, consultĂ© le )
  7. (en) Boaz Barak, Public Key Cryptography, Lecture 14, Princeton University, (lire en ligne)
  8. (en) R. Impagliazzo et S. Rudich, « Limits on the provable consequences of one-way permutations », STOC '89 Proceedings of the twenty-first annual ACM symposium on Theory of computing, ACM,‎ , p. 44–61 (ISBN 0897913078, DOI 10.1145/73007.73012, lire en ligne, consultĂ© le )
  9. (en) Y. Gertner, T. Malkin et O. Reingold, « On the impossibility of basing trapdoor functions on trapdoor predicates », Proceedings 2001 IEEE International Conference on Cluster Computing,‎ , p. 126–135 (DOI 10.1109/SFCS.2001.959887, lire en ligne, consultĂ© le )
  10. (en) Oded Goldreich, Shafi Goldwasser et Shai Halevi, « Public-key cryptosystems from lattice reduction problems », dans Advances in Cryptology — CRYPTO '97, Springer Berlin Heidelberg, (ISBN 9783540633846, DOI 10.1007/bfb0052231, lire en ligne), p. 112–131
  11. (en) Craig Gentry, Chris Peikert et Vinod Vaikuntanathan, « Trapdoors for hard lattices and new cryptographic constructions », STOC '08 Proceedings of the fortieth annual ACM symposium on Theory of computing, ACM,‎ , p. 197–206 (ISBN 9781605580470, DOI 10.1145/1374376.1374407, lire en ligne, consultĂ© le )
  12. (en) David Cash, Dennis Hofheinz, Eike Kiltz et Chris Peikert, « Bonsai Trees, or How to Delegate a Lattice Basis », Journal of Cryptology, vol. 25, no 4,‎ , p. 601–639 (ISSN 0933-2790 et 1432-1378, DOI 10.1007/s00145-011-9105-2, lire en ligne, consultĂ© le )
  13. (en) Daniele Micciancio et Chris Peikert, « Trapdoors for Lattices: Simpler, Tighter, Faster, Smaller », dans Advances in Cryptology – EUROCRYPT 2012, Springer Berlin Heidelberg, (ISBN 9783642290107, DOI 10.1007/978-3-642-29011-4_41, lire en ligne), p. 700–718
  14. (en) Dan Boneh et Victor Shoup, « A Graduate Course in Applied Cryptography », sur crypto.stanford.edu (consulté le )
Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplĂ©mentaires peuvent s’appliquer aux fichiers multimĂ©dias.