Note
Menace quantique sur le chiffrement : Où en sommes-nous ?
Depuis le début de l'année et après l'effet whaou de [ chatgpt](https://www.linkedin.com/feed/hashtag/chatgpt?trk=article ssr frontend pulse little text block), on entend à nouveau de plus en plus parler de la suprématie
Depuis le début de l’année et après l’effet whaou de #chatgpt, on entend à nouveau de plus en plus parler de la suprématie quantique et de la menace qu’elle constitue en particulier sur les techniques de chiffrement actuelles.
Loin de moi l’idée de vous faire ici un cours d’informatique quantique ou de tenter de résumer l’excellent travail sur le sujet d’ Olivier Ezratty que vous trouverez sur son blog ici : https://www.oezratty.net/wordpress/telecharger/publications/.
L’exercice ici est de faire un rapide point de la situation et vous convaincre de vous intéresser aux évolutions récentes des ordinateurs quantiques qui feront partie intégrante de notre quotidien dans les années à venir. C’est donc maintenant qu’il faut commencer à s’y mettre !
La suprématie quantique est un concept qui décrit le moment où les ordinateurs quantiques seront capables de résoudre des problèmes qui sont considérés comme étant difficiles ou impossibles à résoudre avec nos capacités informatiques actuelles. Même s’il est important de noter que la suprématie quantique n’est pas encore atteinte à ce jour, il faut tout de même prendre en compte que les avancées technologiques dans ce domaine sont en constante évolution et de nouveaux développements pourraient permettre d’atteindre cet état dans un avenir plus que proche.
Deux annonces récentes nous ont en effet laissés interrogatifs sur la vitesse de l’évolution de l’informatique quantique et sur la vulnérabilité des techniques de chiffrement actuelles :
-
Une équipe d’universitaires chinois affirme haut et fort depuis la fin du mois de décembre qu’ils ont réussi à trouver un moyen de déchiffrer l’algorithme de cryptographie RSA grâce à un ordinateur quantique de 372 qubits (https://arxiv.org/abs/2212.12372).
-
IBM a présenté en 2002 sa machine quantique Opsey de 433 qubits et a annoncé pouvoir dépasser le seuil des 1000 qubits cette année puis arriver à 4158 qubits en 2025. Théoriquement, ces appareils présentés publiquement seraient donc capables de casser le chiffrement RSA à partir du moment où l’algorithme conçu par les chercheurs chinois y est implanté…
Nota suite échanges avec Olivier : “il faut relativiser la prouesse chinoise d’ailleurs j’en parle ici : https://www.oezratty.net/wordpress/2023/actualites-quantiques-decembre-2022/”.
Même si le nombre de qubits ne fait pas tout, il est tout de même important pour accélérer la vitesse de traitement des opérations avec un ordinateur quantique. Petit rappel sur ce qu’est un qubits.
Un ordinateur classique tel que nous le connaissons travaille sur des informations binaires, soit des 0 et des 1. L’unité de calcul, le bit peut être égal à 0 ou bien à 1, un peu comme une ampoule peut être allumée ou éteinte.
Or, grâce au phénomène de superposition dans le monde quantique, le qubit peut embrasser plusieurs valeurs simultanément !
Ainsi, donc, il peut être :
-
égal à 0 ;
-
dans le même temps, égal à 1 ;
-
pour chacune de ces deux valeurs, nous avons une probabilité d’occurrence. Par exemple : 78 % pour le 0 et 22 % pour le 1. Ou bien 34 % pour le 0 et 66 % pour le 1. Si la probabilité est de 100 % pour le 0 ou pour le 1, on parle d’« état propre ».
Prenons l’exemple d’un nombre binaire de 3 bits. En informatique habituelle, nous avons 8 combinaisons possibles (23) :
Avec 3 qubits d’un processeur quantique, nous avons ces 8 états en parallèle. Et donc, l’ordinateur quantique pourrait théoriquement calculer 2 puissance 3 fois plus vite qu’un ordinateur classique soit huit fois.
Donc, la puissance de calcul d’un ordinateur quantique double théoriquement à chaque fois que l’on ajoute un qubit alors que dans les ordinateurs classiques, la puissance est proportionnelle au nombre de circuits intégrés placés dans les processeurs.
Plus de 1000 qubits sont annoncés pour 2023 alors que la machine Falcon d’IBM présentée en 2019 n’en comptait que… 27 ! 🤔 Vous comprenez du coup aisément que cela a le mérite de mettre tous les cryptologues de la terre un peu sous pression…
Cette capacité de calcul extraordinaire des ordinateurs quantiques peut effectivement être utilisée pour casser les codes de chiffrement utilisés pour protéger les données sensibles. Les algorithmes de chiffrement quantique, tels que l’algorithme de factorisation de Shor, peuvent être utilisés pour briser les codes de chiffrement classiques à base de clés symétriques tel que RSA. En effet, RSA utilise des nombres premiers très grands pour générer des clés de chiffrement qui sont difficiles à factoriser avec des ordinateurs classiques.
L’algorithme de factorisation de Shor est un algorithme quantique qui permet de factoriser des nombres entiers en leurs facteurs premiers. Il a été développé en 1994 par Peter Shor. Cet algorithme fonctionne en utilisant la superposition évoquée ci-dessous qui permet à un qubit d’être dans plusieurs états à la fois.
Il utilise également une autre propriété de l’informatique quantique appelée interférence, qui permet à des états quantiques de se renforcer ou de s’annuler mutuellement… pour en savoir, plongez-vous dans l’ouvrage d’Olivier 😜
L’algorithme de Shor s’appuie sur le processus appelé Quantum Fourier Transform (QFT) et d’autres techniques comme l’algorithme de Period Finding dont on trouve une présentation par exemple ici. Cet algorithme permet de trouver les racines de l’unité modulo N, où N est le nombre entier que l’on souhaite factoriser. En utilisant les racines trouvées, il est possible de réduire le nombre entier N à un produit de facteurs plus petits.
Il est important de noter que l’algorithme de Shor n’est pas (encore théoriquement) utilisable pour des nombres entiers très grand, car il nécessite des nombres de qubits importants pour fonctionner efficacement. De plus, il n’est pas (encore théoriquement) possible d’utiliser l’algorithme de Shor sur des ordinateurs quantiques réels… ce qui interroge sur l’annonce chinoise de fin d’année dernière. 🤔 Mais pour combien de temps si ce n’est pas déjà le cas au moment où j’écris ces quelques lignes ?
Nota suite échanges avec Olivier : “Il est bon de préciser qu’avec les connaissances actuelles, il faudrait 22 millions de qubits avec des fidélités de 99,9% sur les portes à 2 qubits pour casser une clé publique RSA 2048 bits. Les qubits actuels de Google et IBM n’en sont même pas à 98%-99% de fidélité (72 et 433).” Nous avons donc un peu de temps…
Ainsi, on a vu apparaître ces dernières années des techniques de cryptographie post-quantique qui vise à construire des algorithmes cryptographiques utilisant des propriétés physiques, plutôt que mathématiques, pour garantir la sécurité.
À ce stade (et n’étant pas le spécialise le plus pointu dans le domaine), une des initiatives les plus prometteuses est le chiffrement à clé quantique (QKD). Il s’agit d’un protocole de chiffrement asymétrique qui utilise des propriétés quantiques pour générer et distribuer des clés de chiffrement sécurisées.
La France n’est pas du tout en retard dans le domaine, loin de là. Citons ici a minima les initiatives de Cryptonext Security (spin-off d’Inria et de Sorbonne Université créée en juin 2019) et de l’Inria qui s’est illustrée en confirmant des failles d’un protocole de cryptographie post-quantique. À découvrir ici.
Nota suite échanges avec Olivier : “La société Pasqal n’est pas impliquée dans la cryptologie post-quantique.” J’ai cité dans cet article cette société que j’ai pu rencontrer à plusieurs reprises et qui me paraît prometteuse à titre personnel.
Il est possible de tester dès à présent, grâce à des projets #opensource (nous y voilà !) le chiffrement à clé quantique qui est encore en cours de développement et de recherche.
Il existe plusieurs projets #opensource qui permettent de tester l’informatique quantique ou de simuler le fonctionnement de l’informatique quantique. Là aussi difficile d’être exhaustif. J’ai déjà identifié les projets suivants :
-
Qiskit : Il s’agit d’un ensemble d’outils open source pour la programmation d’ordinateurs quantiques. Il permet aux utilisateurs de créer, tester et exécuter des programmes quantiques sur des ordinateurs quantiques réels ou simulés. Il est développé par IBM.
-
QuTiP (Quantum Toolbox in Python): Il s’agit d’un outil open source pour la simulation de systèmes quantiques en utilisant Python. Il permet aux utilisateurs de simuler des systèmes quantiques en utilisant des techniques de mécanique quantique et de calcul quantique. C’est celui que j’ai expérimenté à titre perso.
-
ProjectQ: Il s’agit d’un compilateur open source pour l’informatique quantique développé par l’Université de Tübingen et Microsoft Research. Il permet aux utilisateurs de créer et exécuter des programmes quantiques sur des ordinateurs quantiques réels ou simulés.
-
QuEST : Il s’agit d’un simulateur open source pour l’informatique quantique développé par Google. Selon moi très prometteur…
Ceux qui voudraient aller plus loin dans la pratique des algorithmes quantiques pourraient être aussi intéressés par :
-
Quantum++ : une bibliothèque C++ pour la simulation d’algorithmes quantiques, qui inclut une implémentation de l’algorithme de Shor.
-
Quilc : Il s’agit d’un compilateur open source pour l’informatique quantique développé par Rigetti Computing, qui permet de générer des circuits quantiques pour des algorithmes tels que l’algorithme de Shor.
Bref un domaine passionnant et sur lequel des travaux complémentaires doivent être lancés car tous les projets basés sur OpenSSL ou basés sur le chiffrement à base de clés SSH sont menacés à terme… 😱
Si ce sont des sujets d’intérêt pour vous et que vous êtes prêts à vous investir à nos côtés à mettre en œuvre du post-quantique dans vos solutions de sécurité, nous pouvons être un partenaire de choix pour l’exploration de ces technologies et créer des communautés visant à développer des implémentations modernes et spécialisées dans vos domaines d’activité.
Commentaires
Réponses imbriquées possibles. Vous commentez en tant qu'invité : choisissez un pseudo, et c'est tout. Modération a posteriori : tout est publié immédiatement, je peux retirer si besoin.