Theorie

In dem Versuch steckt sehr viel Physik und Informatik, so dass hier neben den eigendlichen Versuchsgrundlagen auch die Begriffe der Polarisation, die Kryptografie und das BB84-Protokoll behandelt werden.

Polarisation von Licht

Neben der Wellenlänge (und damit der Farbe) hat Licht auch eine für uns unsichtbare Eigenschaft, die Polarisation. Eine normale Glühlampe sendet Licht nicht nur in alle Richtungen aus, die einzelnen Wellen kommen auch aus allen Richtungen. Könnten wir die Wellen sehen und blickten wir von Vorne auf die uns zukommenden Wellen, so wären alle Wellen in einem 360°-Kreis gleichmässig verteilt. Ein solches Licht bezeichnet man als unpolarisiert (zur Vereinfachung sind nur einige Möglichkeiten eingezeichnet).



Laser erzeugen dagegen ein polarisiertes Licht. In diesem Fall gibt es nur eine Ausbreitungsrichtung. Mit Hilfe von Polarisationsfolien können wir nachweisen, dass Licht polarisiert ist. Betrachten wir das Laserlicht durch eine solche Folie, so sehen wir, dass beim Drehen der Folie, das Licht von  maximaler Helligkeit auf (idealerweise) Dunkelheit sich verändert. Zwischen maximaler Helligkeit und Dunkelheit liegt ein Winkel von 90°.

Quarzglas mit der Dicke von der Hälfte der Lichtwellenlänge (632nm!) hat eine interessante Eigenschaft. Beim Drehen eines solchen dünnen Quarzglasplättchen dreht sich auch die Polarisationsrichtung mit. Da ein solches Plättchen viel zu zerbrechlich wäre, wird es auf eine Glasplatte aufgebracht. Ein solches Plättchen wird als lambda/2-Waveplate bezeichnet. In unserem Versuch werden wir diese benötigen.

Klebt man zwei Prismen zu einem Würfel zusammen und schickt Licht durch eine der horizontalen Flächen, so teilt sich der Strahl in zwei Teilstrahlen auf. Durch eine geeignete Beschichtung kann man erreichen, dass in gerader Richtung nur horizontal polarisiertes Licht durchgelassen wird und in der um 90° gekippten Richtung nur vertikal polarisiertes Licht. Ein solcher polarisierender Strahlteilerwürfel wird als PBS-Cube (polarised-beam-splitter-cube) bezeichnet. Diesen werden wir auch in unserem Versuch einsetzen.



Grundlagen der Kryptografie

Kryptografie ist die Wissenschaft des Verschlüsselns von Nachrichten (und Daten). Jeder hat sicherlich schon mal ganz geheime Briefe geschrieben, indem er die Buchstaben des Alphabets vertauscht hat. Hat der Empfänger nicht den richtigen Schlüssel, so kann er die Nachricht erst mal nicht Lesen. Durch ausprobieren kann er aber mit einigem Geschick trotzdem wieder die Nachricht entschlüsseln. Heute würde man das als Hacken bezeichnen. Vom Prinzip hat sich an dem Verfahren nichts geändert, nur werden heute die Schlüssel digital erzeugt.
Entscheidend für die Sicherheit ist die Schlüssellänge. Ein 4bit-Schlüssel bietet gerade einmal 16 Möglichkeiten, die kann man noch per Hand ausprobieren. Ein 128bit-Schlüssel, der heute Standard ist, bietet aber schon 3,34 1038 Möglichkeiten, dafür brauchen selbst Hochleistungsrechner Monate oder sogar Jahre.
Ein Lauscher muss dabei im Prinzip alle Möglichkeiten ausprobieren um die Daten lesen zu können. Geht man davon aus, dass ein Computer pro Sekunde 1 Milliarde Schlüssel testen kann, dann benötigt man für
32bit
64bit
128bit

4.29s
585 Jahre
1,08 1022 Jahre


Bei 128bit wären das 12 Zehnerpotenzen länger als das Alter des Universums!

Die Schlüssellänge ist allerdings ein Hase-Igel-Problem. Mit immer leistungsfähigeren Rechnern bzw. ganzen Rechnerfarmen wie sie die NSA benutzt, dann kann man immer schneller die Schlüssel knacken, also müssen die Schlüssel immer länger werden usw.
Es gibt aber vom Prinzip her unknackbare Schlüssel und zwar solche, die genau ein mal pro bit verwendet werden.Die Schlüssellänge geht dann gegen unendlich und damit steigt die Anzahl der Möglichkeiten ebenfalls gegen unendlich. Ein solcher one-time-pad ist daher absolut sicher. Das Problem ist aber, dass der Schlüssel sicher zum Empfänger gelangen muss und ein potentieller Schlüssellauscher enttarnt werden muss. Die mit einem one-time-pad verschlüsselte Nachricht kannn ganz offen ohne Risiko verbreitet werden, im Prinzip für jeden sichtbar im Internet stehen, keiner wird sie jemals entschlüsseln können aus der Empfänger mit dem richtigen Schlüssel.
Bei der Erzeugung und sicheren Übertragung des Schlüssels hilft uns die Quantenphysik. Daher wird unser Verfahren als Quantenkryptographie bezeichnet.

