Code Search for Developers
 
 
  

qubits.html from Gulus at Krugle


Show qubits.html syntax highlighted

<PRE>
L'encryption et informatique quantique
--------------------------------------

Par thabob - thabob à ground418.ath.cx
http://grounded.ath.cx/thabob/bobbytharooky.gpg
4853 EF00 32C7 E8B2 1BDF  D084 C058 ABED 379B 3A6E


[Note: cet article provient de l'édition 2002-03 de LJNB, un journal qui
n'existe plus.]


-------[ Table des matières ]

- Introduction
	+ à qui? + pourquoi?
	+ mise en garde, erreures, améliorations

- Concepts de bases
	+ concepts d'encryptions
	+ pourquoi l'encryption standard est-elle mauvaise?
	+ concepts de physique
	+ représentation quantique des donnés.

- Les clés quantiques
	+ le protocole de Bennett et Brassard


---[ Introduction ]

Tout d'abord, ce texte s'adresse principalement aux personnes passionnées de
cryptographie. Il présente une vision complètement différente de l'encryption.
Des méthodes qui semblent vouloir révolutionner la cryptographie moderne
puisqu'elles s'appuient sur des lois de physique infranchissables. Avant
d'aborder cette première partie qui est en quelques sortes qu'une introduction,
j'aimerais d'abord clarifier certaines choses.

Je suis loin de me considérer comme un expert en cryptographie, je maîtrise
beaucoup plus les notions de physique car j'ai eu l'occasion de les acquérir au
cour de ma formation académique. J'invite quiconque à me commenter ou me
corriger par email. Ces commentaires m'aideront à mieux écrire les prochaines
parties de ce texte.

Le but de l'encryption quantique est de créer une encryption imbrisable et un
schéma de distribution des clés basé sur les lois de la physique.

---[ Concepts de base ]

Voici un petit survol des concepts importants en crypto et en physique. Il
s'agit d'une vulgarisation rapide, mais essentielle pour certains à la
compréhension de ce qui va suivre. Le troisième point traite de la
représentation quantique des données et établit les fondements du "quantum
computing".

+ Concepts primaires d'encryption

L'encryption symétrique crypte un message selon une clé secrète
prédéterminée. Cette clé doit être connue par le destinataire du message pour
que celui-ci puisse décrypter ce message. L'auteur doit donc s'entendre avec le
destinataire sur la clé à utiliser. En plus que la clé doit être transmise
'secrètement' au destinataire, la sécurité de l'algorithme repose sur des
théories mathématiques non vérifiées et la rapidité des ordinateurs disponibles 
pour tester toutes les clés possibles. Distributed.net se spécialise dans cette
attaque par force brute qui consiste à tester successivement toutes les clés. 
Après avoir brisé une clef DES (56 bits) en 22 heures, ils s'attaquent présen-
tement à RC5-64.

Le principal désavantage de l'encryption symétrique est qu'il faut s'être
entendus sur la clé à utiliser avant de procéder à l'encrpytion. Je ne peux pas
envoyer un message à une personne que je connais pas, puisque je n'ai pas de 
façon sécuritaire d'échanger une clef secrète de façon sécuritaire. Une réponse
à ce cercle vicieux est l'encryption asymétrique, ou plutôt l'utilisation de 
clés différentes dans le processus d'encryption et de décryption. Elle fut 
d'abord réalisée en 1978 par trois chercheurs du MIT. L'apparition de l'encryp-
tion à clés publiques révolutionna la crypto puisqu'elle nous permet d'envoyer 
des messages cryptés sans nous être entendus sur une clé secrète. Si Bob veut 
envoyer un message à Alice, il ouvrira l'équivalent d'un bottin des Pages 
Blanches, trouvera la clé publique d'Alice et l'utilisera pour crypter le 
message. Comme Alice est la seule à posséder la clé privée, elle sera la seule 
à pouvoir lire le message. Le tout est basé sur des fonctions mathématiques dont
l'inverse est (aujourd'hui) extrêmement difficile à calculer.

Pour une introduction plus complète, je vous propose le texte écrit par bgm [1]
sur le site de mtl2600 ou encore, le bon vieux 'Cryptographie Appliquée' de
Bruce Schneier, pour avoir un peu plus qu'une introduction.

+ Concepts de base en physique

