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??¨C 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 ¨C Q#, Qiskit und Cirq ¨C 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.