Dans un article intitulé «Sur le déni dans la chaîne de référence commune et le modèle Oracle aléatoire», Rafael Pass écrit:
Nous notons que lors de la démonstration de la sécurité selon la définition standard de la connaissance zéro dans le modèle RO [Oracle aléatoire], le simulateur a deux avantages par rapport à un simulateur de modèle simple, à savoir:
- Le simulateur peut voir sur quelles valeurs les parties interrogent l'oracle.
- Le simulateur peut répondre à ces requêtes de la manière qu'il souhaite tant que les réponses "semblent" OK.
La première technique, à savoir la capacité de «surveiller» les requêtes au RO, est très courante dans tous les articles faisant référence au concept de connaissance zéro dans le modèle RO.
Maintenant, considérons la définition de la connaissance zéro de la boîte noire ( PPT signifie machine de Turing probabiliste à temps polynomial ):
un simulateur PPT S , tel que ∀ (éventuellement tricher) vérificateur PPT V ∗ , ∀ entrée commune x ∈ L et ∀ caractère aléatoire r , les éléments suivants ne peuvent pas être distingués:
- la vue de en interagissant avec le prouveur P sur l'entrée x et en utilisant l'aléatoire r ;
- la sortie de sur les entrées x et r , lorsque S a accès à la boîte noire à V ∗ .
Ici, je veux montrer un vérificateur de triche , dont le travail consiste à épuiser tout simulateur qui essaie de surveiller les requêtes RO:
Soit le simulateur garanti par le quantificateur existentiel dans la définition de la connaissance zéro de la boîte noire, et q ( | x | ) un polynôme qui limite le temps de fonctionnement de S sur l'entrée x . Supposons que S essaie de surveiller les requêtes de V ∗ au RO.
Maintenant, considérons un triche , qui interroge d'abord le RO pendant q ( | x | ) + 1 fois (sur des entrées arbitraires de son choix), puis agit arbitrairement avec malveillance.
De toute évidence, épuise le simulateur S . Un moyen simple pour S est de rejeter un tel comportement malveillant, mais de cette façon, un différenciateur peut facilement distinguer l'interaction réelle de l'interaction simulée. (Étant donné que dans l'interaction réelle, le prouveur P ne peut pas surveiller les requêtes de V , et ne rejettera donc pas en raison du simple fait que V ' interroge trop.)
Quelle est la solution de contournement pour le problème ci-dessus?
Éditer:
Une bonne source pour étudier ZK dans le modèle RO est:
Martin Gagné, Une étude du modèle Oracle aléatoire, Ph.D. Thèse, Université de Californie, Davis , 2008, 109 pages. Disponible sur ProQuest: http://gradworks.umi.com/33/36/3336254.html
En particulier, il donne des définitions de la boîte noire ZK dans le modèle RO dans la section 3.3 (page 20), attribuée à Yung et Zhao: