 Herzlich Willkommen zum nächsten Vortrag zum Post-Quantensicherheit. Roland Groll hat am KIT Informatik studiert mit den Ausrichtungen Algorithmen-Technik und Kryptologie und ist der Kryptologie treu geblieben und forst jetzt am Forschungszentrum Informatik am Kompetenzzentrum IT-Sicherheit. Dort stellt er sich die Fragen, was ist eigentlich sicher, was macht Sicherheit aus und da wir ja inzwischen wissen, dass mit den Quantencomputern die Publici-Kryptografie, wie wir sie kennen mit RSA und elliptischer Kurven-Kryptografie, nicht mehr sicher sein wird, stellt sich für uns die Frage, was kommt danach? Im Vortrag werden wir gleich viel darüber erfahren und wenn es Fragen gibt, so sollten wir die am Ende des Vortrags stellen und jetzt bitte ich euch ganz herzlich, Roland, willkommen zu heißen. Ja, guten Tag. Vielen Dank für das Erscheinen. Ich habe mich da, ich habe ja studiert am KIT-Kryptografie und habe mich dann gefragt, okay, nach dem Studium, was ist jetzt überhaupt in der Zukunft auch noch sicher und was können da überhaupt diese Quantencomputer anstellen? Da habe ich also für mich versucht, diese Frage so zu beantworten, dass ich sie auch verstehe. Ich habe ja keine Physik studiert, deswegen habe ich auch sehr wenige Kenntnisse in der physikalischen Quantenmechanik. Also was jetzt vor Ton angeht und wie man die genau misst, das weiß ich nicht. Womit ich aber umgehen kann, sind die mathematischen Modelle, die da verwendet werden und wie man die am besten erklären kann, das habe ich versucht, in diesem Vortrag aufzuzeichnen und euch dann zu erzählen. Im Anschluss gibt es dann noch etwas über das momentan laufende Standardisierungsverfahren, also was wird gerade tatsächlich gemacht, damit in Zukunft auch die Kryptografie sicher bleibt. Am Anfang steht man also da, wie diese Katze und fragt sich, oh je, was passiert hier überhaupt? Was wollen diese bösen Wissenschaftler mit mir machen und dieser Schrödinger guckt mich schon so böse an, vielleicht sollte ich mich von ihm fernhalten, vor allem wenn er eine Kiste irgendwo hat. Ziel ist es jetzt, dass ihr nicht mehr so konfuß seid wie diese Katze, sondern dass ihr mehr über die Quantencomputer wisst und wie man das Problem der Quantencomputer löst. Dazu habe ich noch mal ein paar Zitate mitgebracht, das erste von Feynman. Ich denke, man kann mit Sicherheit sagen, dass niemand die Quantenmechanik versteht. Ist auch schon relativ altes Zitat mittlerweile, ist man auch in der Didaktik weiter und man hat ein besseres Gefühl für die Quantenmechanik, aber so richtig hundertprozentig intuitiv verstehen, das ist und bleibt auch noch für längere Zeit vermutlich schwierig. Dann, wenn ich für jemanden von Schrödinger das Katze sprechen höre, greife ich nach meinem Gewehr von Stephen Hawking. Da kriegt man ein bisschen Angst, wenn Physiker dann einen direkt erschießen wollen, wenn man versucht mit Katzen zu argumentieren und Sachen zu erklären. Allerdings, das Hawking-Zitat, die Quelle habe ich nicht so genau gefunden, deswegen habe ich noch mal das Abraham Lincoln-Zitat an den Schluss hier gestellt. 80 Prozent der Zitate im Internet sind freier gefunden. Ein weiteres Zitat, was mir auch damals, als ich viel Terry Pratchett las, was ich auch immer noch tue, was ich als sehr wichtig fand, ist, die Modelle der Wissenschaft sind nicht wahr und eben darum sind sie nützlich. Sie erzählen einfache Geschichten, die unser Geist erfassen kann. Es sind Lügen für Kinder, einfach Geschichten für den Unterricht und darum keinen Deutsch schlechter. Der Fortschritt der Wissenschaft besteht darin, dass immer klügeren Kindern immer überzeugende Lügen erzählt werden. Ich hoffe, ihr seid nicht beleidigt, wenn ich hier euch als Kinder quasi darstelle. Aber da die Quantenmechanik so kompliziert ist, brauche ich einfach ein paar Vereinfachungen und die Vereinfachungen gehen tatsächlich soweit, dass formal auch nicht alles korrekt ist, was später kommen wird im Vortrag. Aber diese Vereinfachungen sind halt dem Fakt geschuldet, dass ich möglichst verständlich erzählen will, wie Quantencomputer eben das RSA-Kryptografieverfahren brechen. Als Übersicht am Anfang möchte ich euch erzählen, wie RSA funktioniert bzw. wo es drauf aufbaut. Dann möchte ich euch Choresalgorithmus vorstellen, der eben RSA bricht. Choresalgorithmus hat zwei Teile. Einmal den klassischen Teil, den kann man noch so erklären und nachvollziehen, ohne dass man sich mit Quantencomputern auskennt. Im quantischen Teil hingegen braucht man das Wissen über Quantencomputer, was ich davor anstellen werde. Und nachdem wir dann festgestellt haben, dass RSA kaputt ist, kann man sich die Frage stellen, wie lösen wir jetzt das Problem, was für Verfahren kann man verwenden, die auch in Gegenwart von Quantencomputern sicher sind. Und da geht dann der zweite große Teil des Vortrags drüber. Wie funktioniert überhaupt Verschlüsselung? Stellen wir mal vor, ich möchte in der physischen Welt, also ohne Computer, versteckt eine Nachricht an Bob verschicken. Ich bin jetzt also Alice und habe eine Nachricht, die ich aufschreibe, in einem Umschlag stecke. Der Umschlag selbst ist ja jetzt noch nicht geschützt. Da kann jeder aufmachen und lesen. Ich lasse mir dann von Bob eine Wahlurne schicken zum Beispiel. Diese Wahlurne, da kann ich den Brief reinstecken, aber ohne Schlüssel kann ich den Brief nicht mehr rausholen. Ich packe also den Brief in diese Kiste und jetzt kann niemand ohne den Schlüssel an die Nachricht gelangen. Nachdem die Kiste jetzt zu Bob transportiert wurde, kann er sich den Schlüssel nehmen, schließt das Schloss auf und kann dann die Nachricht rausholen und lesen. So könnte man das in der physischen Welt machen. Ohne den Schlüssel zu haben wird es schwierig, die Nachricht zu lesen. Es sei denn, man wendet viel Gewalt an. Und jetzt sind wir aber nicht mehr in der physischen Welt, wenn wir zum Beispiel einen Bob, der in New York wohnt und ich, der in Karlsruhe wohnt, eine Nachricht übermitteln will, dann braucht das eine ganz schön lange mit so einer Kiste. Hat da nicht mal jemand etwas erfunden, dass man Nachrichten schnell ans andere Ende der Welt übertragen kann. Das ist das Internet. Wenn ich jetzt über das Internet Daten verschicke, brauche ich allerdings ein paar mathematische Tricks, um das verschlüsselt zu machen. Diese mathematischen Tricks kann man als Einwegfunktion erklären. Wir starten links und haben eine Funktion, die leicht etwas in was anderes umwandeln kann. Diese Rückumwandlung, der untere Pfeil, ist allerdings schwer ohne die geheimen Information. Also der obere Pfeil, der leichte Pfeil, wäre im vorherigen Bild in dem Brief in die Wahlurne stecken. Sehr leicht, der untere Pfeil schwer ohne geheimen Information, mit geheimen Information. Ich habe den Schlüssel, ich kann einfach die Kiste öffnen und den Brief lesen. Ohne geheimen Information. Ich brauche eine Brutforz-Attacke, die wird natürlich immer schwieriger. Deswegen so funktionieren im Prinzip kryptografische Probleme in eine Richtung leicht, in die andere Richtung schwer. Ein solches Problem habe ich auch mal mitgebracht. Und zwar das Problem der Faktorisierung. Da gibt es den leichten Teil, nämlich die Multiplikation. Als kleine Denksportaufgabe könnt ihr ja mal versuchen, 12 mal 6 zu multiplizieren. Kurze Rückmeldung, wer kriegt das schnell so im Kopf raus? Ja, doch schon einige. Jetzt eine ganz andere Zahl, die 91, die könnt ihr ja mal versuchen zu faktorisieren. Wer kriegt das so schnell hin, wie das Multiplizieren von 12 mal 6? Einer kriegt es genauso schnell hin, vielleicht noch so ein paar andere. Jetzt erhöhen wir allerdings die Problemgröße und sind bei der Zahl 2491. Das wird dann schon schwieriger. Und wenn man mit den Zahlen immer weiter hoch geht, wird das Faktorisieren immer schwieriger. Und dieses schwieriger werden, das haben wir auch bei Computern so. Das heißt, die Computer müssen viel rumprobieren, um Zahlen zu faktorisieren. Multiplizieren geht allerdings leicht. Diese Faktorisierung ist also ein sehr gutes Beispiel für ein kryptografisches Problem. N, gleich P mal Q. P und Q sind rot, weil wir die nicht kennen, aber gerne herausfinden wollen würden. Und P und Q herausfinden, wenn man das könnte, dann hätte man damit auch RSA gebrochen. Und oh Gott. Ja, ich wollte noch schauen, ob ich Adelmann richtig geschrieben habe. Okay, RSA basiert auf dem Faktorisierungsproblem. So viel haben wir gelernt. Und als Multiplizieren ist sehr einfach. Faktorisieren ist sehr schwer mit klassischen Computern. Wir haben also die dritte Beobachtung. Wenn man mit Quantencomputern effizient faktorisieren kann, dann ist RSA gebrochen. Und wie das mit den Quantencomputern funktioniert, das effiziente Faktorisieren möchte ich euch jetzt ein bisschen erklären. Der Choresalgorithmus hat berechnet die Faktorisierung, besteht aus dem klassischen Teil und aus dem quantischen Teil. Kleine Warnung vorweg. Es wird jetzt ein bisschen formelastiger als vorher und auch als es später wird. Da kommt man nicht immer drum herum. Aber das ist alles noch mit Schulmathematik zu handeln. Wir haben also eine Zahl n gegeben, welches eine Multiplikation aus P und Q ist. P und Q kennen wir allerdings nicht. Jetzt würden wir gerne eine Zahl raten. Jetzt raten wir eine Zahl x, die ist echt kleiner als n. In den meisten Fällen teilt sie nicht n. Wenn sie n teilen würden, hätten wir ja schon einen Teiler gefunden. Das heißt, wir können davon ausgehen, x ist teilerfremd zu n und x teilt nicht n. Jetzt gibt es eine zahlentheoretische Aussage. Also das sagt uns einfach die zahlentheorie, dass es ein r existiert. Für das gilt x hoch r ist gleich irgendwas mal n plus 1. Die Mathematiker kennen das als Westklassenarhythmetik. Also die würden das vielleicht als x hoch r als Konkurrent 1 Modulo n ausdrücken. Aber so ist es ein bisschen einfacher für Nichtmathematik Studenten nachzuvollziehen. Das ist jetzt die Aussage, die für den klassischen Teil benutzt wird. Wenn ich so ein r mal gefunden habe, kann ich das verwenden, um die Faktoren herauszurechnen. Es gibt allerdings noch eine weitere Eigenschaft, die man einsehen kann, wenn man versucht, irgendwas mal n plus 1 mit sich selbst zu multiplizieren. Man kommt da auf irgendwas anderes mal n plus 1. Das geht immer so weiter. Das heißt, das ist eine Funktion, die sich immer wieder wiederholt. Das wird auch periode genannt und das ist die Eigenschaft, die Quantencomputer ausnutzen können, um die Zahl r herauszufinden. Gut, jetzt zum klassischen Teil. Wir haben also die Zahl x hoch r gleich n plus 1 gegeben. Die Lügen für Kinder fangen schon an. Ich habe das irgendwas mal weggelassen. Jetzt können wir die 1 ja einfach rüberschieben. Soweit so gut. Jetzt quadrieren wir ein bisschen. x hoch r halbe Quadrat ist dasselbe wie x hoch r und 1 zum Quadrat ist auch dasselbe wie 1. Das heißt, wir haben nichts geändert. Jetzt kann man sich fragen, okay, was mache ich jetzt hier mit dieser Zahl? Was bringt das ein, um Faktoren zu finden? Jetzt gibt es allerdings so ein paar Formeln. Das ist jetzt nicht die, die ihr können muss, wenn ihr Mitternachts geweckt werdet. Aber in einem ähnlichen Kontext könntet ihr diese Formel kennen. Die dritte binomische Formel. Wenn wir sehen, okay, das hat ja ungefähr die Form der dritten binomischen Formel, können wir also anwenden. Und wir bekommen die Gleichung x hoch r halbe plus 1 mal x hoch r halbe minus 1 ist gleich n raus. Das heißt, wir haben hier also Faktoren p und q gefunden. In Wirklichkeit, ich habe ja das irgendwas weggelassen, hat man nicht direkt p und q, sondern Sachen, die gemeinsame Teile mit p und q haben mit dem euklideischen Algorithmus, den manche vielleicht auch noch aus Studium und Schule kennen, kann man da den gemeinsamen Teiler in diesem Fall ja also p und q dann finden. Das ist also der klassische Teil als Übersichtsfolie nochmal. Wir haben ein x. Wir versuchen, der erste Pfeil sagt, ich versuche aus dem x so eine Zahl r zu finden. Wie das geht, wissen wir noch nicht. Ich versuche dann aus dem r ein Zahlenpaar x hoch r halbe plus minus 1 herauszufinden. Das haben wir gerade gesehen und daraus kann ich dann die Faktoren p und q ermitteln. Der erste Pfeil ist jetzt der schwierige Pfeil, für den wir Quantencomputer brauchen. Wir müssen also in dieser Funktion eine Periode ermitteln. Zuerst möchte ich euch ein bisschen erzählen, wie Quantencomputer genau funktionieren. Also so sehen wir genau. Und Quantencomputer funktionieren, dass Katzen sehr stark geschrumpft werden und in Kisten gepackt werden. Ist natürlich quatsch, aber als Anschauungsbeispiel ganz gut geeignet. In Wirklichkeit wird damit Photonen und Ähnlichem handiert. Wir haben also hier eine gelbe Katze, die wir in eine Kiste tun. Noch ist die Kiste offen. Das heißt, wir beobachten die Katze. Das heißt, Quanteneffekte gibt es noch nicht. Wir präparieren jetzt die Kiste mit irgendwelchen Atomen, die zerfallen und anhand des Zerfalls wird ein Gift ausgelöst, sodass die Katze stirbt. Wenn wir das aber machen, während die Kiste zu ist, dann hat man diese quantenmechanischen Effekte, der Atomzerfall, die dafür sorgen, okay, quantenmechanische Effekte sind in einer Superposition. Das heißt, sie sind weder der einen Zustand noch der andere Zustand, sondern beide Zustände quasi gleichzeitig bis gemessen wird. Das heißt, ich lasse das Atom zerfallen und meine Katze ist jetzt in einer Superposition aus tot und lebendig. Jetzt kann ich zwei Sachen mit dieser Kiste, wo die Katze drin ist, machen. Ich kann zum einen messen, also ich mache die Kiste auf, schau, was ist drin, ist die Katze tot oder lebendig, dann wird sie eins von beiden sein. Ich kann allerdings auch Operationen auf dieser Kiste durchführen, ohne die Kiste zu öffnen. Ich kann zum Beispiel, wenn ich die noch anders präpariere mit ein bisschen Farbe, kann ich die Katze darin einfärben. Ein wichtiger Punkt bei dieser Einfärbung, also bei diesen Operationen auf den Kisten ist jetzt, dass die Transformation, die ich da anwende, reversibel sein müssen. Das heißt, wenn ich so eine Funktion berechne, dann muss ich die auch zurückrechnen können. Das sind quantenmechanische Effekte, die dazu führen, dass das so sein muss. Das heißt, wenn ich jetzt so eine Ferbelaktion mache auf den Katzen, dann kann ich nur so in komplementär Farben färben. Das heißt, die gelbe Katze von vorher wird jetzt soliler Katze, eine rote Katze würde zu einer grünen Katze werden und halt immer umgekehrt. Das heißt, aus dem Ergebnis kann ich immer auch die Eingabe ermitteln. Wenn ich jetzt die Kiste aufmache, also Messe und Nachkucke, dann habe ich eine von den beiden Katzen, entweder die Tote oder die Limitlinke, hier jetzt die Tote und bin ein bisschen traurig, weil die Katze gestorben ist. Aber wir erinnern uns, es ist nur ein Gedankenexperiment. Das heißt, im Laufe der Vortragsvollbereitung wurden keine Katzen getötet oder sonst wie geschadet. So, wir haben jetzt also in normalen Computern Bits und in Quantencomputern die sogenannten Q-Bits einfach so ein zusammengezogenes Wort aus Quantum und Bits. Und am Anfang starten wir mit 1 und 0. Wir haben also ein Bit, das ist entweder 1 oder 0. In einem klassischen Computer hat man einfach 1 oder 0. Jetzt bei der Erklärung vorhin und von dem, was man vielleicht aus dem Medien mitbekommt über Quantencomputer, könnten sich einige vielleicht denken, okay, ich habe jetzt also irgendwie so einen Zwischenzustand. Das heißt, ich habe einfach so eine Wahrscheinlichkeitsverteilung auf diesen Zwischenzustand und habe da was ich so halt aus der Schule, aus der Wahrscheinlichkeits-Theorie kenne, also irgendwie etwas, was ich aufsummiert auf 1, habe quasi einen Zustand auf dieser Linie zwischen 0 und 1. Quantencomputer gehen da allerdings noch ein bisschen weiter. Ich habe nicht nur diese realen Zahlen als Wahrscheinlichkeiten, sondern komplexe Zahlen als Amplituden. Das kann man sich am besten an so einer Sphäre vorstellen. Ich habe jetzt nicht nur einen Punkt auf der Linie, die ich da habe, sondern einen Punkt auf der Kugeloberfläche. Je weiter ich am Pol oben bin, desto wahrscheinlicher wird es, dass ich die Einsmesse und je weiter ich unten bin, desto wahrscheinlicher wird es, dass ich die Nullmesse. Jetzt ist allerdings der Fall. Ich habe ja vorhin schon erwähnt, man kann da irgendwie drauf rumrechnen und auf der Kugel kann man jetzt spiegeln und rotieren und ganz schön schlaue Sachen damit machen. Und das Ziel ist es jetzt, eine Superposition herzustellen, schlaue Sachen damit zu machen, also gut rumrotieren und spiegeln, sodass beim Messen was Tolles rauskommt, was ich dann benutzen kann, um mein Problem zu lösen. Und wie das funktioniert, möchte ich weiter mit Katzen erklären. Ich habe hier eine Katze in eine sehr lange Kiste gesteckt diesmal, da die Superposition später, also die verschiedenen Zustände, in denen sich die Katze dann gleichzeitig befindet, recht viele sind. Ich habe hier oben die Katze und unten eine Wahrscheinlichkeitsverteilung darauf, welche Katze ich am ersten Messen werden würde. Ich pack die Katzen jetzt in eine Superposition gleich verteilt zu den Katzen 0 bis 9. Die haben halt Zahlen auf dem Fell und die sind jetzt alle gleichwahrscheinlich in meinem Quantencomputer enthalten. Wenn ich jetzt messen würde, würde ich mit gleicher Wahrscheinlichkeit die Katze 3 oder die Katze 5 messen. Jetzt kann ich eine Funktion auf diesen Quantenzustand anwenden. Diese Funktion muss wieder reversibel sein. Das heißt, ich möchte jetzt die Katzen färben und zwar mit einer sich wiederholenden Färbefunktion, um halt den Bogen zu schlagen zu der periodischen Funktion, mit dem man das X hoch R dann ermitteln kann. Da es reversibel sein muss, können wir jetzt nicht einfach die Eingabe verändern, sondern müssen die Eingabe behalten und die Ausgabe in ein neues Register schreiben. Wir haben jetzt also hier gelbe rote und blaue Katzen, rechts und das ist die Ausgabe der Funktion und links habe ich weiterhin die Eingabe der Funktion. Ein weiterer wichtiger Punkt bei den Handencomputern ist und den Quantenzuständen, sobald ich mal so ein bisschen was über den Zustand heraus finde, zum Beispiel durch das Messen. Dann habe ich den Fall, dass der Gesamtzustand so zerfällt, dass alles am Ende Sinn ergeben muss. Das heißt, wenn ich jetzt messen würde und ich kriege eine rote Katze raus, dann habe ich im Eingabe Register nur noch mit positiver Wahrscheinlichkeit, also mit Wahrscheinlichkeit, dass sie vorkommen, die Katzen, die wirklich eine rote Katze ergeben würden. Hier habe ich jetzt also diese sich wiederholenden Sachen drin, diese Periode und jetzt kann ich sagen, okay, ich habe ja jetzt diese Abstände zwischen den Katzen, das wäre jetzt mein R in der Funktion von vorhin. Was würde denn passieren, wenn ich jetzt messen würde, würde ich eine beliebige Katze raus bekommen, die 1, die 4 oder die 7 und im Allgemeinen sind die Problemen größer, natürlich größer. Wenn ich jetzt allerdings die 7 messe, habe ich überhaupt keine Informationen über R. Das könnte jetzt 7 sein, weil ich das erste Element dieser wiederholenden Folge finde oder es ist schon das spätere Element. Ich weiß es einfach nicht. Das heißt, ich brauche noch eine schlaue Funktion, die ich darauf anwenden kann, die mir sinnvolle Informationen dann darüber bietet nach dem Messen. So eine schlaue Funktion ist z.B. die Foyer-Transformation. Wir berechnen also eine Foyer-Transformation auf einer harmlosen, armen Katze, die ich noch nicht weiß, wie ihr geschieht. Solange sie noch miauen kann, ist alles aber halb so wild. Die Foyer-Transformation, manche werden das vermutlich noch wissen, ist reversibel. Das heißt, wir können sie auch mit einem Quantencomputer berechnen. Der Algorithmus funktioniert ähnlich wie die Fast-Foyer- Transformation. Wir können das also berechnen. Nachdem wir diese Foyer-Transformation berechnet haben, haben wir die Amplituten nicht mehr diese Ausschläge, sondern eine Foyer-Transformation. Hier mal exemplarisch dargestellt, das ist nicht die richtige Foyer-Transformation, die daraus kommt. Das sind weitere Lügen für Kinder. Wenn wir jetzt messen, kriegen wir dann eine Katze raus, die, wenn wir sie oft genug kraulen, das heißt ein bisschen Mathematik draufwerfen, uns das R verrät, was wir gesucht haben. Und dadurch bekommen wir dann das R, diese Periode mit diesem R. Wir erinnern uns, kriegen wir die beiden Faktoren für die Zahl n raus. Wir haben jetzt also im Quantenteil die Beobachtung, wir können auf komplexen Amplituten rechnen. Das ist schon mal ganz gut. Die Berechnungen müssen reversibel sein und die Wahrscheinlichkeiten fallen so irgendwie zusammen, dass es Sinner gibt. Das heißt, die Welt, die wir beobachten, ist konsistent. Und diese Sachen, diese Beobachtung werden dann so benutzt, dass ein Zustand so beeinflusst wird, dass eine Messung einen Informationsgewinn bringt. Und das ist auch die Aufgabe, die man bei Quanten, Algorithmen generell hat. Denn wenn man jetzt einfach so was in eine Superposition setzt, wo alles gleichwahrscheinlich ist, man rechnet drauf rum und dann misst man was, dann kriegt man beliebiges Ergebnis, was einem vielleicht noch nicht so viel bringt. Wenn wir jetzt allerdings was Intelligentes machen, um die Wahrscheinlichkeiten so zu verändern, dass wir ein Informationsgewinn haben, dann bringt uns das was. Man kann ja jetzt auch denken, okay, in so einem Quantenzustand habe ich exponentiell viele Informationen. Und vielleicht stimmt das auch so ein bisschen, aber ich komme vielleicht nicht wirklich an diese Informationen dran, sondern brauche so einen tollen Trick. Das heißt, dass wenn ich so ein Algorithmus entworfen habe, dann kann ich Probleme schnell lösen. Aber generell kann man nicht sagen, dass man Probleme für die klassische Computer exponentiell viel Zeit bräuchten, dass die dann in polinomischer Zeit also effizient gehen. Gut, als Beispiel habe ich jetzt ein paar Zahlen zu RSA mitgebracht. Wir haben eine Schlüssellänge von 3072 Bit. Die Anzahl an Kubels, die ich brauche, also die verschiedenen Katzen, die ich haben kann, sind 6146. Und die Anzahl der Quantengutter, das entspricht ungefähr der Laufzeit, sind 1,86 mal 10 hoch 13. Das klingt erst mal nach einer Menge, ist allerdings noch polinomiell. Das heißt, das ist ein effizienter Algorithmus. Ob der jetzt in der Realität umgesetzt werden kann, darauf möchte ich später noch ein bisschen eingehen. Okay, zur Postquantumsicherheit. Wir haben jetzt herausgefunden, okay, RSA ist in der Postquantumwelt, also der Welt, in der Angreifer auf Quantengomputer zugreifen können, nicht mehr sicher. Was können wir da machen? Und da gibt es in der Kryptografie verschiedene Grundannahmen, die wir verwenden können, um sichere Verfahren zu basteln. Da gibt es zum einen die super singulären Isogenin, dann die codebasierten Verfahren, zum Beispiel MacAllies, also vor allem MacAllies, die hashbasierten Verfahren und die Gitter basierten Verfahren. Ich möchte kurz auf Post und Kontrast der verschiedenen Verfahren eingehen, denn die eierlegende Wollmilchsau gibt es hier noch nicht. Wir haben also bei super singulären Isogenin recht kleine Schlüssel und Implementierung sind ähnlich zur elipte Curve-Kryptografie. Das heißt, man kann da vorhandenes Wissen schon mal einsetzen. Super singuläre Isogenin ist jetzt erstmal ein kompliziertes Wort. Im Endeffekt sind das aber bestimmte Funktionen, die aus elliptischen Kurven andere elliptische Kurven machen bzw. bei Isogenin, wie Isomophismen, bei Grafen, die man vielleicht kennt, Funktionen, die die Isogenin auf sich selbst abbilden. Mit bestimmten Eigenschaften und das wird dann hier verwendet, um Probleme zu bauen, die in einer Richtung leicht sind und in einer anderen Richtung schwierig. Problem bei den Isogenin ist jetzt, dass das ein sehr neues Konzept ist. Sehr neues in der Kryptografie, immer schlecht, weil wir am liebsten Konzepte hätten bzw. Grundannahmen, wo sich sehr viele sehr schlaue Leute Gedanken drüber gemacht haben, sodass man ein gewisses Vertrauen in die Probleme hat und sich denken kann, ja, ich glaube, mit Quantencomputer kann man das nicht brechen. Deswegen will man lieber ältere Probleme als neue Probleme. Weiteres Problem ist, dass es langsam gibt und es gibt auch noch Sicherheitsbedenken bei der Wiederverwendung von Schlüsseln, die bei anderen Verfahren vielleicht nicht hätte. Die codebasierten Verfahren, vor allem vorhanden McElise, das klassische McElise kann auch noch verwendet werden, sind alt und gut untersucht somit, erlauben effiziente Berechnungen. Allerdings ist die Schlüsselgröße bei den öffentlichen Schlüsseln sehr groß und die Implementierung sind schwer, gegen Seitenkanäle abzusichern. Weiter zu den hashbasierten Verfahren, hier haben wir im Gegensatz zuvorhin kleine öffentliche Schlüssel, die sind relativ gut verstanden und sind auch recht effizient, aber es werden recht große Signaturen erzeugt, also hashbasierte Verfahren sind hauptsächlich für Signaturen, nicht für Verschlüssel unter, und die privaten Schlüssel sind recht groß. Dann zu den githabasierten Verfahren. Die haben einen Vorteil, der vielleicht den Informatikern unter euch etwas sagt, die sich vielleicht schon mal mit P und NP beschäftigt haben, die Sicherheit kann mit Worst Case-Annahmen bewiesen werden. Zudem sind die Berechnungen recht effizient, githabasierte Verfahren sind auch relativ alt, also gut untersucht und eignen sich auch für fortgeschrittene Primitiven, als Beispiel einfach mal die Vollhormorferverschlüsselung. Ein Problem ist allerdings, dass recht komplizierte Bausteine verwendet werden. Das gausche Sampling habe ich hier als Beispiel genommen, wenn man Zufall wählen will, dann kann man nicht gleichverteilt Zufall wählen, sondern muss anhand einer Gausskurve im hochdimensionalen Raum seinen Zufall wählen. Das ist ein bisschen komplizierter als gleichverteilt zu Zufall zahlen, deswegen auch komplizierter zu implementieren. Da muss man also aufpassen und die Schlüssel bleiben relativ groß. Wir haben hier also bei allen Verfahren Prost und Kontrast. Das heißt, wenn man jetzt dem fragt, was soll ich denn überhaupt verwenden, dann wird man meist vielleicht mit Megalise antworten, weil das alt und gut untersucht ist und da gibt es schon viele Implementierung. Aber was dann wirklich das Beste ist in Zukunft, das muss sich noch herauskristallisieren. Ich möchte kurz noch etwas über die Gitterprobleme erzählen. Bei den Gittern ist es so, dass wir einfach ein regelmäßiges Muster aus Punkten haben. Im Prinzip kann man sich das als ein diskreten Vektoraum vorstellen. Ansonsten kann man einfach auf das Bild schauen und weiß, was gemeint ist. Im Allgemeinen ist das natürlich nicht zweidimensional, sondern hat viele Dimensionen, aber zur Anschauung reicht das völlig. Gitter können jetzt verschiedene Basen haben, also Punkte, die den Rest des Gitters bestimmen. Hier haben wir zum Beispiel eine sehr kurze Basis und eine sehr rechtwinkelige Basis. Und wenn ich jetzt euch nur die Basis geben würde, nicht das Gitter an sich, und euch fragen würde, was ist der Punkt in diesem Gitter, der am nächsten zum Ursprung ist, also zum Mittelpunkt dieses Rasters da, dann würdet ihr vermutlich direkt mit B2 antworten. Und das wäre richtig. Wir haben hier also ein einfaches Problem gefunden, den kürzesten Vektor finden, also den Punkt am nächsten am Ursprung. Und wie kriegen wir jetzt daraus eine schwierige Version des Problems? Wir nehmen einfach eine sehr, sehr schlechte Basis, die man praktisch, wenn man mit so einem Gitter arbeiten will, kaum verwenden kann. Wenn man allerdings ein Problem bauen will, das möglich schwierig zu lösen ist, kann man das ganz gut verwenden. Optisch sieht man jetzt noch relativ schnell, was der kürzeste Punkt ist, also der kürzeste Vektor. Aber wenn man nur die Basis gegeben hätte, müsste man sehr viel rumrechnen und rumrechnen und rumprobieren. Und die Quintessenz hiervon ist es jetzt, dass das nicht nur für Menschen ein bisschen schwieriger ist und nicht nur für klassische Computerschwieriger, sondern auch noch für Quantencomputerschwieriger. Das ist also das eine Problem, was wir mitgetan haben. Dann möchte ich kurz noch auf das Learning with Errors Problem eingehen. Das ist im Prinzip einfach eine Matrix Multiplikation. Ich habe eine Matrix A, ich habe ein Vektor S, multipliziere die, ich habe ein Vektor E, addiere den darauf und kriege mein Ergebnis X. Dieses E wird jetzt zufällig gezogen. Das S ist quasi mein geheimer Schlüssel. Wird mir also nicht verraten, was ich kenne, sind A und X. Und die Annahme ist jetzt beziehungsweise bewiesen wurde sogar, dass das S herauszufinden, so schwierig ist, wie den kürzesten Vektor in einem Gitter zu finden im Worst Case. Hier nochmal als kleine Übersicht. Und dieses Learning with Errors Problem, das ist das, worauf sich auch einige der Verfahren, die ich euch später, von denen ich euch später ein bisschen erzählen will, die basieren da drauf. Und die sind dann schwierig, wenn das shortest Vektor Problem, also das mit den Gitterbasen, auch schwierig ist. So zur Standardisierung. Wir haben jetzt ein paar Problemarten kennengelernt, die wir benutzen können, um quantensichere Kryptografie zu bauen, also Post-Quantum-Kryptografie. Da gibt es die NIST. Das ist eine Standardisierungseinrichtung, ähnlich der DIN, nur halt in Amerika. Und da laufen die Verfahren so, dass man Verfahren einreichen kann. Diese werden dann rundenweise rausgefilternt. Man schaut sie die Verfahren an, versucht die zu brechen, schaut, ist das überhaupt praktikabel benutzbar? Und irgendwann kristallisiert sich dann ein Verfahren raus, was man standardisieren will. Und der Advanced-Equipation-Standard wurde dadurch auch standardisiert. In dem jetzigen, laufigen Post-Quantum-Verfahren haben wir also erst grad mal zwei Runden. In der ersten Runde kamen 69 Verfahren rein. Darauf wurden dann 14 Angriffe veröffentlicht und ein paar auch so noch zurückgezogen. Wurde aber ein bisschen stärker gefiltert, als die von denen man weiß, dass die kaputt sind. In der zweiten Runde gibt es noch 26 Verfahren. Hier nochmal ein paar Zahlen dafür, wie viele davon auf welchen der vorgestellten Problemen basieren. Gitterbasierte gibt es neun Verschlüsselungsverfahren und drei Signaturverfahren. Das heißt, man kann sagen, Gitter sind gerade der heiße Scheiß in der Post-Quantum-Kontographie. Jetzt haben wir also die LWE-basierten Verfahren. Da haben wir ein paar, die allein auf LWE basieren. Und dann noch Crystal Skybar, LAC und Three Bears, die halt auf nochmal komplizierteren Versionen davon basieren. Module und Ringe sind mathematische Objekte, die die ganze Sache nochmal ein bisschen komplizierter machen. Aber die Hoffnung ist, dass sie die Sache effizienter machen. Quintessenzier von soll jetzt sein, dass das ganze, um das zu verstehen, nicht trivial ist. Man muss sich da ein viel einlesen. Man braucht Leute mit Wissen aus der Kryptografie und aus der Mathematik. Und diese Leute sind schwer zu finden, weil da viel zusammenkommt. Das heißt, das ist auch ein Feld, wo noch Unterstützung gesucht wird auf jeden Fall. Also, wenn ihr gerade irgendwie euch für ein Vertiefungsfach entscheiden müsst oder sonst wie fragt, okay, ich bin fertig mit dem Studium, worin will, was will ich jetzt machen, wo will ich anfangen, dann ist das tatsächlich eine Sache, die auch von Nutzen für die Kryptografie in Zukunft sein wird. Höchstwahrscheinlich. Jetzt kann man sich natürlich fragen, okay, Quantum-Computer, schöne Sache. Auf dem Papier glaube ich das, dass das so funktioniert. Aber die Physik davon habe ich nicht verstanden und die ist auch bestimmt sehr kompliziert. Kann man überhaupt so Quantum-Computer bauen? Dazu habe ich einen kleinen Pressespiegel mitgebracht, mit ein paar News aus diesem und letzten Monat hauptsächlich. Und das Department of Defense, also Verteidigungsministerium der USA, nimmt die Sache ernst und versucht, Konzepte gegen Quantum-Computer herauszufinden. Dann IBM plant seine Quantum-Computer in drei bis fünf Jahren kommerziell bereitzustellen, wie weit die Pläne kommen, das weiß man natürlich nicht so genau. Aber das nun mal so als Einschätzung, wann man mit Quantum-Computern vielleicht sinnvolle Sachen machen kann. Hanni will, one step closer, die universe Quantum-Computer, auch relativ neu, die machen da auch Fortschritte. Dann gibt es auch Fortschritte darin, wie man den Quanten- Computer überhaupt bauen will, also auf der grundlegenden Ebene hier ein Artikel über Silizium, welches verwendet wird. Das war vorher ein bisschen schwierig, jetzt wird es ein bisschen leichter. Wie sehr sich das allerdings in effizienten und funktionsfähigen Quanten-Computern wirklich umsetzt, das kann ich euch dann nicht verraten. Dann Google creates the most powerful Quantum-Prozessor. Das ist der Quanten-Computer, der auch schon letztes Jahr in den Nachrichten war und der hat die erstaunlich hohe Zahl von 72 Kubits, was halt in der Welt der Quanten-Computer, die wirklich gebaut werden, schon sehr hoch ist. Und man sich auch fragen kann, haben sie die jetzt wirklich oder sind das irgendwelche geschönten Zahlen? Und wir erinnern uns, um RSA zu brechen, mit 3072 Bit Schlüssellänge brauchen wir über 6000 Kubits. Das heißt, bis Quanten-Computer RSA brechen können, ist noch fraglich, wie schnell das überhaupt geht. Man kann sich jetzt denken, okay, ich bin kein Verschwörungstheoretiker, aber dass Geheimdienste bessere Sachen haben als öffentlich bekannt sind, kann ja schon sein. Da ist jetzt natürlich die Frage, wie viel besser die dann wirklich sind als das, was IBM und Google machen, vielleicht um ein paar Kubits, aber dass es jetzt 6000 Kubits sind. Ich persönlich bezweifle, dass im NSA-Käller großflächig RSA gebrochen wird damit. So, ich hoffe nun erst mal vielen Dank für die Aufmerksamkeit und das Zuhören. Ich hoffe, wie Carly der Katze ist euch auch ein bisschen ein Licht aufgegangen. Vielen Dank. Danke für den großartigen Vortrag und hoffentlich sind wirklich nicht zu viele Katzen gestorben. Gibt es Fragen? Vielen Dank für den selten formativen Vortrag erst mal. Auf einer Folie hattest du LBE als Abkürzung. Ja genau, das ist das Learning with LBOS Problem. Da wollte ich auch die Abkürzung eingeführt Hallo, danke für den Vortrag erst mal. Du hattest angesprochen, wie viele Kubits man braucht, um RSA brechen zu können und hattest du auch eine Zahl angeben, wo es glaube ich um die Dauer geht, wie lange es dauern würde. Kann man das ungefähr irgendwie etwas greifbarer noch machen, was man sich darunter vorstellen kann? Kann ich leider im Moment nicht, vor allem da die Dauer jetzt auch in Gattan gemessen wird. Also das ist so ein Schaltkreismodell, nicht das Touring-Maschinen-Modell und da so intuitiv die Umrechnung bieten, wie viele Schritte man jetzt bei einer vergleichsähnlichen Touring-Maschine man brauchen würde, um halt sagen zu können, okay, das brauche ich jetzt auf einem Rechner so und so viele Schritte. Traue ich mich jetzt nicht, da eine Antwort zu geben, vor allem, da Quantencomputer für einen einzelnen Schritt vielleicht auch länger brauchen, als jetzt hier ein handelsüblicher Laptop, da in Realzeit kann ich da keine Antwort geben. Hi, du hattest zweimal gesagt, dass das relativ große Schlüssel benötigt für einige der Verfahren. Ist das was, was in einem normalen Webserver als Schlüsselaustausch noch gangbar ist oder ist das viel zu groß dafür? Das ist eine interessante Frage, auf die ich auch tatsächlich keine Antwort weiß, wo wir aber versuchende Antwort zu finden, oder? Also für McElise reden wir über einen Public Key von den Megabyte-Größen, das heißt, das ist wirklich schmerzhaft. Bei den hashbasierten Verfahren ist es so, da kann man mit so Geschichten wie Sphinx Plus mittlerweile tatsächlich in den gangbaren Bereich für Signaturen kommen. Das ist dann so, man kann da, je nachdem, was man jetzt genau in Parameten will, durchaus auf 8 bis 16 Kilobyte, also halbwegs praktikabel für Signaturgröße runterkommen. Public und Private Key kriegt man bei denen in Winzig hin, also da kommt man tatsächlich mit so Größenordnung elliptische Kurven, also das ist wirklich kein Problem. Verifikationszeit von hashbasierten Signaturen ist auch völlig im Rahmen, das Problem ist die Signaturdauer. Wenn man das Zeug alles klein haben will, reden wir durchaus mal über eine Sekunde pro Signatur erzeugen. Das klingt jetzt erstmal total schlimm, je nach Anwendung ist es so, dass wenn man einen authenticated Key Exchange hin dran hängt, muss man unter Umständen gar nicht mal auf Signieren, sondern signiert sich einen einmaligen Long-Term Key für den authenticated Key Exchange. Vielleicht doch als Ergänzung zu dieser Frage wegen der Anwendbarkeit Google hat das vor ein paar Jahren, war das in ihrem Canary Browser, da hatten sie ein LWE Verfahren für den Schlüsselausdrausch, ich glaube das war sogar dieses New Hope, da haben sie das tatsächlich eingesetzt, ich glaube zwei Jahre lang hatten sie eine Testphase und soweit ich das noch im Kopf habe, waren sie damit eigentlich recht zufrieden. Hängt natürlich auch vom Anwendungsfall ab im Browser oder jetzt auf IoT Geräten und in autonomen Autos, da muss man ein bisschen schauen, was vertretbar ist und was nicht. Du hast eben über die Standardisierung gesprochen im NIST, habe ich den Eindruck gewonnen, dass die sozusagen das Rennen machen. Jetzt die Frage, traust du den noch oder gibt es dann noch Alternativen? Also ich meine momentan traut man ja schon noch, denn man benutzt ja auch AES und ähnliche Verfahren. Wie wahrscheinlich das jetzt ist, ob die absichtlich Backdoors reinbauen, das kann ich nicht sagen. Alternativen von Standardisierungsverfahren, die gerade laufen oder schon gemacht wurden, sind mir gerade keine bekannt. Gegebenen Fall, dass ich ganz viel Geld habe. Kann ich diese sehr kleinen, also diese Computer mit sehr wenig Kubits, kann ich mir davon mehrere kaufen und damit die sozusagen im Verbund verwenden? Gute Frage, das geht nicht. Wichtig bei diesen Quantenberechnungen ist, dass ich diese Kubits alle in eine Superposition bringen kann. Das heißt, dass die, da bräuchte ich tatsächlich mehr Physikkenntnisse, um das gut zu erklären, aber die müssen halt verbunden werden, die müssen in Superposition sein, verschränkt sein und da muss man die Kubits in einem Quantencomputer haben und nicht in einem verteilten Quantencomputer. Sind prinzipiell auch symmetrische Verfahren durch Quantencomputer angreifbar? Symmetrische Verfahren können momentan hauptsächlich durch Grovers Algorithmus angegriffen werden. Grovers Algorithmus ist im Prinzip ein Suchalgorithmus auf ungeordneten Datensätzen. Der durch suchten Datensatz mit N-Einträgen in Wurzel von N-Schritten. Das heißt, aus einem IS128 wird dann so groben IS 64, aber aus dem 256 wird dann 128 so ca. und das bleibt dann noch sicher. Das heißt, ich muss da schon aufpassen, was ich noch verwenden kann, aber diese symmetrischen Verfahren bleiben dann erstmal prinzipiell sicher. Ja, ich hätte eine Frage zu den Standardisierungsverfahren. NIST ist eine Sache. Ich habe auch mal gelesen, dass in China gibt es auch so einen Verfahren, auch eine Standardisierungsbemühungen. Ist darüber was bekannt? Trinkt er was nach außen? An mich drangen da leider noch nichts. Da kann ich nichts zu sagen. Gibt es noch weitere Fragen? Ja, hier. Vielleicht noch eine kurze Anmerkung zu den NIST-Verfahren, weil es in einigen Fragen, glaube ich, ein bisschen anklangt, dass es da Missverständnisse gab. Die NIST selbst entwirft da keine Algorithmen. Das sind bekannte Wissenschaftler wie zum Beispiel Daniel Bernstein und Tanja Lange, die Zeug entworfen haben und die haben das dann eingereicht und die NIST organisiert im Prinzip nur ein Wettbewerb. Selbst ob man den jetzt draut oder nicht, ist egal. Es gibt auch in dem Sinne keine Pflicht, dass man das nimmt, was die am Ende rauskommt. Es ist nur so, dass man da mal eine Organisation gemacht hat, überhaupt einen Überblick zu kriegen, was sicher sein könnte. Gibt es noch Fragen? Dann habe ich noch eine Frage. Gibt es schon eine Vorstellung, wie lange eigentlich noch dieses Verfahren laufen wird, bis wir irgendeinen einzelnen Kandidaten herausgefunden haben? Nein. Also ich habe keine Vorstellung. Ich weiß nicht, wie weit das auch forciert wird, um da den besten Kandidaten herauszufinden. Daniel Bernstein hat ja auch schon öfter mal gesagt, da fehlt es momentan halt wirklich an Manpower, um das alles so gut zu untersuchen, wie man es untersuchen wollen würde. Er hat auch in Vorträgen schon öfters mal drauf aufgerufen, dass sich da mehr Leute mit beschäftigen. Da möchte ich mich da jetzt gerne anschließen. Ansonsten weiß man ja auch nicht, wann der nächste hier Shutdown kommt in der US-Regierung. Das hat das Verfahren neulich ja auch verzögert. Also eigentlich sollte Anfang Januar, Ende Dezember, glaube ich, die zweite Runde veröffentlicht werden. Das wird dann nochmal so ein paar Wochen verschoben, weil die nicht mehr gearbeitet hat, weil sie nicht mehr bezahlt wurden. Also weiß ich nicht, wie lange das noch dauern wird. Ja, dann möchte ich mich auch für alle hier ganz herzlich für deinen tollen Vortrag bedanken. Ich persönlich ganz besonders wieder ein Plädoyer für die Mathematik. Dann lasst uns Ihnen allen nochmal einen großen Applaus bieten.