Quantencomputer fordern die Informatik heraus
Lange pr?gten Theorie und Hardware die Entwicklung der Quantencomputer. Nun rücken zunehmend Fragen der Programmierung, Software und Sicherheit in den Vordergrund.
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, die 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:
Dieser Text ist in der Ausgabe 21/03 des ETH-?Magazins Globe erschienen.
Zu den Personen
Kenneth Paterson ist Professor für Computer Science am Institut für Informationssicherheit, wo er die Gruppe für Angewandte Kryptografie leitet.
Martin Vechev ist Professor am Institut für Programmiersprachen und -systeme und leitet die Forschungsgruppe The Secure, Reliable, and Intelligent Systems Lab (SRI). Benjamin Bichsel ist Doktorand in dieser Forschungsgruppe.