Plusieurs personnes ignorent quel modèle est approprié pour représenter de la 
lumière. L'utilisation des propriétés corpusculaires du photon permet des 
applications intéressantes principalement pour la représentation quantique des
données. Mais d'abord, comment définir le photon? Il s'agit en fait d'une 
particule oscillante se dirigeant de façon plus souvent rectiligne à une
vitesse limite 'c' (2,998*10^8 m/s). On peut utiliser un polarisateur pour polariser 
les photons linéairement et s'assurer qu'ils auront tous le même angle d'oscil-
lation. Les photons sortants seront donc tous parallèles à l'axe de transmission
du polarisateur. On pourrait comparer la polarisation à un processus de filtra-
tion qui laisse passer seulement les photons qui oscillent parallèlement à 
l'axe de transmission. Il s'agit ici d'une vulgarisation grossière d'un modèle
régi par des lois beaucoup plus complexes. Bien que la mécanique quantique soit
un sujet palpitant, ce n'est pas vraiment le sujet principal de cet article.  Je
préciserai au fur et à mesure les notions qui se rattachent plus à l'encryption.

+ Représentation quantique des donnés

Un ordinateur standard traite les donnés à l'aide de nombres binaires (bits), en
utilisant une série de 1 et de 0. Avec des bits, on peut représenter un nombre 
qui correspond à une lettre dans la chaîne ASCII. Les données quantiques 
marchent un peu de la même façon. Le qubit ou quantum bit est représenté à 
l'aide d'atomes ou de photons. On distingue deux états fondamentaux de ces 
particules: le spin up et le spin down. Comme le 1 et le 0, le spin up & down 
servent de base pour générer l'ensemble des données quantiques. C'est en 1929 
que Paul Dirac proposa un modèle correct pour quantifier le moment cinétique 
(le spin) des particules quantiques. C'est malheureusement le genre de matière
présent dans les livres de physique, mais trop souvent oublié par les profs de
cégep. :)

Une interaction intéressante de ces propriétés est celle de l'emboîtement
quantique (Quantum Entanglement, pour utiliser le terme exact). Elle est le
résultat de la superposition des états (le spin ou encore la polarisation) de
deux particules quantiques. Cette superposition amène des 'entre-états' qui sont
le résultat de l'interaction entre les deux particules. Le changement d'état
d'une particule va affecter l'état de la particule qui est en relation avec 
cette dernière.

Dans l'introduction faite par le Centre For Quantum Computation [2], ils
utilisent un excellent exemple pour expliquer la relation qu'il peut y avoir
entre les différents états et comment par le fait même, elle ne s'applique pas à
la physique quantique. Ils montrent comment l'état d'un banquier qui subit un
cambriolage (mort ou vivant) varie selon le fait que le fusil ait tiré ou pas.
Si le fusil a tiré, alors le banquier est mort. S'il n'a pas tiré, alors le
banquier est toujours vivant. Dans cet exemple, il y a corrélation entre les
deux états. Mais contrairement aux particules quantiques, il n'y a pas d'entre
deux possible. Le banquier ne peut pas être mort et vivant à la fois. C'est le
principe de superposition d'états qui rends ces entre deux possibles pour les
particules quantiques. Bien sûr, il faut supposer que le banquier ne meurt pas
d'une crise cardiaque ou encore que le voleur ne rate pas sa cible.


---[ La distribution des clés quantiques ]

Comme expliqué plus haut, l'utilisation des clés (publiques ou secrète) dans la
cryptographie moderne est incontournable. Nous avons aussi mentionné que cette
crypto est basée sur des mathématiques non vérifiées et n'importe qui peut avoir
accès au texte encrpyté. Avec l'encryption quantique, les choses fonctionnent un
peu différemment.

Caleb Lyness [3], de l'université de Cape Town, utilise une phrase tout à fait
appropriée pour exprimer cette notion: "Les donnés quantiques ne peuvent pas
être lues à moins que des informations sur l'état avec lesquelles ils ont été 
préparés soit connu. Toute tentative de lecture ou de copie des donnés sans 
l'information requise, modifiera les donnés de façon significative." Ce qui veux
dire en clair, que le texte crypté ainsi que la clé ne peuvent pas être lus ou 
interceptés. À ma connaissance, il s'agit d'une application directe de l'emboî-
tement quantique expliqué plus haut.

Il y a trois principaux cryptosystèmes quantiques pour la distribution des clés:

- Un cryptosystème qui encode pour deux observateurs qui se connaissent pas. (le
protocole de Barnett et Brassard, 1984)

- Un cryptosystème qui encode selon les propriétés de l'emboîtement quantique et
du théorème de Bell. (Proposé par Ekert en 1990)

