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 10
38 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
|
0°
|
90°
|
0°
|
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 I
2C-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