Programmierung, Software und Sicherheit

Quantencomputer fordern die Informatik heraus

Uhr
von Florian Meyer, ETH (lha)

Lange prägten Theorie und Hardware die Entwicklung der Quantencomputer. Nun rücken zunehmend Fragen der Programmierung, Software und Sicherheit in den Vordergrund.

(Source: Michael Dziedzic / Unsplash)
(Source: Michael Dziedzic / Unsplash)

Lange Zeit waren Quantencomputer ein Ansinnen von Physikern. Zu Beginn der 1980er-​Jahre fragte sich einer ihrer bekanntesten Vertreter, Richard Feynman (1918  – 1988), ob man die Phänomene der Quantenphysik überhaupt je mit einem klassischen Computer werde effizient berechnen und simulieren können. Die Rechengeschwindigkeit digitaler Computer reiche nicht, um die typischen Quanteneffekte, die innerhalb von Atomen oder Molekülen oder zwischen Elementarteilchen aufträten, innert nützlicher Frist zu berechnen und zu simulieren, stellte er fest.

Als Erster schlug Feynman damals vor, einen Quantencomputer zu bauen, der nicht auf digitaler Codierung beruht, sondern direkt die Quantensysteme nachahmt. Seine Schlüsselidee, die bis heute die Entwicklung von Quantencomputern beflügelt, war, dass sich gewisse Eigenschaften der Quantenmechanik für die Computerberechnungen nutzen liessen. Das betrifft namentlich die Tatsache, dass sich Quantenzustände von Teilchen überlagern oder verschränken können. Zum Beispiel nutzen Quantencomputer das Überlagerungsphänomen aus: Anders als digitale Computer rechnen sie nicht mit Binärcodes oder Bits, die Information nur als 0 oder 1 verarbeiten, sondern mit Quantenbits oder Qubits. Der entscheidende Unterschied ist, dass Qubits pro Rechenschritt ausser 0 oder 1 einen dritten Zustand realisieren können, in dem sich die beiden überlagern. Dadurch lassen sich Berechnungen für bestimmte Anwendungen beschleunigen.

Quantencomputer bergen das grosse Versprechen, dass sie in Zukunft bestimmte Probleme effizient lösen werden, die klassische Rechner nicht innert nützlicher Frist berechnen. Man spricht auch von "Quantenüberlegenheit". Abschliessend bewiesen ist die Quantenüberlegenheit noch nicht, in jüngster Zeit sind jedoch wichtige technische Fortschritte erzielt worden: Google schaffte es 2019, erstmals die Quantenüberlegenheit in einem konkreten Rechenbeispiel umzusetzen. Ihr Quantencomputer benötigte gemäss eigenen Angaben nur 200 Sekunden für eine Berechnung, für die ein herkömmlicher Computer rund 10'000 Jahre gebraucht hätte.

 

Sicherheitsschlüssel knacken

Noch sind die Quantencomputer zu klein und zu fehleranfällig, um die Digitalrechner ernsthaft in Bedrängnis zu bringen. Selbst Googles Quantencomputer bewies seine Überlegenheit erst für ein hochspezielles Problem. Dennoch haben die Quantentechnologien nun einen Stand erreicht, bei dem sich längst nicht nur Physikerinnen und Physiker an ihrer Weiterentwicklung beteiligen. Viele Informatikerinnen und Informatiker seien heute "quantenneugierig", sagt zum Beispiel ETH-​Informatikprofessor Kenneth Paterson. Er forscht im Gebiet der Kryptografie und entwickelt Ansätze, wie sich Information sicher verarbeiten, übermitteln und speichern lässt. «In meinem Forschungsgebiet sind wir 'quantenbewusst', denn seit zehn Jahren ist Quantenrechnen ein wichtiges Thema der Kryptografie", fährt Paterson fort: "Sobald man einen hinreichend grossen und zuverlässig rechnenden Quantencomputer hat, ist die gesamte gegenwärtig im Internet verwendete Kryptografie nicht mehr sicher, denn mit Quantenrechnen lassen sich Sicherheitscodes knacken."

Die Verschlüsselungs-​ und Sicherheitstechniken, die heute im Internet zum Einsatz kommen, wenn sich jemand in sozialen Netzwerken einloggt, in Onlineshops etwas kauft, E-​Banking betreibt oder E-​Mails verschickt, beruhen auf Verfahren der sogenannten ganzzahligen Faktorisierung und damit zusammenhängenden Problemen.

Unter ganzzahliger Faktorisierung versteht man die Zerlegung einer grossen, zusammengesetzten Zahl in einzelne Teiler. Diese Zerlegung ist enorm rechenaufwändig, weshalb es bis heute keinen Algorithmus gibt, also keine Rechenvorschrift, mit der ein digitaler Computer eine Faktorisierung effizient berechnen kann. Doch 1994 gelang es dem Mathematiker Peter Shor, einen speziell für Quantencomputer verfassten Algorithmus zu formulieren, der die Teiler einer zusammengesetzten Zahl eindeutig schneller findet als klassische Algorithmen. Die Ideen von Shor können verwendet werden, um die anderen Formen der Kryptografie mit öffentlichen Schlüsseln zu knacken, die heute verwendet werden.

Auf den kleinen, fehleranfälligen Quantencomputern von heute ist der Shor-​Algorithmus noch nicht umsetzbar. Im Prinzip ist jedoch klar, dass jeder Quantencomputer, der leistungsstark und zuverlässig genug ist, um den Shor-​Algorithmus laufen zu lassen, die Faktorisierungen innert nützlicher Frist berechnen kann. Von dem Moment an, in dem das der Fall sein wird, sind Verschlüsselungen mittels Faktorisierung und ähnliche verbreitete Verfahren unsicher. Das betrifft zwar nicht die gesamte Kryptografie. Die Sicherheit von Verfahren, die Information ausschliesslich mit Geheimschlüsseln schützen, wird davon nicht ernsthaft tangiert. Gefährdet sind die Public-​Key-Verschlüsselungsverfahren, die Information mit einem öffentlichen Schlüssel schützen. Über 90 Prozent des Internetverkehrs sind damit gesichert.

 