- Un cryptosystème qui encode à partir des deux vecteurs d'états
non orthogonaux. (proposé par C.H. Bennett en 1992)

Dans cette première partie, nous toucherons uniquement au protocole de Bennett 
et Brassard. De plus, c'est le seul qui été réalisé dernièrement à une distance
de 1 km. Les deux autres seront expliqués dans la deuxième partie de ce texte.


---[ Le protocole de Bennett et Brassard ]

Ce protocole utilise des photons polarisés pour établir la communication. Nous
avons donc un émetteur et un récepteur. Par convention notre émetteur va émettre
les photons avec un des quatre angles de polarisation suivantsÊ: 0, 45, 90 ou 
135 degrés. Le destinataire pourra, à l'aide de son récepteur, mesurer l'angle
de polarisation. En utilisant les lois de la physique quantique, l'on peut
déterminer si l'angle est de 0 ou encore de 90 degrés. Ou encore, le récepteur
peut mesurer si le photon est polarisé à un angle de 45 ou de 135 degrés. Il ne
peut jamais mesurer les deux modes simultanément, de plus si l'on mesure un 
photon avec un mauvais angle de polarisation, l'on se retrouve avec une valeur 
aléatoire. Par exemple, si l'on veut mesurer la polarisation d'un photon 
polarisé à 90 (horizontalement) avec un récepteur configuré pour les polarisa-
tions diagonales, l'on va se retrouver avec une valeur aléatoire.

+++ Voici le processus détaillé en quelques étapes toutes simples:


---------------------------[ sur un canal quantique

1) Alice décide une série de nombres binaires (exemple: 1001011010111) qu'elle
envoie à l'aide de photons (en utilisant le spin up et down) avec un des quatre
angles de polarisation (0, 90, 45 ou 135).

2) Bob décide au hasard avec quelle polarisation il lit les photons. Ce que Bob
lit ne correspond pas nécessairement à ce que Alice a envoyé, puisque la valeur
des binaires que Bob lit dépend de l'angle de polarisation avec lequelle il a lu
les photons.

---------------------------[ sur un canal publique

3) Bob envoie à Alice les modes de lectures (rectiligne ou diagonale) utilisés 
pour les qubits.

4) Alice répond à Bob, par oui ou non, si les modes étaient corrects. Si c'est
le cas, alors Bob saura qu'il pourra correctement interpréter les résultats
reçus. Par exemple, si le mode est rectiligne, Bob pourra savoir si c'est 0 ou
90 degrés. Dans aucun cas Alice et Bob discutent sur le canal public des données
transmises, seulement des modes. Les données ainsi obtenues (i.e. le résultat 
des qubits interprétables) formeront la clé d'encryption. 

5) Alice et Bob échangent ensuite une petite partie de la clé pour s'assurer
qu'elle est identique. La moindre erreur voudra dire que le message a été
enregistré ou intercepté par une troisième personne.

Ils ne peuvent pas s'assurer que le signal quantique ne sera pas intercepté,
mais si cela arrive, ils pourront le détecter assez facilement. Ils utilisent
par la suite un protocole de correction des erreurs qui leur permettent de 
confirmer la fiabilité de leurs données. Malgré tout, il existe des types 
d'attaques qui peuvent mettre en péril la sécurité de ce protocole, mais ils 
ne sont pas réalisables en pratique. Elles seront discutées dans la 2e partie
de ce texte. N'hésitez pas à me contacter si vous avez des interrogations sur 
les parties moins claires ou plus subtiles de ce texte. Plusieurs principes de
mécanique quantiques sont encore vagues. Il est dur de résumer une théorie 
quand certains chercheurs ne s'entendent pas sur les détails.


---[ Références ]

[1] http://www.gulus.org/article.php?article=articles%2Fbgm%2Fintro_prog_linux.txt
[2] http://www.qubit.org/intros/entang/
[3] http://www.cs.uct.ac.za/courses/CS400W/NIS/papers99/clyness/
[4] http://www.qubit.org/intros/crypt.html
</PRE>




See more files for this project here

Gulus

Groupe d\'Utilisateurs de Linux de l\'Universit? de Sherbrooke. http://www.gulus.org/

Project homepage: http://sourceforge.net/projects/gulus
Programming language(s): PHP,Shell Script
License: other

  acces_securitaire_grappes.html
  beowulf.html
  cadrejuridique.html
  cross_compiler.html
  digests_net.html
  lexyacc.html
  metadatafs.html
  qubits.html