Notre site utilise des cookies pour rendre votre navigation plus agréable sur le site.

Confidentialité et évolutivité grâce à divulgation nulle de connaissance  

Posted on 08/01/2026 by Kristof Verslype

Dit artikel is ook beschikbaar in het Nederlands.

Où est Charlie ? est un jeu bien connu qui consiste à trouver un personnage spécifique – appelé Charlie – dans un dessin très détaillé où figurent de nombreux autres personnages. Comment Paula (fournisseur de preuve ou prouveur) peut-elle prouver à Victor (vérificateur) qu’elle sait où se trouve Charlie sans révéler de détails sur sa position dans l’image ? Paula peut se servir d’un cache dont la hauteur et la largeur sont deux fois plus grandes que celles de l’image dans laquelle est caché Charlie. Au centre du cache se trouve un trou de la taille de Charlie. En positionnant le cache de manière à ce que le trou laisse entrevoir Charlie uniquement, Paula prouve à Victor qu’elle a localisé Charlie sans révéler d’informations sur son emplacement.

Il s’agit là d’un exemple de preuve à divulgation nulle de connaissance (en anglais zero-knowledge proof), ou preuve ZK, qui permet à une partie de prouver une affirmation à une autre partie sans divulguer plus de détails sur cette affirmation. À strictement parler, l’exemple de Charlie n’est pas tout à fait sans divulgation de connaissance, car des informations sur la posture et l’expression faciale de Charlie sont également divulguées, ce qui peut aider à le retrouver.

Un autre exemple, pour lequel une preuve de concept a été élaborée, permettrait de prouver au public que l’ADN d’un candidat à la présidence n’est pas répertorié dans une base de données ADN médico-légale. La police exécuterait un code accessible au public sur des données qui resteraient cachées au public : la base de données ADN et le profil ADN du candidat à la présidence. Le résultat pourrait être “aucune correspondance“, “correspondance partielle” ou “correspondance complète“. Le public – du moins les cryptographes parmi eux – serait alors convaincu que le résultat est l’exécution correcte du code sur les données confidentielles. L’affirmation prouvée ici à l’aide d’une preuve ZK concerne l’intégrité des calculs sur des données confidentielles .

Les titres numériques anonymes, abordés dans un précédent article, permettent en revanche aux citoyens de prouver de manière sélective certaines caractéristiques les concernant, telles que leur majorité, leur nationalité ou la détention d’un permis de conduire valide. Les titres numériques anonymes recourent intensivement aux preuves ZK. Comme nous le verrons plus loin dans cet article, les ZKP peuvent également être utilisés pour la divulgation sélective de données à caractère personnel.

En résumé, les preuves ZK permettent à une partie, le prouveur, de prouver des affirmations à une autre partie, le vérificateur, sans intermédiaire de confiance. Ces affirmations peuvent donc porter sur des calculs sur des données confidentielles, mais aussi sur des caractéristiques (attributs) d’un citoyen (ou même d’un animal ou d’un objet).

Formellement, une preuve ZK doit répondre à trois critères :

  1. Complétude (completeness). Si l’affirmation est vraie, un vérificateur en sera convaincu.
  2. Robustesse (soundness). Si l’affirmation est fausse, le prouveur ne peut pas, dans la pratique, convaincre à tort le vérificateur du contraire.
  3. Zéro-connaissance (zero-knowledge). Si l’affirmation est vraie, le vérificateur n’apprend rien de plus que cette affirmation.

Cet article aborde deux cas d’utilisation importants pour les ZKP : l’amélioration de l’évolutivité et de la confidentialité des applications blockchain d’une part, et la gestion de l’identité des citoyens dans le respect de la vie privée d’autre part.

Blockchain

De nombreux cas d’usage potentiels ont déjà été définis dans la littérature, même si, à ce jour, seul un nombre limité d’entre eux ont été mis en pratique. L’un des principaux domaines d’application est celui de la blockchain et des monnaies virtuelles (cryptomonnaies).

Les preuves ZK y sont utilisées pour améliorer la confidentialité des transactions. Dans le Bitcoin et quelques autres monnaies virtuelles, l’adresse (le numéro de compte) de l’expéditeur, l’adresse du destinataire et le montant transféré sont visibles par tous pour chaque transaction ; tout est publié sur la blockchain. Une situation loin d’être idéale sur le plan de la confidentialité…

La monnaie virtuelle Zcash permet aux utilisateurs de dissimuler ces trois éléments à l’aide de preuves ZK. Pour ce faire, elle recourt aux zk-SNARKs (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge), développés en 2012 et appliqués pour la première fois par Zcash. Le S dans zk-SNARKs signifie “succint“, soit “concis” en français. Les preuves ZK dans Zcash peuvent “être vérifiées en quelques millisecondes et ne font que quelques centaines d’octets”.

