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 connaître 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. 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é. Ce résultat a ensuite été amélioré par Killian, 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.
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. Des résultats similaires ont été montrés par Khurana, Maji et Sahai, en utilisant un canal bruité (avec un taux d'erreur strictement inférieur à 1/2).
Un schéma de transfert inconscient est donné par deux algorithmes interactifs,: 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.
| 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 . | ||||||
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.
On suppose qu'Alice possède secrets binaires valant tous soit 0 soit 1. On suppose que Bob souhaite connaître le secret . Un protocole de transfert inconscient peut être le suivant,:
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, comme c'est le cas d'Alice, et impossible en un temps raisonnable sinon, comme dans le cas de Bob.
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.
Gilles Brassard, Claude Crépeau et Jean-Marc Robert ont proposé une généralisation au transfert k parmi n, 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