Cryptographie
ZK : Zero-Knowledge. « À divulgation nulle de connaissance », par analogie avec celui qui prouve connaître le code d'un cadenas en l'ouvrant derrière un paravent, sans jamais le prononcer.
Trois propriétés : Une preuve à divulgation nulle doit être complète (un prouveur honnête convainc), correcte (un tricheur échoue sauf probabilité négligeable) et sans fuite (le vérifieur n'apprend rien d'autre que la véracité de l'énoncé). La troisième est la plus rare en société, où l'on prouve d'ordinaire son savoir en l'infligeant aux autres.
Interactif ou non : Les protocoles historiques font dialoguer prouveur et vérifieur par défis successifs. La transformation de Fiat-Shamir remplace les défis par un hachage et produit une preuve autonome, vérifiable par n'importe qui.
Familles modernes : Les SNARK produisent des preuves très courtes et rapides à vérifier, souvent au prix d'une mise en place de confiance initiale ; les STARK s'en passent et reposent sur des fonctions de hachage, avec des preuves plus volumineuses.
Usages : Identification sans révéler de secret, credentials anonymes, preuves de validité dans les blockchains. Face à MPC ou FHE, la question est simple à poser : qui calcule, et qui doit être convaincu.
Ce qui arrive si on s'en passe
Sans preuve à divulgation nulle, prouver qu'on détient un secret ou qu'une donnée respecte une règle oblige souvent à montrer le secret ou la donnée. Le vérifieur, ou quiconque intercepte l'échange ou pirate ses journaux, obtient alors bien plus que la réponse attendue : un mot de passe, une date de naissance entière au lieu d'un simple « majeur », un solde de compte au lieu d'un « suffisant ». Chaque vérification devient une copie supplémentaire de l'information sensible, et chaque copie une surface de fuite. Les preuves elles-mêmes restent délicates : un paramétrage de confiance compromis ou un défi mal généré peut permettre de forger des preuves fausses.
Explication de la marmotte
Imaginons qu'on veuille prouver à un ami qu'on connaît le chemin secret d'un labyrinthe, sans lui montrer le chemin. On entre, il crie « sors par la gauche » ou « sors par la droite » au hasard, et on ressort à chaque fois du bon côté. Après vingt essais réussis, il est convaincu : la chance ne suffirait pas. Pourtant, il n'a rien appris du chemin lui-même. C'est l'idée de ces preuves : convaincre quelqu'un qu'une chose est vraie, ou qu'on possède un secret, sans rien lui dévoiler d'autre.
Où ce terme est utilisé
- Prouver sans révéler : ZK et identification (11 occurrences)
- Calculer, engager et anonymiser avec des primitives spécialisées (4 occurrences)
- Chaînes de blocs, wallets et cryptographie économique (3 occurrences)
- Hachage dans les systèmes: intégrité, arbres et preuves (2 occurrences)
- Équité, vote, contrats et divulgation contrôlée (1 occurrence)
