AccueilđŸ‡«đŸ‡·Chercher

Transfert inconscient

Le transfert inconscient (oblivious transfer, en anglais) est une primitive cryptographique oĂč un expĂ©diteur transmet une information, sĂ©lectionnĂ©e parmi plusieurs envois possibles, Ă  un destinataire, sans que l'expĂ©diteur puisse connaĂźtre le choix du destinataire, ni que le destinataire puisse connaitre les informations qu'il n'a pas demandĂ©es. Par exemple, WikipĂ©dia propose plusieurs articles ; avec le transfert inconscient, un utilisateur peut demander Ă  consulter un article sans que WikipĂ©dia puisse savoir quel article a Ă©tĂ© consultĂ©.

Cette primitive a Ă©tĂ© introduite en 1981 par Michael Rabin, dans un manuscrit intitulĂ© How to exchange secrets with oblivious transfer[1]. Dans la version de Rabin, basĂ©e sur le chiffrement RSA, l’expĂ©diteur transmet un message que le destinataire reçoit avec une probabilitĂ© de 1/2, sans que l'expĂ©diteur puisse savoir si la rĂ©ception a eu lieu ou non. En 1985, les travaux de Even, Goldreich et Lempel ont proposĂ© une version amĂ©liorĂ©e du transfert inconscient 1 parmi 2 qui permettait de rĂ©aliser de maniĂšre sĂ©curisĂ©e du calcul multipartite sĂ©curisĂ©[2]. Ce rĂ©sultat a ensuite Ă©tĂ© amĂ©liorĂ© par Killian[3], en montrant que le transfert inconscient 1 parmi 2 suffisait Ă  Ă©valuer de maniĂšre multipartite n’importe quelle fonction en temps polynomial. Ce rĂ©sultat est une des raisons de l’intĂ©rĂȘt existant autour de cette primitive.

DĂ©finition

La dĂ©finition de Michael Rabin consistait en un protocole tel que l'expĂ©diteur envoyait un message M au destinataire, mais avec une probabilitĂ© 1/2 de perdre le message. L’expĂ©diteur ne savait pas si son message Ă©tait arrivĂ© Ă  bon port. Claude CrĂ©peau a montrĂ© que cette dĂ©finition Ă©tait Ă©quivalente Ă  celle utilisĂ©e dans sa dĂ©finition courante: le transfert inconscient 1 parmi 2[4]. Des rĂ©sultats similaires ont Ă©tĂ© montrĂ©s par Khurana, Maji et Sahai, en utilisant un canal bruitĂ©[5] (avec un taux d'erreur strictement infĂ©rieur Ă  1/2).

Transfert inconscient 1 parmi 2

Un schĂ©ma de transfert inconscient est donnĂ© par deux algorithmes interactifs[6][7]: l’expĂ©diteur et le destinataire . L’expĂ©diteur prend en entrĂ©e deux messages et , tandis que de destinataire prend en entrĂ©e un bit σ. L’interaction entre les deux partis est notĂ©e .

Les notions de sĂ©curitĂ© associĂ©es sont la sĂ©curitĂ© de l’expĂ©diteur et la sĂ©curitĂ© du destinataire.

  • La sĂ©curitĂ© du destinataire requiert que les distributions et soient indistinguables. Ce qui traduit le fait que l’expĂ©diteur est incapable de savoir quel message le destinataire a demandĂ©.
  • La sĂ©curitĂ© de l’expĂ©diteur quant-Ă -elle traduit le fait que l’expĂ©diteur ayant demandĂ© ne doit pas ĂȘtre capable de savoir quoi que ce soit sur le message Ă  l’issue de l’échange.
Alice () Bob ()
Calculs Secret Public Public Secret Calculs
Messages Ă  envoyer
Création d'une paire de clefs RSA et envoi de la clef publique à Bob Réception de la clef publique d'Alice
Génération de deux messages aléatoires Réception de deux messages aléatoires
Choix de et génération d'un nombre aléatoire
Calcul du chiffrement de avec et envoi du résultat à Alice
Calcul des deux valeurs possibles pour ,

dont une seule correspond Ă  celle de Bob

