Politique de confidentialité

Qu'est-ce que le Zero Knowledge Proof ?

retour à la page FAQ

Utilisé dans le monde de la cryptographie, le Zero Knowledge Proof ou Preuve à divulgation nulle de connaissance est un protocole sécurisé qui permet à une entité - le fournisseur de la preuve - de prouver à une autre entité - le vérificateur - qu’une proposition est vraie sans avoir besoin de révéler d’autres informations que celles permettant de prouver la véracité de cette proposition. 

Pour expliquer le fonctionnement de ce protocole, Jean-Jacques Quisquater et Louis Guillou publient en 1989 un article permettant de vulgariser le concept en l’illustrant avec un exemple basé sur le conte populaire d’Ali Baba et les 40 voleurs. 

Alice, le fournisseur de preuve, et Bob, le vérificateur, se retrouvent devant la grotte d’Ali Baba. Cette grotte présente une bifurcation (chemin A et chemin B). Ces deux chemins sont séparés par une porte qui ne s’ouvre qu’à l’aide d’un mot de passe magique. 

Alice est détentrice du mot magique qui permet d’ouvrir la porte et veut le prouver à Bob sans le divulguer. 

Nous nous trouvons donc devant une preuve de connaissance, car Alice prouve à Bob qu'elle connaît le mot magique, mais sans le divulguer, puisqu'Alice ne révèle pas ce mot secret.

Mais qu’est-ce qui garantit à Bob qu’Alice a bien le mot de passe magique et qu’elle ne lui ment pas ?

C’est pour répondre à cette question qu’Alice et Bob vont répéter plusieurs fois le protocole qui suit : 

  • Engagement : Bob se trouve à l'extérieur de la grotte, sans aucune visibilité sur l’intérieur de la grotte. Alice entre dans la galerie et choisit aléatoirement le chemin A ou B.

Bob (en vert) attend à l'entrée de la caverne et Alice choisit aléatoirement entre A et B | CC BY 2.5, https://commons.wikimedia.org/w/index.php?curid=313643


  • Défi : Bob entre dans la grotte, choisi au hasard l’un des deux chemins et crie le résultat à Alice (A ou B).
Bob annonce un des deux chemins | CC BY 2.5, https://commons.wikimedia.org/w/index.php?curid=313645


  • Réponse : c’est maintenant à Alice de prouver qu'elle est bien en possession du mot magique en sortant par le chemin crié par Bob.
Alice apparaît sur le chemin demandé par Bob | CC BY 2.5, https://commons.wikimedia.org/w/index.php?curid=313648

Plusieurs options s’offrent à nous.

Si Alice connaît le mot magique :

  • Bob annonce A, Alice se trouve en A et ressort par le chemin A, satisfaisant la demande de Bob.
  • Bob annonce A, Alice se trouve en B et ressort par le chemin A, satisfaisant la demande de Bob. 
  • Bob annonce B, Alice se trouve en A et ressort par le chemin B, satisfaisant la demande de Bob. 
  • Bob annonce B, Alice se trouve B et ressort par le chemin B, satisfaisant la demande de Bob.

Si Alice ne connaît pas le mot magique :

  • Bob annonce B, Alice se trouve en A et ressort par le chemin A. Elle ne satisfait pas sa demande ;
  • Bob annonce A, Alice se trouve en B et ressort par le chemin B. Elle ne satisfait pas sa demande ;
  • Bob annonce A, Alice se trouve en A et ressort par le chemin A en satisfaisant la demande de Bob ;
  • Bob annonce B, Alice se trouve en B et ressort par le chemin B en satisfaisant sa demande.

Si Alice suit le protocole et qu’elle commet une erreur, Bob sera sûr qu’elle ne connaît pas le mot de passe magique. Mais Bob peut être dupé dans le cas où Alice ne connaît pas le mot magique, mais où l’annonce de Bob correspond à sa position actuelle.

Pour se prévenir d’erreurs potentielles, Bob va répéter le schéma à partir de la première étape. À chaque itération, la preuve voit sa fiabilité renforcée. Si Alice n'a pas le mot magique, elle a une chance sur 2 de se tromper. Avec N itérations, la probabilité que Bob affirme qu'Alice détient le code secret alors qu'elle ne le possède pas est de ( 1 / 2^N ).

Maintenant, vous savez tout du protocole ZKP. 


Zero Knowledge Proof et Identité Numérique Décentralisée 


Les protocoles Zero Knowledge Proof sont particulièrement intéressants dans le domaine des identités numériques décentralisées. En effet, grâce à ce protocole cryptographique sécurisé, il est possible de vérifier l’authenticité de données sensibles sans les divulguer. 

Cela rend d’autant plus pertinent l’usage de la technologie blockchain pour la gestion des identités numériques. 

Si vous souhaitez en savoir davantage sur l’identité décentralisée, nous vous invitons à consulter notre livre blanc.