Ideen übersetzen

Um Sicherheitsschlüssel zu knacken, sagt Paterson, bräuchten Quantenrechner jedoch Millionen von Qubits. An der ETH Zürich verfügen die Quantenrechner derzeit über bis zu 17 Qubits, und rein entwicklungsbezogen befindet sich die Forschung an der Schwelle zu einer Phase der mittelgrossen, immer noch fehleranfälligen Quantenrechner mit 50 bis 100 Qubits. "Die heute begrenzte Rechenleistung der Quantencomputer könnte plötzlich sehr schnell überbrückt werden. Ausserdem dauert es mindestens zehn Jahre, um die aktuelle Public-​Key-Kryptografie zu verändern. Darum bereiten wir uns jetzt vor", erklärt Paterson, dessen Gruppe einen neuen Quantensicherheits-​Algorithmus mitentworfen hat, der in einem laufenden weltweiten Wettbewerb zur Auswahl neuer, quantensicherer Algorithmen geprüft wird.

Benjamin Bichsel wird manchmal gefragt, ob seine Forschung vielleicht umsonst war, wenn sich eines Tages herausstellt, dass es grosse und zuverlässige Quantencomputer gar nie geben werde. Bichsel antwortet: "Das ist nicht die Frage. Ich frage mich vielmehr, was wir machen, wenn Quantencomputer wirklich gut funktionieren, wir aber nicht wissen, wie man sie effizient programmiert." Er arbeitet in der Forschungsgruppe von Martin Vechev, der die erste intuitive, höhere Programmiersprache für Quantencomputer entwickelt hat.

Um das Potenzial der Quantencomputer auszuschöpfen, braucht es eigene Programmiersprachen. "Quantenprogrammiersprachen spielen eine entscheidende Rolle, um Ideen in Anweisungen zu übersetzen, die ein Quantencomputer ausführen kann", schrieben Microsoft-​Forschende 2020 in der Wissenschaftszeitschrift Nature, unter ihnen auch Bettina Heim und Matthias Troyer, die vormals am ETH-​Institut für Theoretische Physik forschten. Heute lehnen sich die Quantenprogrammiersprachen stark an die Hardware an. Solche "Hardwarebeschreibungssprachen" fokussieren auf das Verhalten der Schaltkreise und deren Optimierung. Die Programmiersprache Silq hingegen, die Martin Vechevs Gruppe entwickelt hat, abstrahiert von den technischen Details.

Seit der Lancierung von Silq ist gut ein Jahr vergangen. Neben der Eleganz und inneren Folgerichtigkeit, die Silq als erste höhere Quantenprogrammiersprache auszeichnet, erhielten Martin Vechev und sein Team viel Anerkennung für ihren innovativen Beitrag zur Fehlerreduktion beim Quantenrechnen. In einem weiteren Artikel erwähnte Nature explizit, dass in Silq die sogenannte "Uncomputation" automatisch erfolgt, "anstatt die Programmierenden zu zwingen, diese mühsame Arbeit manuell zu erledigen". Jeder Computer berechnet eine Aufgabe in mehreren Zwischenschritten. Dabei entstehen Zwischenergebnisse, sogenannte temporäre Werte. Um den Arbeitsspeicher zu entlasten, werden diese Werte bei klassischen Computern automatisch entfernt. Bei Quantencomputern ist diese Entsorgung wegen der Quantenverschränkung nicht so einfach: Die früheren Rechenwerte können mit den aktuellen in Wechselwirkung treten und die korrekte Berechnung stören. Entsprechend wichtig ist die automatische Entfernung der temporären Werte für das Quantenrechnen.

 

Computer ganzheitlich verstehen

Ob sich Silq gegenüber den Quantenprogrammiersprachen der Technologiekonzerne Microsoft, IBM und Google – Q#, Qiskit und Cirq – behaupten kann, steht noch auf einem unbeschriebenen Blatt. Immerhin ist es Vechevs Team gelungen, die automatische Uncomputation auf Qiskit zu übertragen. "Es ist sehr ermutigend, dass sich zentrale Konzepte von Silq auf andere Sprachen übertragen lassen. Zumal die automatische Uncomputation das Quantenrechnen mit Qiskit effizienter macht", sagt Martin Vechev.

Langfristig betrachtet geht es weniger darum, dass Informatiker Sprachen und Software schreiben für Hardware, die Physiker entwickeln, als vielmehr darum, Programmiersprachen Hand in Hand mit Quantenalgorithmen, Quantenhardware, Quantensoftware, Quantenanwendungen und Workflows zu entwickeln. "Damit Quantenrechnen wirklich Realität wird, müssen wir diesen neuen Rechenansatz in ganze Computersysteme integrieren, in denen viele Komponenten zusammenarbeiten, um bestimmte Probleme effizient zu lösen", schliesst Paterson. Martin Vechev ist überzeugt: "Die ETH Zürich hat einen Vorteil, weil sie Quantenphysik, Quantentechnologie und Quanteninformatik unter einem Dach vereint."

Dieser Beitrag erschien zuerst bei der ETH.

 

Um die Frage danach was ein Quantencomputer genau ist und welche Vorteile bringt zu beantworten, stattete die Redaktion Forschenden von IBM und Zurich Instruments einen Besuch ab.

Webcode
DPF8_231472