Cryptographie Quantique : le protocole BB84

Cryptographie Quantique :

La communication quantique et le protocole BB84

 

Le défi de cette vidéo était de donner quelques notions de communication quantique dans le format imposé de 3-4 minutes ! Pas la place donc pour y détailler un exemple de protocole d’échange de clé quantique comme le protocole BB84 dont j’esquisse juste le principe dans la vidéo. Voici donc quelques détails !

Non, BB84 n’est pas un lointain descendant du robot BB8, mais le nom du tout premier protocole d’échange de clé quantique qui a été imaginé en 1984 par les cryptologues Charles Bennett et Gilles Brassard. L’idée de ce protocole est de permettre l’échange sécurisé d’une clé de chiffrement, clé qui pourra être ensuite utilisée pour chiffrer un message qui sera ensuite transmis sur un canal de communication classique. Notez bien : ça n’est pas tout le message qui est transmis de façon « quantique », juste la clé de chiffrement.

Jouons avec la polarisation

Dans la vidéo, j’ai simplifié les choses en disant qu’un photon avait une polarisation horizontale, verticale, ou bien une superposition des deux dont les proportions pouvaient varier. Mais vous avez peut-être tiqué quand je parle d’horizontal et de vertical : certes, mais horizontal par rapport à quoi ? La gravité terrestre ? Qu’est-ce qu’elle viendrait faire là-dedans ?

En réalité, quand on souhaite mesurer la polarisation d’un photon, on doit se fixer ce qu’on appelle une base de mesure, sous la forme de deux axes orthogonaux situés dans le plan perpendiculaire à la direction de propagation du photon. Une manière concrète de se le représenter, c’est d’imaginer qu’un détecteur de polarisation est plan, qu’on le place perpendiculairement à la trajectoire du photon, et qu’il possède deux axes privilégiés, mais qu’on peut choisir de les faire tourner.

Il existe donc plein de façons de faire ce choix de base de mesure (une infinité en fait). Considérons donc deux bases possibles, l’une verticale/horizontale, et l’autre qui est tournée de 45° degrés. On va appeler ces bases respectivement « + » et « x ».  Et pour s’affranchir des mots « horizontal » et « vertical », on va appeler chaque axe respectivement 0 et 1.

Quand un photon vient traverser un détecteur , la réponse de la mesure sera soit 0, soit 1, désignant ainsi un des axes de la base de mesure. La notion de 0 ou 1 est donc toujours relative à la base de mesure. On va noter les 4 états avec lesquels on va jouer de la façon suivante : 0+, 1+, 0x et 1x, correspondant à la polarisation selon chacun des 4 axes.

Imaginons un photon 0+, c’est à dire d’état 0 de la base +. Si on le mesure dans la base + la réponse du détecteur sera forcément 0 (aux erreurs de mesure près).

Maintenant si on prépare un photon dans l’état 0+ et qu’on le mesure dans la base x, on obtiendra aléatoirement les réponses 0 ou 1 à 50% de probabilité. Une autre façon de le dire, c’est que l’état « pur » 0+ est un état « superposé » 50% de 0x et 50% de 1x dans la base x.

La notion d’état « pur » (on dit en fait « état propre ») ou « superposé » n’est donc pas absolue comme j’ai pu le sous-entendre, mais toujours relative à la base de mesure.

Dernier ingrédient à préciser : la projection de l’état quantique. Si vous mesurez un photon 0+ dans la base x, vous obtiendrez soit 0, soit 1. Mais à la suite de cette mesure, la polarisation sera dans l’état pur correspondant de la base x. Par exemple si vous obtenez 1, la polarisation sera changée en 1x. Et donc si vous le re-mesurez dans la base +, vous trouverez 0 ou 1 à 50/50 (et le re-changerez en 0+ ou 1+).

Tous les ingrédients sont en place, voyons le protocole BB84.

Le protocole BB84

Imaginons deux personnes souhaitant communiquer de façon sécurisée, et ayant besoin de partager une clé de chiffrement. Appelons-les Alice et Bob pour suivre la tradition en vigueur.

Pour faire un partage de clé quantique, Alice va envoyer une série de photons à Bob, et pour chacun de ces photons, elle va tirer au hasard à la fois une base (+ ou x) et un bit (0 ou 1). Chaque photon sera donc aléatoirement d’un l’un de ces 4 états : 0+, 1+, 0x ou 1x.

Bob voit arriver les photons et pour chacun d’entre eux il doit mesurer la polarisation. Mais il lui faut choisir une base de mesure. Pour chacun il la tire au hasard : + ou x, et note le résultat de sa mesure.