Envoi des deux messages Ă  Bob RĂ©ception des deux messages
Déchiffrement du message , grùce au choisi précédemment .
  1. Alice propose d'envoyer a Bob un message parmi deux disponibles et . Bob souhaite choisir l'un des deux messages Ă  recevoir, sans qu'Alice puisse savoir lequel.
  2. Alice génÚre une paire de clefs RSA, c'est-à-dire un modulo , un exposant public et un exposant privé .
  3. Elle gĂ©nĂšre Ă©galement deux messages alĂ©atoires et qu'elle envoie Ă  Bob en mĂȘme temps que sa clef publique .
  4. Bob choisit le message qu'il souhaite recevoir, indiqué par . Il sélectionne donc la valeur correspondante .
  5. Bob génÚre un nombre aléatoire et chiffre avec en calculant , qu'il envoie à Alice.
  6. Pour Alice, il est impossible de déterminer si Bob a choisi ou pour calculer , car elle ignore le nombre généré par Bob . Elle calcule donc les deux valeurs possibles pour à partir de : et . L'une de ces deux valeurs est égale au choisi par Bob (sans qu'Alice sache lequel) et l'autre est une valeur aléatoire qui ne fournit aucune information sur .Ceci garantit la sécurité du destinataire.
  7. Alice masque les messages et avec les deux clefs possibles et pour donner et . Ces deux messages sont envoyés à Bob.
  8. Bob déchiffre le message avec le qu'il a choisi, pour obtenir . Bob est par ailleurs incapable de déchiffrer l'autre message. En effet, il faudrait qu'il puisse calculer l'autre valeur de , c'est-à-dire , ce qu'il ne peut faire sans la clef privée d'Alice. Ceci garantit la sécurité de l'expéditeur.

Transfert inconscient 1 parmi n et k parmi n

Le transfert inconscient 1 parmi n peut ĂȘtre gĂ©nĂ©ralisĂ© Ă  partir du protocole 1 parmi 2 dĂ©taillĂ© ci-dessus. L’expĂ©diteur dispose de n messages et le destinataire choisit un indice i entre 0 et n - 1 correspondant au message qu'il souhaite recevoir, toujours sans que l'expĂ©diteur puisse savoir quel message a Ă©tĂ© choisi, ni que le destinataire puisse prendre connaissance d'un autre message que celui qu'il a sĂ©lectionnĂ©. D'autres implĂ©mentations sont Ă©galement possibles.

Autre exemple d'implémentation de 1 parmi n

On suppose qu'Alice possĂšde secrets binaires valant tous soit 0 soit 1[note 1]. On suppose que Bob souhaite connaĂźtre le secret . Un protocole de transfert inconscient peut ĂȘtre le suivant[8] - [note 2]:

  1. Alice choisit deux nombres premiers et et un nombre qui n'est pas un résidu quadratique modulo et tel que le symbole de Jacobi soit égal à 1[note 3];
  2. Alice publie et ;
  3. Alice associe un nombre aléatoire à chaque secret et envoie à Bob les nombres ;
  4. Bob génÚre un nombre aléatoire ainsi qu'un bit aléatoire et envoie à Alice le nombre [note 4];
  5. Alice dit à Bob si le nombre est un résidu quadratique modulo . Si oui, alors sinon [note 5].

Ce protocole repose essentiellement sur l'idée que décider si l'entier est un résidu quadratique modulo est aisé si les facteurs premiers de sont connus[9], comme c'est le cas d'Alice, et impossible en un temps raisonnable sinon[9], comme dans le cas de Bob.

Comparaison avec les PIR

Le transfert inconscient 1 parmi n est donc plus restrictif que les protocoles PIR (Private information retrieval (en)) qui n'exigent que la sĂ©curitĂ© du destinataire (l'expĂ©diteur ne peut savoir quel message a bien Ă©tĂ© transmis). En revanche, les protocoles PIR sont gĂ©nĂ©ralement plus Ă©conomes en ce qui concerne la quantitĂ© de donnĂ©es effectivement transmises. En effet, dans le protocole 1 parmi n, Alice envoie nĂ©cessairement les n messages Ă  Bob (mĂȘme s'il ne peut en lire qu'un seul), alors que les protocoles PIR sont souvent sous-linĂ©aire en n.

Généralisation

Gilles Brassard, Claude CrĂ©peau et Jean-Marc Robert ont proposĂ© une gĂ©nĂ©ralisation au transfert k parmi n[10], dans laquelle le destinataire peut sĂ©lectionner plus d'un message parmi ceux proposĂ©s par l'expĂ©diteur. Les k messages peuvent ĂȘtre reçus simultanĂ©ment ou consĂ©cutivement, chaque nouveau message pouvant ĂȘtre choisi selon les messages reçus prĂ©cĂ©demment

