C'est essentiellement le domaine des classes de complexité de calcul. Par exemple, la classe BQP peut être grossièrement décrite comme l'ensemble de tous les problèmes qui peuvent être résolus efficacement sur un ordinateur quantique. La difficulté avec les classes de complexité est qu'il est difficile de prouver les séparations entre plusieurs classes, c'est-à-dire l'existence de problèmes qui sont dans une classe mais pas dans une autre.
En un sens, il suffit de pouvoir dire "si cet algorithme quantique ne peut pas le casser, il est sûr", il suffit d'utiliser le bon algorithme. Vous avez besoin d'un algorithme complet BQP tel que trouver les racines du polynôme de Jones - tout algorithme quantique peut être converti en instance d'un algorithme complet BQP. Cependant, la façon dont cet algorithme pourrait être utilisé pour la fissuration est complètement floue et non triviale. Il ne suffit pas de voir que vous ne pouvez pas directement utiliser les choses par force brute. Donc, cette approche n'est probablement pas si utile.
Que voulons-nous d'un scénario de cryptographie post-quantique? Nous avons besoin:
- y= f( x )
- F- 1( y)
- zg( y, z) = xf(x)z
Cette dernière puce est (essentiellement) la définition de la classe de complexité NP: les problèmes pour lesquels il peut être difficile de trouver une solution, mais pour lesquels une solution est facilement vérifiée lorsqu'on lui donne une preuve (correspondant à la clé privée dans notre cas) .
≠
La subtilité supplémentaire qui complique les choses, cependant, est à peu près (je ne suis pas un expert) que les classes de complexité parlent de la complexité du pire des cas, c'est-à-dire pour une taille de problème donnée, c'est à quel point l'instance la plus difficile possible du problème est difficile. Mais il ne pourrait y avoir qu'une seule instance de problème, ce qui signifierait que si nous corrigions la taille du problème (comme c'est le cas, par exemple, vous pourriez parler de 1024 bits RSA; les 1024 bits sont la taille du problème), il n'y aurait qu'une seule clé privée. Si nous le savons, un espion peut simplement utiliser cette clé privée pour décrypter les messages. Donc, nous avons réellement besoin que ce raisonnement de complexité de calcul s'applique à une grande partie des entrées possibles. Cela vous fait entrer dans le monde de la complexité moyenne des cas où, si je comprends bien, il devient beaucoup plus difficile de faire de telles déclarations.
Cela peut aider à faire une comparaison avec RSA, un système cryptographique à clé publique, et ignorer l'existence d'ordinateurs quantiques. Elle est basée sur la difficulté de factoriser de grands nombres composites. Ce problème n'est pas (supposé être) en P, donc il est difficile pour un pirate avec un ordinateur classique de trouver la réponse. Pendant ce temps, il est en NP car la solution est facilement vérifiée (si on vous donne un facteur, vous pouvez facilement vérifier que c'est un facteur). Cela signifie qu'il peut être déchiffré à l'aide d'un ordinateur classique par le destinataire légitime.