La question de l’impact de l’informatique quantique sur le protocole Bitcoin est récurrente et nous en avions déjà dit quelques mots, reprenant brièvement les conclusions d’un article de Pierre Noizat rédigé à l’occasion de l’attribution du prix Nobel de Physique à Serge Haroche en 2012. Les travaux des chercheurs du Tyndall National Institute de Cork en Irlande, publiés la semaine dernière et présentés comme une nouvelle avancée dans le domaine, constituent une bonne occasion de revenir plus en détail sur le sujet.
Le protocole Bitcoin repose sur plusieurs algorithmes cryptographiques : L’algorithme ECDSA (Elliptic Curve Digital Signature Algorithm) pour la signature des messages de transaction et les fonctions de hachage SHA-256 et RIPEMD160 pour sécuriser les données dans la chaine de blocs ou encore générer des adresses Bitcoin à partir de clé publiques.
Jusqu’à présent la plupart des experts s’entendaient pour dire qu’un ordinateur quantique n’aurait pas de prise sur SHA-256 et RIPEMD160 mais pourrait bien faire tomber ECDSA, l’algorithme qui permet de générer les paires de clés cryptographiques de Bitcoin (clé privée / clé publique). En théorie un ordinateur quantique serait donc en mesure de dériver une clé privée à partir d’une clé publique et, par conséquent, de voler les fonds associés à ce couple de clés.
Pour autant une telle prouesse technique ne serait pas fatale pour Bitcoin. En effet il ne faut pas confondre « clé publique » et « adresse Bitcoin » : tant qu’une clé publique n’a pas été utilisée pour signer une transaction, elle n’est connue que de celui qui l’a générée. Une adresse Bitcoin n’est qu’une empreinte (un hash) d’une clé publique, ce n’est pas la clé elle-même. Pour calculer ce hash on utilise des fonctions cryptographiques à sens unique, SHA-256 et RIPEMD160, qui réduisent la clé publique en une chaine de 34 caractères. Difficile, donc, de restituer le message d’origine puisqu’il y a perte d’information.
Une attaque par un ordinateur quantique n’est donc possible que si la clé publique est exposée. Pour s’en protéger il suffirait, par conséquent, de ne jamais réutiliser une adresse sitôt qu’on a dépensé les bitcoins qui lui sont associés. En pratique il suffit d’utiliser des porte-monnaies « déterministes hiérarchiques » (BIP0032 HD) comme Greenaddress ou Copay qui génèrent une nouvelle adresse à chaque fois qu’une transaction entrante est effectuée, y compris pour les retours de monnaie.
Les recommandations de la NSA
Un article publié la semaine dernière sur futurewavewebdevelopment.com nous apprend que la NSA va désormais plus loin dans ses recommandations en écartant, outre ECDSA, l’algorithme SHA-256 au profit de SHA-384, considéré comme plus robuste. L’agence justifie ses précautions non par un danger imminent, mais par le fait que les systèmes cryptographiques qu’elle produit et certifie on une durée de vie très longue et seront utilisés pendant de nombreuses décennies. Difficile d’imaginer ce que permettra l’informatique quantique dans trente ans, l’agence considère logiquement qu’il faut dès aujourd’hui privilégier les algorithmes les plus robustes.
Un peu de science-fiction
Le jour où, en dépit d’un second principe de la thermodynamique [1] que je laisse à d’autres le soin d’expliquer, l’informatique quantique parviendra à compromettre SHA-256 par une attaque en force brute, il est probable que Bitcoin sera alors le cadet de nos soucis. Bien d’autres verrous auront probablement sauté avant et un grand désordre régnera dans la finance mondiale… Une belle occasion de mutation pour Bitcoin dont le protocole et le registre sont immuables… sauf quand un danger imminent pèse sur eux !
En effet, lorsqu’un bug important s’est produit en août 2010, la communauté a suivi sans discuter le « hard fork » proposé par Satoshi Nakamoto. Pourquoi ? parce que la chaine originelle n’avait aucune chance de survivre aux 92 milliards de bitcoins que cette faille avait permis de générer. De même, si un ordinateur quantique parvenait à casser ECDSA ou à compromettre SHA-256 par une attaque en force brute, un « hard fork » pour intégrer de nouveaux algorithmes « quantum resistant » et/ou revenir en arrière dans le registre, juste avant la catastrophe, n’aurait pas besoin de faire l’unanimité pour être adopté… aucun risque de schisme si la chaine principale est de toute façon compromise et désormais sans valeur !
Evidemment, pour qu’une telle réaction soit possible, il faudrait que ces solutions alternatives aient été soigneusement préparées en amont, bien avant la catastrophe. Cela dit la menace est loin d’être imminente et la communauté aura sans doute à surmonter bien d’autres défis avant de s’attaquer à celui-ci.
Sources : news.bitcoin.com – bitcoinnotbombs.com – futurewavewebdevelopment.com – e-ducat.fr
[1] « La seconde loi de la thermodynamique implique qu’une information, quelle qu’elle soit, requiert de l’énergie pour être simplement représentée […] Parcourir les valeurs possibles d’une clé de 256 bits comme celle d’une signature bitcoin demanderait donc l’énergie du soleil pendant au moins 400.000.000.000.000.000.000 ans… » – Pierre Noizat.
« Les attaques par force brute contre des clés de 256 bits resteront impraticables jusqu’à ce que les ordinateurs soient construits avec autre chose que de la matière et occupent quelque chose d’autre que de l’espace. » – Bruce Schneier, Applied Cryptography.