La cryptographie quantique
BB84 (du nom de ses inventeurs en 1984) est historiquement le premier protocole de QKD proposé.
Ce protocole utilise uniquement la polarisation de la lumière, et met en place un mécanisme général qui resservira beaucoup.
Usage de deux bases de polarisation
Vous vous rappelez ce montage (sinon révisez la polarisation) :

En choisissant correctement l'axe polarisation du cube séparateur par rapport à la polarisation du photon incident, alors on arrive à les trier.
Le choix de l'axe de polarisation est ce qu'on appelle une base de mesure.
Dans le protocole BB84, on va utiliser 2 bases (et donc deux instruments de mesures) :
- l'une sera H/V : angle nul 0° ou 180°,
- l'autre diagonale : 45° ou 135°.
Si Alice envoie un photon H et que Bob a choisi la base de lecture H/V, alors Bob détectera un "H" aux erreurs de transmission près, mais mettons ça de côté pour l'instant.
Si le photon est H (ou V) et que la base choisie par Bob est diagonale, alors Bob lira 45° la moitié du temps et 135° l'autre moitié, au hasard, tout ça parce que la rotation est pile-poil de travers.
Autrement dit, si on veut que Bob lise correctement le photon par Alice, Il faudra qu'Alice le prévienne du choix de la base de lecture, sinon ça va très mal marcher.

Le protocole BB84
- Alice va choisir une polarisation parmi 4 {0° 180° 45° ou 135°} au hasard, toute seule dans son coin.
- Bob va choisir au hasard s'il mesure une polarisation H/V ou diagonale, à chaque réception de photon. Évidemment que Bob aimerait bien faire deux mesures, mais il n'a qu'un seul photon !
Du coup, une fois sur deux en moyenne, les deux larrons auront choisi la même base et auront des résultats cohérents, et lorsqu'ils ne seront pas alignés, le résultat sera "au hasard" et souvent faux.
Ni Alice, ni Bob ne connaissent la sélection faite par l'autre au moment de l'envoi et donc aucun ne savent quels sont les "bons photons".
Tout ça pour enquiquiner Eve qui pourrait écouter au milieu, et du coup ne pourra deviner quelle est la base utilisée, on va voir ça.
Décomposition du protocole BB84
Alice envoie des photons polarisés parmi 4 possibilités (2 choix par base), au hasard, et note soigneusement ce qu'elle a envoyé :

À réception d'un photon, Bob choisit au hasard une base de mesure :

Bob note tout aussi soigneusement le résultat de la mesure. Pas de bol, la première mesure n'est pas bonne car Bob n'a pas choisi la bonne base, mais il ne le sait pas encore :

Alice continue d'envoyer des photons, et Bob mesure, parfois c'est bon, parfois pas, mais Bob ne le sait pas encore :

Pour savoir quels sont les bonnes mesures, Bob envoie un SMS à Alice :



On notera que la valeur du bit mesuré n'est jamais révélée au public encore heureux, qui sait juste que la mesure est bonne.

À la fin, Alice et Bob partagent une séquence de bits aléatoires commune : c'est leur secret, ils en dériveront une clé de chiffrement ou ce qu'ils veulent, c'est un autre problème non quantique.
Et le quantique là-dedans ?
Si Alice tente d'écouter la ligne :
- Elle devra donc mettre un détecteur. Sauf que la lecture du photon va dézinguer sa fonction d'onde, autrement dit, elle ne pourra pas faire 2 mesures sur le même photon. La physique quantique lui interdit !
- Elle ne pourra pas non plus cloner le photon ET le lire, ce n'est pas possible, le théorème de non-clonage de la physique quantique lui interdit !
- La voilà donc réduite à faire un choix. Comme personne ne connait le choix de Bob avant que le photon n'arrive chez lui, elle ne sait pas lequel choisir : H/V ou diagonal ? Cruel dilemme. Elle tente donc sa chance, et elle aura une chance sur 2 de se ramasser. Comme Bob du reste.
- C'est bien joli d'écouter aux portes, mais il faudrait penser à ne pas se faire détecter alors Eve renvoie un photon, le même que celui qu'elle aura lu ou un autre peu importe.

Sacrifier des bits
Du coup, pour détecter si Eve est en ligne, Alice et Bob vont sacrifier une partie des bits échangés, en les communiquant en clair pour vérifier les résultats.

Sur l'exemple construit, Eve n'a vraiment pas de bol : au second photon, elle s'est vautrée, et en plus Bob n'a pas rectifié le tir -cela aurait pu arriver, une chance sur 2.

Et Eve se fait débusquer. On peut facilement calculer qu'Eve a 12.5% de chance d'être détectée (il y a 8 cas).
Il faut donc sacrifier une partie suffisante des bits retenus pour avoir une probabilité élevée de détecter la présence d'Eve.
Déjà qu'on balance la moitié des bits transmis, il faut en plus en sacrifier, il faudra en envoyer un bon petit paquet pour avoir une série de bits d'une longueur suffisante pour pouvoir construire une clé de chiffrement secrète... on doit pouvoir mieux faire, et c'est effectivement le cas pour d'autres protocoles.
Il est crucial qu'Eve ne puisse pas :
- Connaitre la base de mesure choisie par Alice et encore moins l'angle de polarisation du photon, bien sûr
- Connaitre la base de mesure de Bob.
On mettra dans un coffre-fort le générateur aléatoire d'Alice pour choisir le photon envoyé.
Et on mettra aussi dans un coffre-fort le système de lecture de Bob, et/ou on s'arrangera avec les temps de propagation pour que Bob fasse le choix de la base uniquement lorsque le photon est arrivé chez lui, ce sera plus sûr.
Une fois la mesure réalisée, le choix de la base de mesure peut être rendu public, car c'est fini.
Rien n'est parfait
Le monde réel n'est pas aussi précis :
- Il faut bien aligner ses bases de mesure
- On sera limité par la longueur de la fibre : décohérence, biréfringence de la fibre, rotation de la polarisation par la fibre
- La polarisation n'est pas forcément le meilleur mode pour transmettre une info sur une fibre
- Les sources de photon unique émettent parfois deux photons là où en voudrait qu'un : BB84 est sujet aux attaques dites PNS Photon Number Splitting.
- ...
On diminuera les chances de succès d'Eve, à l'aide d'un nombre suffisamment grand de bits de contrôle.
Exemples de réalisation
Un exemple de réalisation, où on voit qu'Alice a ajouté du matériel pour vérifier le fonctionnement :

PBS : BS polarisé, pour sélectionner H ou V
EOM: le truc qui oriente la polarisation
Souvent, ces schémas sont difficiles à lire pour le commun des mortels, et là, il est facile !

Ce n'est pas bien fréquent que ce soit si clair dans les articles scientifiques.
Protocole six-states BB84
C'est le même protocole que BB84, mais en utilisant 3 bases au lieu de deux, donc 6 états possibles au départ. L'avantage principal est qu'Eve produira encore plus d'erreurs, forcément.
Je ne le détaille pas, il n'y a rien de spécial là-dedans, c'est juste un raffinement. Et il en existe certainement d'autres.
Voilà, Alice et Bob ont en commun une suite de bits aléatoires qui est totalement secrète.
Ensuite, ce sont des traitements classiques.