Permutations à sens unique sans trappe

9

En bref: en supposant qu'il existe des permutations unidirectionnelles , pouvons-nous en construire une qui n'a pas de trappe?

Plus d'informations:

Une permutation unidirectionnelle est une permutation π qui est facile à calculer, mais difficile à inverser (voir le wiki de balise de fonction unidirectionnelle pour une définition plus formelle). Nous considérons généralement les familles de permutation unidirectionnelle, π={πn}nN , où chaque πn est une permutation unidirectionnelle, agissant sur un domaine fini Dn . Une permutation unidirectionnelle de trappe est définie comme ci-dessus, sauf qu'il existe un ensemble de trappe {tn}nNet un algorithme inverseur poly-temps I , tel que pour tout n , |tn|poly(n) , et I peux inverser πn condition qu'on lui donne tn .

Je connais des permutations unidirectionnelles qui sont générées de sorte qu'il est impossible de trouver la trappe (pourtant la trappe existe). Un exemple, basé sur l'hypothèse RSA, est donné ici . La question est,

Existe-t-il des (familles de) permutations unidirectionnelles qui n'ont pas de trappe (ensemble)?

Modifier: (Plus de formalisation)

Supposons qu'il existe une permutation unidirectionnelle π avec le domaine (infini) D{0,1} . Autrement dit, il existe un algorithme de temps polynomial probabiliste D (qui, à l'entrée 1n , induit une certaine distribution sur Dn=0,1nD ), de sorte que pour tout adversaire polynomialA , toutc>0 et tout entier suffisamment grandn:

Pr[xD(1n):A(π(x))=x]<nc

(La probabilité est prise sur les lancers de pièces internes de et .)DA

La question est de savoir si nous pouvons construire une permutation unidirectionnelle , pour laquelle il existe un algorithme à temps polynomial probabiliste tel que pour toute famille de circuits de taille poly , tout et tout entier suffisamment grand :πD A={An}nNc>0n

Pr[xD(1n):An(π(x))=x]<nc

(La probabilité est prise sur les lancers de pièces internes de , car est déterministe.)DA

MS Dousti
la source
Il semble que vous souhaitiez un OWP qui reste à sens unique même avec un conseil polynomial. Soit dit en passant, nous ne définissons généralement pas les familles de PRO comme cela - voir Goldreich Vol 1, définitions 2.4.4 et 2.4.5.
David Cash
@ David: Oui, je sais que ce n'est pas la définition habituelle, mais j'ai senti que la définition formelle (celle qui apparaît dans le livre de Goldreich) est trop longue pour cette discussion.
MS Dousti
@Sadeq: Très bien, mais je pense que le changement de définitions sera significatif ici. Pour ce que ça vaut, j'ai essayé de penser à un type de sécurité similaire (pas de trappes) auparavant. Il semblait qu'une bonne définition serait de permettre un traitement illimité de l'index familial pour produire des conseils avant l'expérience d'inversion.
David Cash
@David: voyez si la partie éditée répond au besoin de formalisation supplémentaire.
MS Dousti
1
@Sadeq: Déterminer si les permutations unidirectionnelles de trappe sont impliquées par des permutations unidirectionnelles ou non (bien qu'il ne soit même pas clair ce que ces dernières signifient, car elles pourraient toutes deux exister) est l'un des plus grands problèmes ouverts de la théorie de la cryptographie. . Impagliazzo et Rudich ( cseweb.ucsd.edu/~russell/secret.ps ) ont prouvé que cela ne peut pas être réalisé en utilisant des techniques de boîte noire, et les techniques actuelles ne sont pas connues pour contourner leur séparation.
Alon Rosen

Réponses:

7

Considérez les cas suivants:

1) Il existe des permutations unidirectionnelles (OWP) mais pas les permutations de trappe (TDP) (c'est-à-dire que nous sommes dans une variante du monde " minicrypt " d' Impagliazzo ). Dans ce cas, vous prenez simplement le OWP qui est garanti d'exister, et vous savez qu'il n'a pas de trappe.

2) OWP et TDP existent. Ici, vous avez deux options:

(a) Chaque OWP possède un algorithme de génération de clé G qui produit la description "publique" de la fonction f avec une trappe échantillonnée t. Dans ce cas, considérons une génération de clé modifiée qui ne produit que f. Cela vous donne un OWP, et de plus il est impossible de trouver t donné f (sinon vous avez un moyen efficace d'inverser f). Cela devrait également être valable pour une variante non uniforme.

(b) Il existe un OWP f tel qu'aucun algorithme G ne puisse sortir à la fois f et t de sorte que t permette l'inversion de f (x) pour un x aléatoire. Dans ce cas, f est un OWP qui n'a pas de trappe.

Un des commentaires dans le fil ci-dessus semble suggérer que vous vous demandez en réalité si l'existence de OWP est connue pour impliquer l'existence de TDP. Il a été démontré que cela ne contient pas de constructions / réductions de boîte noire et est ouvert en général (voir mon commentaire dans le fil ci-dessus).

Alon Rosen
la source
+1, merci. David a mis beaucoup d'efforts pour répondre, et je lui en suis très reconnaissant; mais c'est la réponse à ce que j'avais en tête.
MS Dousti
2
Je pensais que la question était: est-ce possible. Cryptographiquement, si chaque OWP a une trappe, alors vous ne pouvez pas faire confiance à quelqu'un qui vous donne un OWP pour ne pas également connaître la trappe. Bien sûr, vous pouvez prendre son OWP et le composer avec votre propre OWP, dont vous seul connaissez la trappe, et obtenir un OWP pour lequel aucune partie ne connaît la trappe.
Peter Shor
1
@Peter: Oui. La composition semble faire l'affaire. Une autre option consiste à utiliser le transfert inconscient (qui, si (a) tient, est connu pour exister - modulo quelques petites sous-subtilités). En utilisant OT, les joueurs peuvent construire un protocole de calcul sécurisé à 2 parties qui permet à l'un d'entre eux d'apprendre f sans apprendre la trappe et à l'autre de ne rien apprendre. Mais votre solution est en effet plus simple.
Alon Rosen
7

Je ne connais pas les constructions à partir d'hypothèses générales, mais vous pouvez obtenir un candidat plausible pour une "permutation unidirectionnelle sans trappe" en utilisant un modulo log discret a prime . Autrement dit, soit une racine primitive modulo , et définissons . Alors est une permutation sur les entiers entre et , et il est généralement supposé être à sens unique. Pour la partie «sans trappe», je suppose que vous devez définir exactement ce que cela signifie, mais pour autant que je sache, nous n'avons aucun moyen de configurer les choses pour permettre l'inversion. (Si nous le faisions, alors il y aurait toutes sortes d'applications sympas (positives) en cryptographie!)pgpπ(x)=gxmodpπ1p1

David Cash
la source
+1. Merci d'avoir répondu. Vous supposez la dureté du journal discret contre des adversaires non uniformes. Ma question est: en supposant la simple existence de permutations unidirectionnelles, pouvons-nous en construire une qui n'a pas de trappe?
MS Dousti
@Sadeq: L'existence de permutations unidirectionnelles n'implique-t-elle pas la dureté du log discret depuis P = NP?
Mohammad Alaggan
@Alaggan: Je ne pense pas. Il pourrait être le cas qu'il existe des permutations à sens unique, mais quelqu'un propose un algorithme efficace pour inverser le journal discret.
MS Dousti
@Sadeq: C'est si P = BQP! = NP.
Mohammad Alaggan
@Sadeq: C'est vrai ou je me suis trompé?
Mohammad Alaggan