Si pour un photon donné, Bob a choisi la « bonne » base, c’est-à-dire la même qu’Alice, il obtiendra à coup sûr le bon bit, 0 ou 1, envoyé par Alice. Si en revanche il a choisi l’autre base, eh bien il obtiendra 0 ou 1 à 50% de probabilité. Et dans ce cas, il obtiendra le « mauvais » résultat une fois sur 2 en moyenne. Voici un exemple ci-dessous.

Une fois la transmission des photons réalisée, Alice et Bob se communiquent « publiquement » (sans canal sécurisé particulier) la liste des bases qu’ils ont utilisé pour chacun des photons. Et ils jettent de leur liste tous les photons pour lesquels les bases sont différentes (la moitié en moyenne).

Pour tous les photons restants, ils ont utilisé la même base et ont donc la certitude d’avoir les mêmes bits : 0 ou 1. Cette série de bits va constituer la clé de chiffrement qui est, de fait, connue d’eux deux.

Certes me direz-vous, mais comment est-on certains que l’échange n’a pas été intercepté ? Eh bien imaginons qu’un 3e larron (Eve, selon le choix consacré) pirate la communication et essaye de mesurer l’état de polarisation des photons pour découvrir la clé. On va se concentrer sur les photons pour lesquels Alice et Bob ont choisi la même base, puisque les autres seront de toute façon écartés. Comme Bob, Eve doit choisir à chaque photon une base de mesure + ou x. Dans 50% des cas elle va tomber juste. Mais dans les 50% restants elle choisira une base différente de la base d’Alice et Bob, par exemple elle choisit x alors qu’ils ont choisi +.

Imaginons un photon 0+ qu’Eve intercepte et mesure dans la base x. La mesure va le projeter dans l’état 0x ou 1x, et quand Bob mesurera à son tour dans la base +, il obtiendra 0 ou 1, à 50% de probabilité. S’il obtient 0 (ce qu’Alice avait envoyé), tout se passera comme si Eve n’avait pas été là, mais s’il obtient 1 il obtiendra un bit différent de ce qu’Alice avait envoyé…alors que leurs bases sont pourtant identiques !

Voici donc comment détecter la présence d’Eve. Comme je le disais au début : Alice envoie ses photons, Bob les mesure, ils comparent publiquement leurs bases et ne conservent que les cas où les bases coïncident. Mais il n’en font pas tout de suite une clé : d’abord, ils décident de sacrifier une partie de ces photons pour vérifier qu’ils ne sont pas espionnés. Pour cela ils révèlent (publiquement) les bits qu’ils ont respectivement envoyé et mesuré, et qui en principe devraient coïncider complètement. Si Eve était à l’écoute au milieu de la ligne, environ 25% de ces bits devraient différer, du fait des projections quantiques opérées par les mesures. Si c’est le cas, Alice et Bob peuvent jeter leur clé et tenter de recommencer. Si ça n’est pas le cas, ils ont l’assurance que l’échange de clé n’aura pas été intercepté.

Quelques subtilités

Un point essentiel de ce protocole, c’est le fait qu’Eve n’a aucun moyen de connaitre avec certitude l’état du photon envoyé par Alice. La seule chose qu’elle puisse faire c’est choisir une base et faire une mesure : mais si elle choisit + et obtient 0, elle n’a aucun moyen de savoir si l’état envoyé par Alice était bien précisément 0+, ou si Alice a envoyé 0x ou 1x, qui peuvent l’un et l’autre donner 0 une fois mesurés dans la base +.

Donc Eve n’a pas moyen de « connaitre exactement » le photon envoyé par Alice puis de le recréer « à l’identique » de façon à ce que Bob n’y voit que du feu. De façon générale, il existe en physique quantique un théorème dit de « non-clonage », qui dit qu’il est impossible de cloner exactement un état quantique, et c’est cela qui est à la base des protocoles d’échange de clé quantique.

Pour s’assurer de l’absence d’un espion, Alice et Bob doivent donc choisir un certain nombre de photons parmi ceux pour lesquels ils ont choisi la même base, et comparer leur valeurs de bits. Si Eve est à l’écoute, chacun de ces photons à 25% de chance de différer. Si on utilise N photons pour cela, la probabilité que Eve ne soit pas détectée est (3/4)^N. En choisissant N assez grand, on s’assure avec une grande probabilité que la communication est sécurisée.

Autre point : ce protocole protège des écoutes pirates, mais ne protège pas d’un autre type d’attaque cryptographique connu sous le nom de « man-in-the-middle ». Dans ce type d’attaque, plutôt que d’essayer d’écouter discrètement, Eve se fait passer pour Bob auprès d’Alice et pour Alice auprès de Bob.

Enfin il existe d’autres protocoles de communication quantique, le BB84 n’étant que le premier d’entre eux. Certains utilisent des états quantiques intriqués…mais en parler dans la vidéo initiale m’aurait emmené bien trop loin. J’en parlerai peut-être un jour, et en attendant je vous renvoie à ma vidéo sur l’intrication quantique !

Source :