Outre la confidentialité, les preuves ZK sont également utilisées pour augmenter l’évolutivité des blockchains. La capacité limitée des blockchains a incité la communauté à rechercher activement des moyens d’améliorer l’évolutivité sans compromettre la sécurité ou la vitesse. Une meilleure évolutivité signifie qu’une transaction nécessite moins de ressources avec, à la clé, une baisse des coûts de transaction. L’une des approches les plus prometteuses est celle des zk-rollups, utilisés sur la blockchain Ethereum par Starknet, ZKsync et Polygon entre autres. Au lieu de placer chaque transaction séparément sur la blockchain, celles-ci sont regroupées hors chaîne, exécutées et seul le résultat, accompagné d’une preuve ZK de bonne exécution, est placé sur la blockchain. Cela permet de réduire le nombre d’octets écrits sur la blockchain, et la vérification de la preuve ZK est plus rapide que la vérification de toutes les transactions individuelles. Un espace de stockage et une puissance de calcul moindres sont donc requis.

Parallèlement, des preuves ZK sont en cours d’élaboration pour démontrer qu’un smart contrat (code) a été correctement exécuté. Là encore, la raison est l’évolutivité : chaque fois qu’une fonction d’un smart contract (code sur la blockchain) est appelée aujourd’hui, chaque nœud de la blockchain exécute exactement le même code. L’idée est qu’un seul nœud exécute le smart contract et prouve sa bonne exécution. Les autres nœuds vérifient la preuve. Si une preuve ZK est plus efficace que l’exécution du smart contract, on augmente l’évolutivité.

Gestion de l’identité

Les titres numériques anonymes – qui font appel aux preuves à divulgation nulle de connissance (zero knozledge prooof – ZKP) – permettent à un citoyen de divulguer de manière sélective des informations le concernant, par exemple sa majorité. Dans la réalité, malheureusement, aucun pays ou région n’a massivement adopté les titres numériques anonymes dans les documents d’identité. Aussi des recherches plus récentes se sont-elles penchées sur d’autres pistes, à savoir la génération d’une ZKP sur la base d’un document d’identité existant. Des travaux académiques récents se sont concentrés sur le passeport et le permis de conduire aux États-unis.

Durant l’été 2025, la VUB a publié une étude consacrée à la carte d’identité belge.
Cette étude s’inscrit dans le cadre du projet SDM financé par Innoviris. S’il s’agit d’un travail prometteur, il comporte toutefois divers défis. Un premier défi concerne la faible efficacité : il faut 22 secondes à un ordinateur portable pour générer une preuve, délai qui sera encore plus long sur un téléphone. La révocation représente un deuxième défi : lorsqu’une carte eID est perdue ou volée et que les certificats sur la carte sont révoqués en conséquence, il ne doit plus être possible de générer des ZKP.  

La VUB souhaite aller encore plus loin, à savoir utiliser les ZKP pour démontrer qu’un citoyen dispose de certains droits, sans divulguer d’autres données à caractère personnel. À l’avenir, un citoyen pourrait ainsi prouver qu’il remplit les conditions pour bénéficier d’un loyer modéré, sans avoir à donner de plus amples informations à ce sujet.

Itsme a récemment annoncé son Itsme Qualify, qui autorise une divulgation sélective de données à caractère personnel au moyen de ZKP. Actuellement, seule la vérification de l’âge est prise en charge, mais itsme prévoit d’étendre cette fonctionnalité. Malheureusement, votre auteur n’a pas pu trouver de détails accessibles au public sur cette fonctionnalité et n’est pas parvenu à obtenir plus d’informations auprès d’itsme. Il est à espérer que ce manque de transparence ne soit que temporaire, car les ZKP, comme toute autre cryptographie, sont plus sûrs lorsque tous les détails sont publics et peuvent être validés par des experts.

Enfin, sachez qu’il existe des solutions de gestion d’identité qui combinent la « blockchain » et les ZKP. Privado ID est l’une des initiatives les plus visibles qui était jusqu’à récemment connue sous le nom de Polygon ID. Un émetteur y confirme les attributs personnels d’un citoyen – par exemple la date de naissance – en plaçant une valeur de hachage spécialement formée à partir de l’ensemble des attributs sur un réseau blockchain comme Ethereum. Le citoyen peut alors s’en servir pour prouver de manière sélective à un tiers des informations à caractère personnel le concernant, telles que sa majorité. Notez que tous les ZKP qui utilisent la même valeur de hachage comme base peuvent être liés entre eux. 

 

