Inspiré par une question que m'a posée Greg Kuperberg, je me demande s'il existe des articles qui définissent et étudient les classes de complexité des langues admettant divers types de preuves de connaissances . Les classes comme SZK et NISZK sont extrêmement naturelles du point de vue de la complexité, même si nous avons complètement oublié la connaissance zéro et les avons simplement définies en termes de problèmes de promesse complets. En revanche, sur googler les «preuves de connaissance», j'ai été surpris de ne pas trouver d'articles ou de notes de cours discutant de ce joli concept en termes de classes de complexité.
Pour donner quelques exemples: que peut-on dire de la sous-classe de SZK∩MA consistingcoMA composée de toutes les langues L qui admettent des preuves statistiques de connaissance zéro pour x∈L ou x∉L, qui sont également des preuves de connaissance d'un témoin prouvant x ∈L ou x∉L? Certes, cette classe contient des choses comme un journal discret, mais nous n'avons pas pu prouver qu'elle contient un isomorphisme de graphe sans mettre GI dans coMA. La classe englobe-t-elle tout SZK∩MA∩coMA? On pourrait aussi se demander: si des fonctions unidirectionnelles existent, alors chaque langage L∈MA∩coMA admet-il une preuve de connaissance zéro de calcul, c'est aussi une preuve de connaissance d'un témoin prouvant x∈L ou x∉L? (Mes excuses si l'un ou les deux ont des réponses triviales --- J'essaie juste d'illustrer le genre de chose qu'on pourrait demander, une fois que l'on a décidé d'examiner PoK en termes théoriques de complexité.)
la source
Réponses:
Ce n'est pas une vraie réponse; Je partage juste quelques résultats (qui ne rentrent pas dans un commentaire).
Quelques problèmes ouverts (peut-être résolus, mais pas à ma connaissance) concernant les aspects théoriques de la complexité des PoK:
Diverses mesures d'efficacité pour les PoK ZK d'une relation spécifique avec une certaine complexité (par exemple, une relation en MA):
Complexité des relations admettant ZK PoK avec certaines limites, disons des complexités rondes limitées (Itoh et Sakurai ne considèrent que ZK PoK à tour constant). Un autre exemple est lorsque le prouveur est le temps polynomial: il ne peut pas utiliser la réduction à la colorabilité 3, car il ne peut pas résoudre les relations NP-complètes. Tous les problèmes NP-complets ont une réduction Cook de la recherche à la décision. Pourtant, selon le résultat de Bellare-Goldwasser cité ci-dessus, de telles réductions n'existent pas nécessairement pour toutes les langues / relations NP.
Avant de conclure, permettez-moi de mentionner qu'il existe en fait plusieurs définitions des PoK, dont certaines sont citées ci-dessous:
1) Premières tentatives: Feige, Fiat et Shamir ( J. Cryptology, 1988 ), Tompa et Woll ( FOCS 1987 ) et Feige et Shamir ( STOC 1990 ).
2) Norme de facto: Bellare et Goldreich ( CRYPTO '92 ). Cet article passe en revue les premières tentatives de définition des PoK, observe leurs lacunes et suggère une nouvelle définition qui peut être considérée comme «la» définition des PoK. Cette définition a une nature de boîte noire (l'extracteur de connaissances a accès en boîte noire au prouveur de triche).
3) PoK conservateurs: définis par Halevi et Micali ( archives ePrint: rapport 1998/015 ), cette définition complète la définition précédente pour garantir la faisabilité du prouveur. Il donne également une définition de la connaissance d'un seul prouveur, ce qui est bon pour répondre à la question "qu'est-ce que cela signifie de dire que P sait quelque chose?"
4) Arguments de la connaissance avec l'extraction non dans la boîte noire: Comme mentionné ci-dessus, la définition standard des PoK est la boîte noire, ce qui rend impossible d'avoir des preuves (ou arguments) de connaissances zéro réinitialisables des connaissances pour les langages non triviaux. Barak et al. ( FOCS 2001 ) fournissent une définition qui ne fait pas partie de la boîte noire, qui est basée sur (mais diffère de) la définition de Feige et Shamir (STOC 1990) citée ci-dessus.
la source