Le protocole BB84 implique deux acteurs principaux : Alice et Bob, qui jouent des rôles différents. Vous pouvez ici explorer l'ensemble des étapes que chacun d'eux doit suivre pour mener à bien le protocole.
Créez une chaîne de bits aléatoire composée de 0 et de 1. Cette chaîne sera utilisée pour construire votre clé de chiffrement.
Sélectionnez aléatoirement un ensemble de bases pour encoder chacun des bits. Vous pouvez choisir entre les bases + et x.
Encodez vos bits dans la polarisation de vos photons.
Partagez vos photons avec Bob et attendez qu'il termine la réception et la mesure.
Comparez vos bases avec celles de Bob et supprimez les bits où les bases ne correspondent pas.
À ce stade, vous possédez la « clé brute », qui sera utilisée pour détecter la présence d'un espion.
Dans le jeu BB84 de QuantumCrypto, ce ne sont pas toutes les parties qui ont un espion. Cette prochaine étape ne s'applique que s'il y en a un dans votre jeu. Ce que vous découvrirez à la fin!
Validez votre clé en vérifiant que les bits sélectionnés aléatoirement à partir de votre clé brute correspondent à ceux de Bob. S'ils correspondent, vous pouvez supposer que la probabilité qu'un espion soit présent est très faible et vous pouvez utiliser la clé en toute sécurité. Sinon, vous avez détecté la présence d'un espion et vous devez redémarrer le protocole.
Chiffrez et envoyez votre message à Bob.
Le protocole BB84 a été proposé en 1984 par Charles Bennett d'IBM et Gilles Brassard de l'Université de Montréal. Il implique deux parties distinctes, Alice et Bob, qui souhaitent établir une clé de chiffrement afin de communiquer de manière sécurisée via un canal public. Le protocole commence avec Alice qui crée une séquence aléatoire de bits et qui encode chaque bit à l’aide d’un photon. Plus précisément, la valeur du bit est encodée dans un des deux états mutuellement orthogonaux de la polarisation du photon. Aussi, à chaque photon, la base pour décrire la polarisation de la lumière est choisie au hasard entre deux bases. Alice envoie ensuite ces photons à Bob via un canal quantique public. Lorsque Bob reçoit les photons, il les mesure en utilisant une des deux bases également choisies au hasard. Ensuite, Alice et Bob annoncent publiquement les bases qu'ils ont utilisées pour encoder et mesurer chaque photon. Une clé est formée en conservant seulement les bits pour lesquels les bases utilisées par Alice et Bob correspondent. Enfin, en comparant un sous-ensemble des bits de leur clé, Alice et Bob peuvent détecter la présence d'un espion, généralement appelé Ève, et s'assurent ainsi de la sécurité de leur canal de communication quantique. En effet, en raison des principes fondamentaux de la mécanique quantique, toute tentative par Ève d'intercepter et de mesurer ces photons perturbera leur état, introduisant ainsi des incohérences qu'Alice et Bob peuvent détecter. S'ils concluent que le canal quantique n'a pas été compromis, ils peuvent utiliser la clé de chiffrement générée pour envoyer un message en toute sécurité. Sinon, ils doivent recommencer la procédure.
On dit bien souvent que tout dans l’univers est composé de particules, même la lumière. En effet, les particules qui composent la lumière sont appelées photons, et ils sont responsables de transporter l’énergie lumineuse. Le protocole BB84 utilise la polarisation des photons pour envoyer l’information des bits (0 ou 1). En effet, cette propriété quantique essentielle des particules de lumière assure la sécurité du protocole.
Une clé de chiffrement est un code secret (en bits) qui permet de protéger des informations en les transformant en un format illisible. Seules les personnes possédant la clé de déchiffrement pourront restaurer le message original. La clé de déchiffrement peut être la même clé (on parle alors de clés symétriques), ou une clé différente (clés asymétriques). Prenons un exemple de chiffrement avec clés symétriques dans lequel Alice et Bob possèdent la clé de chiffrement suivante : 010010. Si Alice souhaite transmettre un message à Bob de manière confidentielle, elle effectue l’opération XOR (OU-exclusif) bit par bit entre la clé et son message. Voici comment fonctionne l’opération XOR pour les différentes valeurs possibles des bits b0 et b1:
b0 | b1 | b0 XOR b1 |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
Supposons que le message qu’elle veuille envoyer à Bob est 111000. L’opération de chiffrement génère la séquence 101010 comme on peut le voir dans ce tableau
Message | 1 | 1 | 1 | 0 | 0 | 0 |
Clé | 0 | 1 | 0 | 0 | 1 | 0 |
Message encrypté | 1 | 0 | 1 | 0 | 1 | 0 |
Cette séquence est transmise à Bob qui, puisqu’il est la seule autre personne possédant la clé, peut déchiffrer le message en appliquant à son tour l’opération XOR bit par bit entre le message chiffré et la clé.
Un canal public est un moyen de communication où tout le monde peut potentiellement écouter les messages échangés, comme si vous parliez à voix haute dans une pièce pleine de gens. Un canal privé, en revanche, garantit que la communication se fait seulement entre les personnes concernées sans possibilité d’interception, un peu comme une conversation à voix basse entre deux interlocuteurs où personne d’autre ne peut entendre. Comme il peut être difficile de garantir le caractère privé d’un canal de communication, la cryptographie est utilisée pour rendre les messages incompréhensibles sur un canal public et ainsi protéger la confidentialité des données.
Un canal classique est un moyen de communication conçu pour transmettre de l’information classique, comme des messages binaires ou textuels. L’envoie d’information quantique à travers un canal classique pose de grands défis de performance étant donné le bruit induit par l’information classique qui y circule. En revanche, un canal quantique est conçu pour transmettre de l’information quantique, comme l’état d’un photon. Ce canal permet de conserver les propriétés quantiques de l’information, garantissant ainsi une grande probabilité que la bonne information soit reçue de l’autre côté, intacte.
L’encodage d’un bit dans un photon fait référence à la façon dont on utilise la polarisation des photons pour représenter des bits (0 ou 1). La polarisation est une propriété des photons qui décrit la direction dans laquelle leur champ électrique oscille. Dans le protocole BB84, cette polarisation est utilisée pour encoder des bits en choisissant entre deux bases : la base + et la base x. Dans la base +, un photon polarisé horizontalement (↔) représente le bit 0, tandis qu’un photon polarisé verticalement (↕) représente le bit 1. Dans la base x, un photon polarisé en diagonale (⤢) représente le bit 0, et un photon polarisé en diagonale opposée (⤡) représente le bit 1. Alice encode alors chaque bit de cette manière avant de l’envoyer à Bob.
Si on considère le plan cartésien à 2 dimensions, une base est un ensemble de deux vecteurs, v0 et v1, qui permet de représenter n’importe quel vecteur du plan par une combinaison linéaire de v0 et v1. Lorsque v0 et v1 forment un angle de 90o, ils sont orthogonaux et ils forment une base orthogonale. Une base naturelle consiste à prendre un vecteur aligné avec l’axe des x et un autre aligné avec l’axe des y, ce qu’on appelle la base + dans le protocole BB84. En effectuant une rotation de 45o des deux vecteurs de la base +, on obtient la base x. En associant les bits 0 et 1 aux vecteurs orthogonaux d’une base, on s’assure que Bob mesure toujours la valeur qui avait été encodée par Alice lorsque la même base est utilisée. Il s’agit d’une conséquence de l’utilisation d’une base orthogonale et de la règle de Born, qui stipule que la probabilité d’un résultat de mesure correspond au carré de la composante du vecteur de polarisation, exprimé dans cette base. Si les bases d’Alice et de Bob ne concordent pas, le vecteur de polarisation du photon envoyé par Alice s’exprime alors comme une combinaison linéaire des vecteurs de la base de mesure de Bob. Le résultat de la mesure est alors aléatoire.
On entend souvent qu’un système quantique peut être « dans deux états en même temps », c’est-à-dire en superposition d’états. Cela signifie que si on mesure le système, on ne peut pas prédire quel sera le résultat de la mesure, mais on connaît avec quelle probabilité chacun des résultats peut être observé. Une fois la mesure effectuée, l’état de superposition est détruit et le système est dans l’état qui a été mesuré. Une nouvelle mesure donnerait le même résultat.
Considérons seulement les photons pour lesquels Alice et Bob ont utilisé la même base puisque ce sont ces photons qui servent à établir la clé. Pour détenir de l’information sur la clé, Ève doit choisir dans quelle base elle mesure les photons qu’elle intercepte. Pour un de ces photons, supposons qu’Alice et Bob utilisent la base +. Si, par chance, Ève choisit également la base +, elle mesurera à coup sûr la bonne valeur puis pourra retransmettre le bit dans un nouveau photon de même polarisation. La présence d’Eve ne peut pas être détectée dans ce cas-ci. Si elle fait plutôt sa mesure dans la base x, ce qui a une chance sur deux de se produire, Ève transmettra à Bob un nouveau photon dont la polarisation est en superposition d’états par rapport à la base +. Le résultat de la mesure de Bob est donc probabiliste et la présence d’Ève peut être détectée.