Résistance quantique

Comme déjà expliqué en détail dans des articles précédents de Smals Research, il existe un risque que de puissants ordinateurs quantiques puissent à l’avenir briser la cryptographie moderne à clé publique.

Les technologies telles que zk-SNARK et Bulletproofs, qui permettent de prouver l’exactitude des calculs, ne sont pas résistantes aux ordinateurs quantiques. C’est notamment pour cette raison que les zk-STARKs (Zero-Knowledge Scalable Transparent Arguments of Knowledge) ont vu le jour en 2018. Comme l’illustre la figure ci-dessous, l’efficacité computationnelle reste élevée, mais les preuves sont beaucoup plus volumineuses. Néanmoins, elles sont déjà utilisées à des fins d’évolutivité et de confidentialité entre autres par StarkNet et StarkEx, qui sont tous deux des solutions d’évolutivité pour Ethereum.

 

Résistant à l’informatique quantique

Temps prouveur

Temps vérificateur

Taille preuve

Zk-SNARKs

Non

2,3 S

10 ms

 288 B

Bulletproofs

Non

30 S

1100 ms

1,3 KB

Zk-STARKs

Oui

1,6 S

16 ms

> 40 KB

Comparaison de trois solutions ZK pour prouver des calculs (source)

Des preuves ZK résistantes à l’informatique quantique pour les calculs sont donc possibles, même si les preuves deviennent beaucoup plus volumineuses. Leur adoption par la communauté blockchain reste pour l’instant limitée ; les zk-SNARKs demeurent la technologie ZK dominante dans le contexte de la blockchain. Le travail de la VUB sur la gestion d’identité utilise également aujourd’hui les zk-SNARKs.

Conclusion

Les preuves à divulgation nulle de connaissance existent depuis plusieurs décennies et ont déjà fait l’objet de nombreux développements et recherches. Dans cet article, nous avons identifié les deux principaux cas d’utilisation :

  • Confidentialité et évolutivité sur les réseaux blockchain. La technologie ZKP permet de prouver qu’un calcul sur des données confidentielles a été effectué correctement. Ceci peut se faire relativement rapidement et contribue à accroître l’évolutivité des réseaux blockchain. Bien qu’elle puisse en théorie être appliquée en dehors de la blockchain, on n’y assiste pas (encore ?) dans la pratique. Travailler avec des parties centrales et la législation est aujourd’hui plus facile à mettre en œuvre et à expliquer.
  • Gestion d’identité dans le respect de la vie privée. La technologie ZKP permet de divulguer de manière sélective des données à caractère personnel vous concernant. Cela peut se faire sur la base de documents d’identité classiques, tels que la carte d’identité électronique belge. De même, des documents d’identité peuvent être délivrés sous la forme de titres numériques anonymes. Les ZKP peuvent être très lourds sur le plan computationnel, surtout lorsque l’on utilise une technologie résistante à l’informatique quantique et que l’on part de documents d’identité officiels existants. 

L’utilisation de la technologie pour les ZKP et les titres numériques anonymes pour améliorer la confidentialité pose un certain nombre de défis. Nous avons déjà évoqué la performance, la résistance à l’informatique quantique et la révocation. Il faut également tenir compte de l’absence de normes, du risque que des informations contextuelles, telles qu’une adresse IP, compromettent la confidentialité, ainsi que de l’impact potentiel sur l’expérience utilisateur pour le citoyen, qui doit passer par une fenêtre supplémentaire.

C’est peut-être en partie pour cette raison que Gartner a déclaré en 2024 que la technologie ZKP était obsolète, ce qui a suscité une certaine indignation parmi les cryptographes. Malgré l’utilisation des preuves ZK dans Web3 (blockchain) et un nombre limité de configurations pour l’identité numérique, l’intérêt pour cette technologie stagne selon Gartner. Cela a été confirmé plus tôt cette année lorsque Sovrin a supprimé son réseau d’identité auto-souveraine (SSI – self-sovereign identity). L’avenir nous dira si Gartner a raison. Ce serait tragique, compte tenu de la puissance et de la polyvalence de cette technologie, sur laquelle les chercheurs travaillent depuis plusieurs décennies et qui devrait pourtant avoir un potentiel considérable dans le secteur public.

N’hésitez pas à nous contacter si vous êtes intéressé !


Cette contribution a été soumise par Kristof Verslype, cryptographe chez Smals Research. Elle a été rédigée en son nom propre et ne prend pas position au nom de Smals.

Source: Smals Research