Bitcoin résistant aux quantiques utilisant les signatures Lamport

  • Bitcoin est menacé par l'informatique quantique et pourrait être compromis
  • Les signatures Lamport offrent une solution résistante aux attaques quantiques
  • Une implémentation fonctionnelle de vérification de signature Lamport a été réalisée avec succès sur Bitcoin

Cet article a été publié pour la première fois sur Medium.
Alors que l’informatique quantique passe potentiellement de la théorie à la pratique, ses implications pour les systèmes cryptographiques, en particulier ceux qui sous-tendent les crypto-monnaies comme Bitcoin, deviennent de plus en plus profondes. Bitcoin, qui repose sur l’algorithme de signature numérique à courbe elliptique (ECDSA), est confronté à une vulnérabilité potentielle à l’ère quantique.
Si les ordinateurs quantiques deviennent suffisamment puissants, nous proposons un moyen de rendre Bitcoin résistant à ses attaques en utilisant les signatures Lamport. Le idée cruciale est de programmer des signatures Lamport dans des contrats intelligents, et ainsi Non un changement/ »correction » de la couche de base est nécessaire. Cela diffère radicalement de l’approche existante consistant à mettre à niveau les algorithmes cryptographiques de Bitcoin via un fork (softfork ou hardfork) pour les rendre résistants aux quantiques, qui sont actuellement favorisées par les soi-disant experts Bitcoin.
La vérité est que Bitcoin a toujours été résistant aux quantiques.1
Si une attaque quantique contre Bitcoin est viable, à la fois techniquement et économiquement, sort du cadre de cet article. Pour les lecteurs intéressés recherchant des informations plus approfondies sur le sujet, il est recommandé d’explorer des ressources supplémentaires telles que [1].

Ordinateurs quantiques et Bitcoin

Les ordinateurs quantiques fonctionnent selon les principes de la mécanique quantique, ce qui leur permet d’effectuer des calculs complexes à des vitesses inaccessibles par les ordinateurs classiques. Cette capacité constitue une menace importante pour les algorithmes cryptographiques tels que l’algorithme de signature numérique à courbe elliptique (ECDSA) utilisé dans Bitcoin, qui repose sur l’impossibilité de dériver des clés privées à partir de clés publiques. Les algorithmes quantiques, tels que l’algorithme de Shor, pourraient théoriquement briser l’ECDSA, compromettant ainsi le modèle de sécurité de Bitcoin.

Signatures de Lamport

En réponse à cette menace imminente, les signatures Lamport, un système de signature unique utilisant des fonctions de hachage, apparaissent comme une alternative résistante aux quantiques. Contrairement à l’ECDSA qui s’appuie sur des hypothèses de théorie des nombres vulnérables à l’informatique quantique, les signatures Lamport tirent leur sécurité de la difficulté d’inverser les fonctions de hachage, qui restent robustes contre les attaques quantiques connues.
Voici une description technique concise du fonctionnement des signatures Lamport :

Bitcoin résistant aux quantiques utilisant les signatures Lamport

Génération de clé

  • Clé privée: Générez une paire de grands nombres aléatoires pour chaque bit du message à signer. Pour un message de 256 bits, cela donne 512 chaînes de bits aléatoires. Ces 512 chaînes forment la clé privée. Pour simplifier les choses, nous allons organiser ces chaînes en deux listes distinctes et désigner chaque liste par un index de la manière suivante :
  • Clé publique: Appliquez une fonction de hachage cryptographique H à chacune des 512 chaînes de la clé privée. La sortie forme la clé publique.

Signature

  • Hachage des messages : Tout d’abord, hachez le message à l’aide d’une fonction de hachage sécurisée H pour garantir une sortie de longueur fixe
  • Création de la signature : Pour chaque bit du message haché, sélectionnez une chaîne de l’une ou l’autre paire dans la clé privée. Si le bit est 0, sélectionnez parmi le premier ; si 1, sélectionnez parmi le second. L’ensemble de ces sélections constitue la signature
  • Vérification de la signature

  • Hachage des numéros sélectionnés :
    • Appliquez la même fonction de hachage cryptographique utilisée lors de la génération de clé à chaque chaîne de la signature

    Comparaison avec la clé publique :

    • Alignement avec les bits de clé publique : Alignez les nombres hachés de la signature avec les parties correspondantes de la clé publique, en fonction des bits du message haché
    • Vérification: Vérifiez si les hachages de la chaîne de signature correspondent aux chaînes correspondantes dans la clé publique. Si toutes les paires correspondent, la signature est valide

    Les signatures Lamport sont des « signatures temporelles uniques » et nécessitent une nouvelle clé de signature pour chaque transaction, dont la nature unique correspond au modèle d’adresse à usage unique de Bitcoin. Les signatures sont plus grandes que les signatures ECDSA mais seulement à environ 16 Ko, ce qui les rend pratiques aujourd’hui.

    Mise en œuvre

    Nous avons implémenté un exemple fonctionnel de vérification de signature Lamport. Le code est plutôt simple. Le contrat intelligent expose une méthode publique unique appelée « déverrouillage », qui permet à un échangeur de récupérer les bitcoins verrouillés en fournissant une signature Lamport valide. À un niveau supérieur, il s’agit à peu près du même mécanisme que dans une transaction P2PK(H) standard.
    Nous avons réalisé avec succès la première transaction utilisant les signatures Lamport sur Bitcoin :
    97f055bccb27539604de9ed99f1067f76fb7cae29b00fbc0a7bb744c8e0c74d8
    Le code source complet de ce contrat, ainsi que quelques tests, sont disponibles sur GitHub.

    Discussion

    Il existe des optimisations pour rendre les signatures Lamport plus efficaces en termes de signature et de taille de clé.
    Il existe également des approches alternatives pour utiliser des contrats intelligents pour rendre Bitcoin résistant aux quantiques sans interrompre les changements, comme les hachages addictifs.
    ***
    [1] Bitcoin et informatique quantique : Craig S Wright 2017
    Regardez : les applications sCrypt prouvent la puissance du Bitcoin
    Nouveau sur la blockchain ? Consultez la section Blockchain pour les débutants de CoinGeek, le guide de ressources ultime pour en savoir plus sur la technologie blockchain.