Notes et références

Notes

(en) Cet article est partiellement ou en totalitĂ© issu de l’article de WikipĂ©dia en anglais intitulĂ© « Oblivious transfer » (voir la liste des auteurs).
  1. Dans cette implĂ©mentation le secret ne peut ĂȘtre que sur un bit, comme une rĂ©ponse oui/non Ă  une question fermĂ©e.
  2. Ce protocole est donné à titre pédagogique, il est en effet vulnérable à des attaques.
  3. Cette condition est nécessaire pour s'assurer par la suite que Bob ne peut pas tricher : si ou Bob peut savoir si les nombres calculés dans la suite du protocole ne sont pas des résidus quadratiques modulo , alors que si il ne peut pas conclure. Pour plus de détails, voir l'article détaillé.
  4. On a donc
  5. Comme , est un carré si et seulement si .

Références

  1. Rabin 1981, Le titre original est How to exchange secrets, mais il est communément cité sous ce titre.
  2. Even, Goldreich et Lempel 1985.
  3. Killian 1988.
  4. Crépeau 1987.
  5. Khurana, Maji et Sahai 2016.
  6. Naor et Pinkas 2001.
  7. Camenisch, Neven et shelat 2007.
  8. Pascal Boyer, Petit compagnon des nombres et de leurs applications, Paris, Calvage et Mounet, , 648 p. (ISBN 978-2-916352-75-6), VI. Cryptographie, chap. 7.8 (« Transfert inconscient »)
  9. (en) Victor Shoup, A computational introduction to number theory and algebra, Cambridge University Press, , 2e éd., 580 p. (ISBN 978-0-521-51644-0 et 0521516447, OCLC 277069279, lire en ligne), 12. Quadratic reciprocity and computing modular square roots, chap. 4 (« Testing quadratic residuosity »), p. 349.
  10. Gilles Brassard, Claude CrĂ©peau et Jean-Marc Robert, « All-or-nothing Disclosure of Secrets », Proceedings on Advances in cryptology—CRYPTO '86, Springer-Verlag,‎ , p. 234–238 (ISBN 9780387180472, lire en ligne, consultĂ© le )
  11. Naor et Pinkas 1999.

Annexes

Bibliographie

  • [Camenisch, Neven et shelat 2007] Jan Camenisch, Gregory Neven et abhi shelat, « Simulatable Adaptive Oblivious Transfer », Eurocrypt,‎ , p. 573–590 (DOI 10.1007/978-3-540-72540-4_33)
  • [CrĂ©peau 1987] (en) Claude CrĂ©peau, « Equivalence between two flavours of oblivious transfer », Crypto,‎ , p. 350–354 (DOI 10.1007/3-540-48184-2_30)
  • [Even, Goldreich et Lempel 1985] (en) Shimon Even, Oded Goldreich et Abraham Lempel, « A randomized protocol for signing contracts », Communications of the ACM, vol. 28,‎ , p. 637–647 (DOI 10.1145/3812.3818, lire en ligne [PDF])
  • [Khurana, Maji et Sahai 2016] (en) Dakshita Khurana, Hemanta K. Maji et Amit Sahai, « Secure Computation from Elastic Noisy Channels », Eurocrypt,‎ , p. 184–212 (DOI 10.1007/978-3-662-49896-5_7, rĂ©sumĂ©)
  • [Killian 1988] (en) Joe Killian, « Founding Cryptography on Oblivious Transfer », Symposium on the Theory of Computation (STOC),‎ , p. 20–31 (DOI 10.1145/62212.62215)
  • [Naor et Pinkas 1999] (en) Moni Naor et Benny Pinkas, « Oblivious transfer with adaptive queries », Crypto,‎ , p. 573–590 (DOI 10.1007/3-540-48405-1_36)
  • [Naor et Pinkas 2001] (en) Moni Naor et Benny Pinkas, « Efficient Oblivious Transfer », Symposium on Discrete Algorithms (SODA),‎ , p. 448−457 (ISBN 0-89871-490-7, lire en ligne [ps])
  • [Rabin 1981] (en) Michael O. Rabin, « How To Exchange Secrets with Oblivious Transfer », IACR Museum of Historic Papers,‎ (lire en ligne [html])

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.