Die Verschlüsselung (V) und auch die Entschlüsselung erfolgt durch binäre Addition von Datenbit (D) und Schlüsselbit (S).


D
0
1
0
1
S
0
0
1
1
V
0
1
1
0

Wie man an der Tabelle oben sieht, kann man mit D+S=V und V+S=D verschlüsseln und entschlüsseln.


Das BB84-Protokoll

Benutzt man polarisiertes Licht so kann man damit Schlüsseldaten übertragen. Man benutzt 2 Basen, die H/V-Basis, die aus horizontal und vertikal polarisiertem Licht besteht und die X-Basis, die jeweils um 45° gekippten Zuständen besteht.




H/V-Basis
X-Basis
0° = "0"
90° = "1"
-45° = "0"
+45° = "0"




Der Sender ALICE stellt mit seinem Polarisationsdreher einen der 4 oben abgebildeten Zustände ein. Damit wählt er automatisch auch einen logischen Wert aus.

Beispiel: H/V-Basis, 90° = Logisch "1"

Der Empfänger BOB hat keine Information, welche Basis ALICE gewählt hat. Deshalb wählt er willkürlich eine Basis aus. Je nach Wahl erhält BOB folgende Ergebnisse:

ALICE

90°

90°
-45°
45°
-45°
45°
BOB
 H/V 0°
 X 45°
H/V 0°
X 45°
Schlüssel
0
1
x
x
x
x
0
1

Das "x" bedeutet, dass bei unserem Experiment sowohl eine logische "0" als auch eine logische "1" angezeigt wird. Arbeitet man mit einzelnen Photonen wird ein zufälliger Wert erzeugt. Stimmen die Basen nicht überein, sind die Messwerte von BOB also unbrauchbar.

Da ALICE und BOB nicht wissen, welche Basis sie gewählt haben, müssen sie sich darüber noch austauschen. Das kann öffentlich geschehen, da die Basis nichts über den Bitwert verrät. ALICE und BOB streichen alle Werte, wo die Basis nicht übereinstimmt.

Gibt es in der Leitung einen Lauscher EVE, so arbeitet er genauso wie BOB. Er muss aber die Ergebnisse weiterleiten und hat keine Information über die Basenwahl. Da bei zwei Basen EVE eine 50% Chance hat, die richtige zu wählen und gleichzeitig bei unklaren Werten eine 50% Chance, den richtigen zu wählen, ergibt sich im Endeffekt ein Fehler von 25% bei der Übertragung. Tauschen also ALICE und BOB die Basen aus und überprüfen gleichzeitig die Messergebnisse und finden dabei einen Fehler von 25%, so ist der Lauscher EVE enttarnt. Aber Achtung! EVE reicht ein kleiner Teil des Lichtes aus um zu lauschen, ohne enttarnt zu werden. Erst wenn man einzelne Photonen verwendet ist das Verfahren sicher. Da Einzelphotonen-Detektoren sehr teuer sind, verzichten wir bei unserem Versuch auf absolute Sicherheit. An dem Messverfahren ändert das aber nichts.



Technische Umsetzung

Der Sender wurde durch einen Mikrocontroller der Firma ATMEL Attiny2313 realisiert, der die geforderten 100µs langen Laserpulse mit ausreichender Genauigkeit liefern kann. Bei der Software wurden gerade mal 10% des vorhandenen Speichers ausgenutzt, der Rest steht für spätere Weiterentwicklungen zur Verfügung. Optional sind zusätzlich eine ISP bzw. SPI und eine RS232-Schnittstelle vorhanden. Diese kann auch als I2C-Bus genutzt werden. Somit ist eine Vernetzung mit einem PC oder mit anderen Mikrocontrollern kein Problem. Die Software kann jederzeit über die ISP-Schnittstelle mit einem handelsüblichen ISP-Programmiergerät ausgetauscht werden.

Der Empfänger besteht aus einer Photodiode und einem zweistufigen Operationsverstärker, der die Änderung der Helligkeit an der Photodiode verstärkt und mit einem Bandpass-Filter Dauerlicht bzw. langsame Helligkeitsänderungen ausblendet. Der Operationsverstärker liefert ein Spannungssignal, welches mit einem Komperator mit einem Sollwert verglichen wird. Der Komperator ist schon in einem Attiny13 implementiert. Wird der Sollwert erreicht bzw. überschritten, kann dies mit der Software ausgewertet werden. Beide Operationsverstärker und auch die beiden Mikrocontroller sind auf einer Platine integriert, so dass die Bauweise kompakt bleibt.

Inzwischen gibt es ein Update von Sender un Empfänger. Der Sender benutzt hier den Attiny13, der völlig ausreichend für die Aufgabe ist. Auf eine RS232 und eine I2C-Schnittstelle wurde verzichtet, die Software kann aber über ISP aktualisiert werden. Bei dem Empfänger wurde der OP TL072 gegen einen modernen Rail-toRail OP ersetzt und ein Attiny261A eingesetzt. Der Attiny261A verfügt über zwei Komperatoren und die Rail-to-Rail OPs brauchen keine +/-15V Spannungsversorgung, sondern können mit 5V direkt betrieben werden.

BASCOM-Programme