-
Entschuldigung für die technischen Schwierigkeiten, für den wirklich sinnvollen Teil des Vortrags gebe ich nun hier weiter an Tanja.
-
Hallo, ich bin Tanja und neben mir ist Dan, falls das noch nicht bekannt war.
-
(laughter)
-
Also das hier ist über Crypto und ein paar Elliptic curves, daher hoffen wir dies ist eine sanfte Einführung ist
-
Wenn es zu langweilig ist, naja, es ist spät am Abend, also machen Sie ein kurzes Schläfchen
-
wachen Sie ab zu und zu auf und schauen, ob es noch verständlich ist
-
Also warum Cryptography?
-
Wenn Sie Crypto im Internet verwenden oder für elektronische Zahlungen
-
Dann sehen sie zum Beispiel ein SSL Zertifikat in welchem Crypto verwendet wird.
-
Wenn Sie einen elektronischen Pass oder einen elektronischen Personalausweis haben, welcher Signaturen nutzt
-
Wenn Sie TLS verwenden um vertrauliche Daten zu senden, dann möchten Sie Verschlüsselung nutzen
-
Wenn Sie also einen SSL-Exchange haben, nutzen sie z.B. RSA, Diffie-Hellmann oder ECDH.
-
Und um EC, ECDH und ECDSA geht es heute in diesem Vortrag.
-
Außerdem gibt es noch einen großer Anteil an Crypto, der secret key cryptography.
-
Das ist wirkliche eine coole Sache, es ist viel viel schneller als alles worüber wir Ihnen heute erzählen.
-
Aber es setzt voraus, dass die beiden Parteien, die miteinander reden möchten sich bereits kennen,
-
Not Synced
dass sie bereits einen Schlüsselaustausch durchgeführt haben
-
Not Synced
Wir werden Ihnen zeigen wie man den Schlüsselaustausch
-
Not Synced
und anschließend die symmetrische Crypto ausführt
-
Not Synced
Das wir vielleicht nächstes Jahr passieren
-
Not Synced
Okay, also warum sollte man in public key crypto ECC nutzen
-
Not Synced
Was hat dazu geführt, dass Personen sich für ECC interessieren?
-
Not Synced
Die einfache Antwort dafür ist eine Angriffstrategie namens Indexcalculus.
-
Not Synced
Nun dies ist, wenn Sie die RSA Schlüssel von jemand indem faktorisieren wollen,
-
Not Synced
wenn Sie von jemanden den ursprünglichen nicht-elliptischen Diffie-Hellman von jemanden knacken möchten,
-
Not Synced
dann nutzten Sie Indexculculus
-
Not Synced
Dies sind ausgefallene Mathematik sowie die damit einhergehenden Algorithmen.
-
Not Synced
Im Endeffekt wird es immer schneller und schneller,
-
Not Synced
sodass wir am Ende gar nicht wissen, wie schnell es einmal sein wird
-
Not Synced
Hier ist ein Teil der Geschichte, wann die Algorithmen erfunden wurden.
-
Not Synced
1975 wurde einer der ersten Indexcalculus Algorithmen, CFRAC entwickelt,
-
Not Synced
zum Faktorisieren von großen Zahlen.
-
Not Synced
Und dann gab es alle möglichen Arten von Fortschritten, so in 1977, 1982, 1990. 1994.
-
Not Synced
Sie haben letztes Jahr von der Cryptoapocalypse gehört.
-
Not Synced
Und dies ist eine der neusten Fortschritte in Indexcalculus
-
Not Synced
Es ist zwar nicht relevant für das Knacken von RSA,
-
Not Synced
aber es ist ein Beispiel dafür, dass die allgemeine Strategie des Indexcalculus
-
Not Synced
immer weiter verfeinert, hochwertiger und schneller wird.
-
Not Synced
Das ist nicht die ganze Geschichte.
-
Not Synced
Wenn man sich die wissenschaftliche Fachliteratur anschaut, dann gibt es dort auch viele Verbesserungen.
-
Not Synced
Wir sind glücklich, wenn wir doppelt so schnell faktorisieren können,
-
Not Synced
aber das sind große Schritte, wenn man die Sicherheit von zwei typischen RSA Größenordnungen bedenkt
-
Not Synced
Also da ist RSA 1024, was man noch häufig im Internet sehen kann
-
Not Synced
und da ist RSA 2028, was hoffentlich Ihre Bank nutzt.
-
Not Synced
Dann sind dort zwei Zeilen mit Nummern...
-
Not Synced
Entschuldigung
-
Not Synced
Zwei Spalten mit Nummern, wo Sie sehen können, wie sehr die Sicherheit abgenommen hat.
-
Not Synced
Also zurück in 1975, der CFRAC Algorithmus würde immer noch 200 bis 120 Operation brauchen,
-
Not Synced
um die selbe Arbeit zu machen, was in vielen Jahren später ein mit Zahlen gefülltes sieve macht.
-
Not Synced
Also in den 80er würde nur 80 Operationen notwendig sein.
-
Not Synced
Daher ist hier ein großer Rückgang vorhanden,
-
Not Synced
von 120 Operations zu 80.
-
Not Synced
Und es ist nicht nur eine Verringerung um 40 des Exponent, es ist deutlich größer,
-
Not Synced
Es reduziert diesen von 170 auf 112.
-
Not Synced
Somit ist es nicht nur eine lineare Verringerung im Exponent.
-
Not Synced
Es ist mehr als eine lineare Verringerung im Exponent.
-
Not Synced
In '85, als die [unverständlich],
-
Not Synced
hat Miller elliptic curves als Alternative zu faktorisierungsbasierten Methoden vorgeschlagen
-
Not Synced
Also Faktorisierung oder Diffie-Hellman würde von den Algorithmen geknackt werden.
-
Not Synced
Miller sagte: "Nun, ich habe mir dieses neue Prinzip der elliptic curves angesehen,
-
Not Synced
und es ist extrem unwahrscheinlich, dass eine Indexcalculus Attacke auf die Methode der elliptic curver jemand klappen würde.
-
Not Synced
Also können wir alle die Verbesserungen dieser Methoden ignorieren,
-
Not Synced
welche Faktorisierung und Diffie-Hellman so geschwächt haben."
-
Not Synced
Um in elliptic curve cryptography sanft einzusteigen, ist hier die clock cryptograpy
-
Not Synced
Nun, hier ist Bild von der Uhr
-
Not Synced
Hast du zufällig eine Uhr um sie den Menschen zu zeigen,
-
Not Synced
falls sie nicht mehr dran gewöhnt sind, wie eine Uhr, also ein aussieht?
-
Not Synced
Also ein rundes Ding.
-
Not Synced
Wissen Sie, wenn Sie denken dass eine Uhr Ihnen Ziffern nebeneinander zeigt, hier, so sahen Uhren früher aus.
-
Not Synced
Für Mathematiker, es ist x^2 + y^2 = 1
-
Not Synced
Es ist etwas kaputt, deswegen sind wir zu spät.
-
Not Synced
(schmunzeln)
-
Not Synced
Die elliptic curves die Ihnen später im Vortrag zeigen,
-
Not Synced
beinhalten nicht die Uhr.
-
Not Synced
Die Uhr Cryptography ist kein Beispiel für elliptic curve cryptography,
-
Not Synced
aber sehr, sehr nah dran,
-
Not Synced
Daher starten wir mit der Clock Cryptography und wenn Sie damit vertraut sind,
-
Not Synced
machen wir eine kleine Anpassung und dann ist das elliptic curve cryptography.
-
Not Synced
In Ordnung, also zum Beweis, dass ich den Kindergarten abgeschlossen habe,
-
Not Synced
sind hier ein paar Punkte auf der Uhr.
-
Not Synced
Dort oben ist die 12 Uhr Marke, so habe ich das gelernt.
-
Not Synced
Nun ich bin später Mathematikerin geworden und Mathematiker arbeiten gerne mit Koordinaten.
-
Not Synced
Also die 12 Uhr Marke hat die x-Koordinate 0 und die y-Koordinate 1.
-
Not Synced
Ich weiß, dass die eins da sein muss, da es die Formel x^2+y^2=1 erfüllen soll.
-
Not Synced
x^2=0, daher y^2=1 und y=1,
-
Not Synced
Aber es gibt viel mehr Punkte,
-
Not Synced
also dort ist die 6 Uhr Marke.
-
Not Synced
Dort haben Sie Frühstück oder Lunch.
-
Not Synced
Das ist die 3 Uhr Marke, da ist die 9 Uhr Marke,
-
Not Synced
da ist, ... ,oh was ist das?
-
Not Synced
Das habe ich nicht im Kindergarten gelernt.
-
Not Synced
So es ist, ähm, halb nach oben dann schauen, wo ist die eins,
-
Not Synced
dann halb rüber.
-
Not Synced
Das schaut aus, ähm, wie die 2 Uhr Marke,
-
Not Synced
Das hier ist eine Art des Umdrehens der Koordinaten
-
Not Synced
Nun x = 1/2, also sind wir irgendwo hier drüben,
-
Not Synced
und dann ins negative, das wäre die 5 Uhr Marke
-
Not Synced
Und mehr und mehr Punkte...
-
Not Synced
Sollte es nicht sanft sein?
-
Not Synced
Ist es nicht sanft?
-
Not Synced
[Applaus]
-
Not Synced
Okay, also...
-
Not Synced
Hey, hier sind ein paar Punkte die ich noch nicht gesehen habe.
-
Not Synced
Oh, tut mir leid, ähm ich glaube wir wollten mehr über Punkte wie diese erzählen.
-
Not Synced
3/5, 4/5, ich meine hier muss man richtig komplizierte Mathematik nutzen
-
Not Synced
um zu sehen, dass eine Formel (3/5)^2+(4/5)^2=1 ist.
-
Not Synced
Dies ist ein weiterer Punkt auf der Uhr und es ist nicht klar,
-
Not Synced
welche Zeit Marke es ist.
-
Not Synced
Sie müssen wirklich intensiv auf ihre Uhr schauen um das herauszufinden.
-
Not Synced
Immer am Aussteigen wenn es knifflig wird.
-
Not Synced
Entschuldigung?
-
Not Synced
Nun steigst du aus, wenn es es knifflig wird.
-
Not Synced
Aussteigen wenn es knifflig wird?
-
Not Synced
[Lachen]
-
Not Synced
Okay, also willst du wirklich, dass ich das Quadrat, das halbe Quadrat, ...
-
Not Synced
Nein, nein, ich weiß einfach nicht wo der Punkt ist, aber ich weiß er ist auf er Uhr.
-
Not Synced
Okay, also Sie können herausfinden, wo der 3/5, 4/5 Punkt ist.
-
Not Synced
Sie können es auch etwas komplizierter machen in dem Sie die Uhr parametisieren.
-
Not Synced
Also wenn Leute Punkte auf der Uhr nehmen,
-
Not Synced
dann denken sie an eine voranschreitende Zeit.
-
Not Synced
Also es gibt 2 Uhr, 3 Uhr und das kann addiert werde, und man bekommt 5 Uhr.
-
Not Synced
Zwei Stunden nach 3 Uhr oder drei Stunden nach 2 Uhr ist 5 Uhr.
-
Not Synced
Und hier ist ein Bild, das etwa so aussieht, als ob 1:30 plus 2 Uhr so etwas wie 3:30 ergibt.
-
Not Synced
Also sind das ein paar Punkte p1, p2 und p3 auf der Uhr
-
Not Synced
Sie können p1 und p2 addieren, um p3 zu erhalten.
-
Not Synced
Hier kommt der schreckliche mathematische Teil, den wir gleich verwerfen werden - die Trigonometrie.
-
Not Synced
Wenn Sie also den Punkt auf der Uhr machen wollen, hat er einen Winkel von Alpha.
-
Not Synced
Die Zeit von Alpha beginnt bei 12 Uhr, dann ist dieser Punkt x gleich Sinus von Alpha, Y gleich Kosinus Alpha.
-
Not Synced
Es gab es diese schrecklichen trigonometrischen Formeln für den Sinus der Summe zweier Winkel und den Kosinus von ...
-
Not Synced
Die Summe von zwei Winkeln und der Sinus von Alpha 1 plus Alpha 2 ist okay.
-
Not Synced
Sinus von Alpha 1, Cosinus von Alpha 2 plus Cosinus von Alpha 1, Sinus von Alpha 2.
-
Not Synced
Etwas Ähnliches gibt es für den Cosinus.
-
Not Synced
Sie können Punkte hinzufügen.
-
Not Synced
Mit diesen Sinus- und Cosinus-Formeln überreden wir die Leute, sich der Krypta-Seite zuzuwenden.
-
Not Synced
Wir sagen ihnen: "Sie können die ganze nichtdiskrete Mathematik vergessen, die wir mögen."
-
Not Synced
"Wir sind die diskreten Typen, also wird es keine geben."
-
Not Synced
Sinus und Cosinus wandern so gut herum, dass wir sie loswerden.
-
Not Synced
Wir wollen keinen Sinus-Cosinus haben.
-
Not Synced
Eigentlich würden wir gerne mit normalen Taktzahlen arbeiten, was ich mit Sinus 1, Cosinus 2 und so weiter habe.
-
Not Synced
Das sind einfach so meine x- und y-Koordinaten.
-
Not Synced
Alles, was ich hier gesagt habe, war, dass die x-Koordinate ein Sinus von Alpha ist.
-
Not Synced
Die y-Koordinate ist der Kosinus von Alpha.
-
Not Synced
In diesem ganzen Durcheinander mit den Trigonometrieformeln kann ich einfach jeden Sinus von Alpha durch das entsprechende x ersetzen.
-
Not Synced
Jeder Cosinus von Alpha wird durch das entsprechende y ersetzt.
-
Not Synced
Dadurch wird dies viel schöner und kürzer.
-
Not Synced
Keine trigonometrische Additionsformel, also Addition auf der Uhr.
-
Not Synced
Jemand gibt Ihnen 2 Punkte x1 y1 und x2 y2.
-
Not Synced
Sie müssen nur die x-Spalte der ersten nehmen, den Punkt der y-Koordinate des zweiten und diese multiplizieren.
-
Not Synced
Nehmen Sie die Y-Koordinate des ersten Punkts x an der Ecke des zweiten Punkts und multiplizieren Sie diese und addieren Sie diese dann.
-
Not Synced
Wir können einfach vergessen, woher es kommt.
-
Not Synced
Dann machen wir dasselbe mit der Y-Koordinate.
-
Not Synced
Sie ist das Produkt aus den Y-Koordinaten minus dem Produkt der X-Koordinaten.
-
Not Synced
Okay.
-
Not Synced
Hier sind einige Beispiele für die Uhrausgabe, die wir immer noch nicht haben.
-
Not Synced
Lassen Sie den Computer hier mithelfen, damit das Rechnen etwas mühsamer wird.
-
Not Synced
2 Uhr plus 5 Uhr.
-
Not Synced
Wir erinnern uns, dass dies im Test sein wird.
-
Not Synced
2 Uhr war diese Quadratwurzel aus 3/4 und 1/2.
-
Not Synced
Sie hat am Anfang darüber gesprochen.
-
Not Synced
Und 5 Uhr war 1/2 und minus Quadratwurzel von 3/4
-
Not Synced
Wenn Sie das in die Formel einsetzen, dann werde ich es mal versuchen.
-
Not Synced
x1 ist Quadratwurzel von 3/4.
-
Not Synced
y1 ist 1/2
-
Not Synced
x2 ist 1/2 und y2 ist minus Quadratwurzel von 3/4
-
Not Synced
Wenn Sie x1 mit y2 multiplizieren ist das die Quadratwurzel von 3/4 multipliziert mit der minus Quadratwurzel von 3/4
-
Not Synced
Das ist minus 3/4
-
Not Synced
Dann klingt das y1 x2 wie 1/2 mal 1/2, was 1/4 ist.
-
Not Synced
Addiert man diese, ist es ungefähr minus 1/2.
-
Not Synced
Führt man eine ähnliche Berechnung durch, erhält man den 2. Teil des Ergebnisses.
-
Not Synced
Man erkennt, dass 2 Uhr plus 5 Uhr mit diesen Formeln das ist, was Sie wollten, nämlich 7 Uhr.
-
Not Synced
Ähnliches können Sie mit 5 Uhr plus 9 Uhr machen.
-
Not Synced
Ich denke, wir werden es überspringen.
-
Not Synced
Versuchen wir es mit einem anderen Beispiel.
-
Not Synced
Sie können 3/5 abs 4/5 nehmen und es zu sich selbst addieren.
-
Not Synced
Das bedeutet, dass 2 mal 3/5 und 4/5 dann 3/5, 4/5 plus 3/5 und 4/5 sind.
-
Not Synced
Fügen Sie dies in die Formeln ein und Sie müssen nicht wissen, wie spät es ist.
-
Not Synced
Sie erhalten einfach eine Antwort aus den 24/25 und 7/25
-
Not Synced
Und Sie können immer mehr Kopien davon hinzufügen.
-
Not Synced
Zeigen Sie auf sich selbst.
-
Not Synced
3 mal 3/5, 4/5, das ist also der Punkt plus sich selbst plus sich selbst
-
Not Synced
Setzen Sie ihn einfach in die Formeln ein und Sie erhalten etwas mit mehr Ziffern.
-
Not Synced
Wenn Sie immer mehr Kopien hinzufügen, erhalten Sie immer mehr Ziffern.
-
Not Synced
Im Nenner gibt es 625 und er wird immer größer.
-
Not Synced
Sie können auch versuchen, jeden gewünschten Punkt zu 12 Uhr hinzuzufügen, ohne überhaupt zu wissen, was es ist.
-
Not Synced
12 Uhr mit 0,1
-
Not Synced
Wenn Sie diese in die Formeln einsetzen, erhalten Sie 12 Uhr plus 3 Uhr um 3 Uhr.
-
Not Synced
12 Uhr plus 5 Uhr ist 5 Uhr
-
Not Synced
12 Uhr plus irgendein Wert ergibt irgendein Wert.
-
Not Synced
Das ist sofort ersichtlich aus der Formel zur Addition von 2 Punkten.
-
Not Synced
Ein letztes Beispiel dafür, wie Sie mit dieser Additionsformel arbeiten können.
-
Not Synced
Sie nehmen beispielsweise 10 Uhr + 2 Uhr. Das sollte 12 Uhr sein.
-
Not Synced
10 + 2 = 12. Das ist logisch.
-
Not Synced
Das Gegenteil wäre 10 + 2, wenn man 9 + 3 oder 11 + 1 oder irgendetwas nimmt, wo es die gleiche Höhe und die gleich Y-Koordinate hat, aber die X-Koordinate negativ ist.
-
Not Synced
Das ergibt zusammen 12 Uhr.
-
Not Synced
Sie können einfach versuchen x1 und y1 zusammenzustecken und minus x1y1 in die Formel einzusetzen.
-
Not Synced
Versuchen wir mal folgendes:
-
Not Synced
Angenommen, sie setzen x2 - x1 und y2y1 in die Formel ein.
-
Not Synced
Sie sehen die erste Coolness.
-
Not Synced
Die erste Koordinate der Antwort ist: x1 * y2 = y1
-
Not Synced
Dann ist x2=-y1. Die ergibt im Endeffekt null.
-
Not Synced
Das ist, was wir für 12 Uhr erwartet haben.
-
Not Synced
Nächster Teil: y1y2 = y1 mal y1 minus x1x2
-
Not Synced
minus x1 mal minus x1 = x1 im Quadrat
-
Not Synced
y1 im Quadrat + x1 im Quadrat = 1
-
Not Synced
Wir können etwas herumspielen mit Additionen und Multiplikationen.
-
Not Synced
Diese Formel können wir verwenden, um alle möglichen Punkte zu addieren.
-
Not Synced
Okay.
-
Not Synced
Nun wird es noch etwas diskreter.
-
Not Synced
Wir können den Kreis vergessen der unendlich viele Punkte hat.
-
Not Synced
Sie können jede reelle Zahl nehmen und einfach Quadratwurzeln ziehen.
-
Not Synced
Wir machen das mit einem sehr kleinen Satz von Elementen.
-
Not Synced
Wir machen Takte über Suchfelder.
-
Not Synced
Ich beschränke mich jetztnur auf die Zahlen 0, 1 bis 6.
-
Not Synced
Das ist also, wofür diese F7 steht.
-
Not Synced
Es sollen auch diese Zahlen hinzugefügt werden, die ich multiplizieren möchte.
-
Not Synced
Ich multipliziere 2 und 5 und das ist größer als 10.
-
Not Synced
Diese Zahl ist größer als die Menge, die ich dort zur Verfügung habe.
-
Not Synced
Lasse ich nur 6 als größte Zahl zu, gehört 10 nicht zur Menge.
-
Not Synced
Ich werde i reduzieren und das Restmodul 7 annehmen.
-
Not Synced
Wir haben einige Python-Schnipsel versprochen.
-
Not Synced
Wir erfahren nun, wir wir beispielsweise alle diese Elemente finden können.
-
Not Synced
Wir gehen alle x zwischen 0 und 7 oder y zwischen 0 und 7 durch.
-
Not Synced
Wir überprüfen einfach, ob x mal x plus y mal y = 1 ist.
-
Not Synced
Ist dies der Fall, drucke ich das Doppelte xy aus.
-
Not Synced
Dann drücke ich die Eingabetaste und wir erhalten diese Punkte für das Bild.
-
Not Synced
Wir haben keine Null-Tilde verwendet. 6, wir möchten die Symmetrie beibehalten.
-
Not Synced
Von -3 bis + 3.
-
Not Synced
+ 3 ist in der y-Richtung und - 3 ist in der y-Richtung
-
Not Synced
Das ist der Punkt 01, also derselbe Punkt, den wir vorher auf der Uhr hatten.
-
Not Synced
Also ist dies der Uhrpunkt.
-
Not Synced
Es ist das Suchfeld zwei zwei
-
Not Synced
Okay.
-
Not Synced
Wir verwenden die Uhradditionsfunktion.
-
Not Synced
Wir zeigen eine Funktion, um Punkte hinzuzufügen, die Uhr über den Walzen.
-
Not Synced
Es ist hilfreich, Plus und Minus und Zeiten schreiben zu können ,
-
Not Synced
die diese Reduzierung automatisch durchführen, Mod 7.
-
Not Synced
In Python können wir einen Plus- und Minus- und Zeitentyp 4 und F7-Klasse einrichten.
-
Not Synced
Diese sind getrennt.
-
Not Synced
Das ist das Übliche für Plus-Minus und die Zeiten für Ganzzahlen.
-
Not Synced
Um dies einzurichten gehen Sie bitte wie folgt vor:
-
Not Synced
Hier ist eine F7-Klasse, eine Ganzzahl x liest und ein F7-Element initiiert.
-
Not Synced
Hierbei handelt es sich um die in der Ganzzahl Mod 7.
-
Not Synced
Wenn Sie F7 von 7 nehmen, wird 7 mod 7 berechnet.
-
Not Synced
-
Not Synced
Der Quotient ist 1
-
Not Synced
Der Rest ist 0
-
Not Synced
Man fügt 0 in self.int ein
-
Not Synced
Dieser Stir-and-Wrapper eventuell nicht die eleganteste Möglichkeit zum Drucken von Dingen
-
Not Synced
Beispielsweise der Tatsache, dass alles Mod 7 ist.
-
Not Synced
Wir drucken nur die Ganzzahl aus, die wir bei 7 erhalten.
-
Not Synced
7 Mod 7 gibt 0 und 10 mod 7,
-
Not Synced
war das Beispiel von Tanja eben, wo der Rest 3 ergibt.
-
Not Synced
Und 20 mod 7 subtrahiere ich eine 7, subtrahiere wieder 7 und man erhält eine 6.
-
Not Synced
Man kann also in diese F7 jede ganze Zahl eingeben, die man möchte.
-
Not Synced
Nehmen Sie sich diesen Integer-Mod7.
-
Not Synced
Nun können wir den F7-Instanzen einige weitere Funktionen hinzufügen.
-
Not Synced
Beispielsweise können Sie einen Gleichheitstest durchführen.
-
Not Synced
Pythons Standardgleichheit ist ziemlich dumm.
-
Not Synced
Sagen Sie ihm, dass das was ich eigentlich tun möchte folgendes ist:
-
Not Synced
Ich möchte diese Punkt-Int-Teile vergleichen, die der F7-Wert hat.
-
Not Synced
Okay
-
Not Synced
Nun wurde dieser F7-Typ um eine Gleichheit erweitert.
-
Not Synced
Sie können sehen, dass F7 von 10 und F7 von 3 gleich sind.
-
Not Synced
F7 von 0 und F7 von 2 sind nicht gleich.
-
Not Synced
Wir haben von 0 bis 6 als Möglichkeiten für die Werte einer Variablen ausgedrückt.
-
Not Synced
Dann folgt die Addition, Subtraktionen Multiplikation.
-
Not Synced
Schauen wir uns die Addition an, dann ist der typische Fall.
-
Not Synced
Sie nehmen zwei a und b, die hereinkommen.
-
Not Synced
Dann nehmen Sie eine Ganzzahl innerhalb einer Ganzzahl von 0 bis 6.
-
Not Synced
Addieren Sie diese auf der Seite b von 0 bis 6.
-
Not Synced
Sie erhalten 0 bis 12.
-
Not Synced
Diese geben Sie dann wieder in den F7 Konstruktor ein.
-
Not Synced
Sie haben jetzt wieder 0 bis 6.
-
Not Synced
Unten sind einige Beispiele von 2 plus 5 = 0
-
Not Synced
2 minus 5 ist - -3.
-
Not Synced
Das ist 4.
-
Not Synced
Wenn Sie in C programmieren, achten Sie auf folgendes:
-
Not Synced
Der Prozentwert darf den Mod nicht ausführen, den wir mathematisch wollen.
-
Not Synced
Pythons Prozentwert macht das Richtige und das ist C.
-
Not Synced
Ich gebe Dir negative Zahlen.
-
Not Synced
Prozent in Python gibt Dir immer 0 bis 6.
-
Not Synced
Oder 0 bis zu jeder Zahl, die Du genommen hast.
-
Not Synced
Ähm
-
Not Synced
2 mal 5 war wieder das Beispiel von 10, das Mod 7 dir 3 ergibt.
-
Not Synced
Okay.
-
Not Synced
Jetzt haben wir eine kleine Uhr gesehen.
-
Not Synced
Her könnte ich einfach alle Elemente zeichnen, wo es durch 49 Elemente laufen könnte.
-
Not Synced
Alles was Dan mit dem Python-Setup gezeigt hat, kann ich durch 7 oder eine größere Zahl ersetzen.
-
Not Synced
Sagen wir mal 1.000.003, das ist auch eine Primzahl.
-
Not Synced
Ich gehe hin und definiere eine Addition von Kurvenpunkten.
-
Not Synced
Das ist genau das, was wir vorhin auf der echten Uhr gemacht haben.
-
Not Synced
Nun werde ich die modernen Elemente 1.000.003 einfügen.
-
Not Synced
Ich nehme also meine Punkte und mache x1 y2 y1 x1 x2 und so weiter.
-
Not Synced
Dann komme ich zum Punkt zurück.
-
Not Synced
Wir machen nun ein Beispiel dazu.
-
Not Synced
Einer der vielen Punkte, die ich in die x-Koordinate einfüge ist 1000.
-
Not Synced
Denken Sie daran, dass es 1000 sind, mehrere Millionen 3.
-
Not Synced
Anschließend überprüfe ich, ob es eine y-Koordinate gibt und dazu passt.
-
Not Synced
Habe ich also 1000, erhalte ich eine Million minus im Quadrat und 2 ergibt 4.
-
Not Synced
Das ist nur 1 größer als die 1.000.003.
-
Not Synced
Ja, das ist ein gültiger Punkt.
-
Not Synced
Jetzt kann ich diesen Punkt übernehmen und addiere ihn zu sich selbst.
-
Not Synced
Ich setzt einfach p und p in die Addition ein, die 4007 ergibt.
-
Not Synced
Ich kann es immer und immer wieder zu sich selbst addieren.
-
Not Synced
Ich addiere immer weiter bis ich am Ende 6 Kopien habe.
-
Not Synced
Ich füge sie zusammen und habe nun diesen Punkt.
-
Not Synced
Wenn Du das siehst, denkst Du natürlich: Warte mal.
-
Not Synced
Muss ich tatsächlich alle diese 5 Ergänzungen machen?
-
Not Synced
Nein.
-
Not Synced
Wenn ich beispielsweise bei p3 aufgehört hätte.
-
Not Synced
Da ist dreimal ein Punkt und addiert dann p3 plus p3
-
Not Synced
Das sind also 3 Kopien plus weitere 3 Kopien, also 6 Kopien.
-
Not Synced
Für mich eben diese beiden Dinge das Gleiche.
-
Not Synced
Möchte ich das also professioneller machen, zeige ich, wie ich den Skala definieren würde.
-
Not Synced
Okay
-
Not Synced
Das ist eine rekursive Funktion zur Berechnung von n mal p.
-
Not Synced
Sie haben einen beliebigen Taktpunkt p in einem beliebigen Skalar.
-
Not Synced
Jede ganze Zahl n, die Sie möchten .
-
Not Synced
Sie nehmen das n, wenn es 0 ist.
-
Not Synced
Dann geben Sie den 12-Uhr-Punkt zurück.
-
Not Synced
Wenn es 1 ist, geben Sie den Punkt p einmal zurück.
-
Not Synced
p ist p
-
Not Synced
Und dann, wenn n gerade ist, dann ändert der Python seine Notation im Laufe des leicht.
-
Not Synced
Schrägstrich Schrägstrich ist der richtige Weg, um eine durch 2 geteilte ganze Zahl nehmen.
-
Not Synced
Und den Rest wegzuwerfen, so dass n Schrägstrich 2 ist, wenn n gerade ist.
-
Not Synced
Das ist genau, wenn n über 2 ist und dies rekursiv n über 2 mal p berechnet.
-
Not Synced
Wie zum Beispiel 3 mal p, wenn n gleich 6 ist.
-
Not Synced
Dann tastet aus q Komma q heraus, um das n über 2 mal p zu verdoppeln.
-
Not Synced
Man erhält np, wenn n ungerade ist.
-
Not Synced
Dann ist das n über 2 gut.
-
Not Synced
Anschließend nehmen Sie das dann mal p.
-
Not Synced
Verdoppeln sie das, was n minus 1 mal p ergibt.
-
Not Synced
Addieren Sie p dazu.
-
Not Synced
Das heißt, wenn n mod 2 ungleich Null ist, dann addieren Sie p zu q.
-
Not Synced
Schließlich erhalten Sie n mal p in allen unterschiedlichen Fällen.
-
Not Synced
Anschließend haben wir für das eine 6stellige Zahl n versucht.
-
Not Synced
Das wird hier auf der Folie nicht gezeigt.
-
Not Synced
Es ist geheim und es waren etwa 30 Taktadditionen erforderlich.
-
Not Synced
Dabei waren nicht sehr viele Multiplikationen, um n mal p zu berechnen.
-
Not Synced
Das ging sehr schnell.
-
Not Synced
Es kommt sofort heraus und das ist die Antwort.
-
Not Synced
Es gibt die x- und y-koordinaten von n mal p für das geheime n, das es war.
-
Not Synced
Nun ist es nicht mehr so offensichtlich, wie man herausfinden kann, was n ist.
-
Not Synced
Sieht man das n mal p, und arbeitet dann rückwärts zum n, dann weiß man, welches p ist.
-
Not Synced
Wissen Sie, was n mal p ist?
-
Not Synced
Sie wissen, dass n nicht zu groß ist.
-
Not Synced
Okay
-
Not Synced
Es gibt nur eine Million Möglichkeiten.
-
Not Synced
Das ist keine wirklich ausgefallene Berechnung.
-
Not Synced
Es wird allerdings einen Moment dauern, bis es erledigt ist.
-
Not Synced
Es ist etwas, bei dem der Computer durch einiges tuckern muss.
-
Not Synced
Sie können nun vielleicht versuchen, das schneller zu machen.
-
Not Synced
Allerdings könnten wir dann versuchen, die Zahlen größer zu machen.
-
Not Synced
Statt 1.000.003 könnten wir immer noch n mal p machen.
-
Not Synced
Wenn n viel größer ist und die 1.000.003 eine viel größere Primzahl ist.
-
Not Synced
Hier gibt es also eine kleine Herausforderung.
-
Not Synced
Sie können nun versuchen herauszufinden, was dieses n ist.
-
Not Synced
Dies ist schwieriger, als eine SMS an die Telefonnummer zu senden, die gerade nicht funktioniert.
-
Not Synced
Ooh! ... Gemurmel
-
Not Synced
Nehmen wir also an, wir machen es viel schwieriger.
-
Not Synced
Wir machen es sehr schwierig.
-
Not Synced
Wir haben das Gefühl, dass Sie es für Kryptographische verwenden möchten.
-
Not Synced
Jemand möchte die Taktkryptographie standardisieren .
-
Not Synced
Dann beginnen Sie mit der Standardisierung einer großen Primzahl p.
-
Not Synced
Große Zahl, aber keine Million.
-
Not Synced
So groß mit mehreren Tausend Bits.
-
Not Synced
Sie können auch folgendes machen:
-
Not Synced
Sie standardisieren einen Basispunkt.
-
Not Synced
Diese p auf der vorherigen Folie bedeutet:
-
Not Synced
Wir geben Ihnen p, wir geben Ihnen n-mal p.
-
Not Synced
Wir geben Ihnen einfach kein n.
-
Not Synced
Wir nehmen an, ass Ihnen jemand ein kleines p gibt, das die Primzahl ist.
-
Not Synced
Dieser Basispunkt P, x- und y-Koordinaten , die auf der Uhr stehen.
-
Not Synced
Was machen Alice und Bob, wenn sie kommunizieren wollen?
-
Not Synced
Ich würde gerne etwa an den Warp schicken.
-
Not Synced
"Ich bin Bob".
-
Not Synced
Dann wählt Alice aus.
-
Not Synced
Mein Geheimnis ist a.
-
Not Synced
Berechne a mal diesen Basispunkt.
-
Not Synced
Dies ist die Berechnung, die du gerade auf der vorigen Folie gesehen hast.
-
Not Synced
Sie ist immer noch sichtbar.
-
Not Synced
Dies ist also genau wie eine logarithmische Zeit von der Größe l von a.
-
Not Synced
Anschließend sende ich das an n.
-
Not Synced
Dann denke ich, ich muss etwas berechnen.
-
Not Synced
Ich nehme mein eigenes großes Geheimnis b, das ich niemandem verraten werde.
-
Not Synced
Dann berechne ich b mal das gleiche Standard-x-Komma-y.
-
Not Synced
Ich sende mein b-mal x-Komma-y über Dallas zurück.
-
Not Synced
Alles klar.
-
Not Synced
Jetzt habe ich also sein b mal den Basispunkt.
-
Not Synced
Er hat mein a mal Basispunkt.
-
Not Synced
Ich weiß jetzt noch, was mein a war.
-
Not Synced
Ich nehme nun dieses a und die Basis am neuen Punkt, den er mir gerade gesendet hat.
-
Not Synced
Dann setze ich diesen Punkt in die Skarlarmultiplikation ein.
-
Not Synced
Ich mache die gleichen Schritte genauso gut am Punkt zu sich selbst.
-
Not Synced
Und manchmal am Punkt zu dem Punkt, den er mir geschickt hat.
-
Not Synced
Dies sind also die gleichen Schritte hier, außer dass dieses p jetzt der Punkt ist, den er mir gesendet hat.
-
Not Synced
Dies ist nicht mehr der Basispunkt.
-
Not Synced
Auf diese Art und Weise berechne ich a mal b mal p.
-
Not Synced
Okay.
-
Not Synced
Nun bekomme ich ihr a mal x Komma y.
-
Not Synced
Ich nehme mein geheimes b und multipliziere es mit dem a mal x Komma y.
-
Not Synced
Nun bekomme ich mein b mal a mal den Punkt x Komma y.
-
Not Synced
Ich habe das gleiche Ergebnis erhalten.
-
Not Synced
Nun hat sie a b mal x y berechnet.
-
Not Synced
Ich habe b a mal x y berechnet.
-
Not Synced
Das ist dasselbe.
-
Not Synced
Sie sind beide a mal b Vielfache von x y.
-
Not Synced
Wir addieren a mal b Kopien von x y.
-
Not Synced
Nun verwenden wir a gemeinsames Geheimnis zum Verschlüsseln von Daten.
-
Not Synced
In Ordnung.
-
Not Synced
Wir haben auch ein Bild davon.
-
Not Synced
Nur wenn wir nichts anderes machen.
-
Not Synced
Und Bob, hier sehen Sie, wie die Nachricht jetzt verbreitet wird.
-
Not Synced
Sollten Sie der Lauscher sein, wollen Sie herausfinden, was wir haben.
-
Not Synced
Du kannst nicht sehen, was ich hier mache.
-
Not Synced
Du kannst nicht sehen, was Dan hier macht.
-
Not Synced
Du kannst nur sehen, was hierher gesendet wird.
-
Not Synced
Du weißt, was das kleine P ist und was der Basispunkt ist.
-
Not Synced
Das ist das, was wir uns wünschen.
-
Not Synced
Nun gibt es aber einige Vorbehalte:
-
Not Synced
Verwenden Sie nicht einfach irgendein Primzahl-P.
-
Not Synced
Viele Auswahlmöglichkeiten von P sind unsicher.
-
Not Synced
Warnung!
-
Not Synced
Zweitens: Dies ist immer noch die Uhr.
-
Not Synced
Und wir haben am Anfang gesagt, dass Uhren keine elliptischen Kurven sind.
-
Not Synced
Nur elliptische Kurven sind gut.
-
Not Synced
Demnach sind die Uhren eigentlich ziemlich gut.
-
Not Synced
Sollte es um die Sicherheit gehen, ist es das Gleiche wir "RSA" oder "Finde das Feld".
-
Not Synced
Wenn Sie etwas finden möchten, das RSA 3072 Bits hat, dann muss Ihre Uhr die Primzahl haben.
-
Not Synced
Die Uhr muss 1536 haben, also halb so viele Bits wie RSA Zahlen.
-
Not Synced
Das ist nicht das, was Sie tatsächlich möchten.
-
Not Synced
Okay.
-
Not Synced
Dritte Warnung: Timing-Angriffe
-
Not Synced
Eben haben viele von Ihnen über Bleichenbahcer-Angriffe gegen SSL gesprochen.
-
Not Synced
Viele der Informationen von einem angegriffenen Server oder Client stammen vom Timing..
-
Not Synced
Der Angreifer sieht sich nicht nur das Abhören der öffentlichen Schlüssel a mal x y und b mal x y an.
-
Not Synced
Er sieht auch, wie lange sie für Berechnungen gebraucht haben.
-
Not Synced
Der Angreifer kann sogar oft sehen, wie lange Sie für jeden einzelnen Vorgang gebraucht haben.
-
Not Synced
Das haben sie gemacht, weil es elektromagnetische Emissionen oder Funkemissionen oder Cache-Effekte auf virtuellen Maschinen gibt.
-
Not Synced
Diese wirken sich auf andere virtuelle Maschinen aus, die unter demselben Hypervisor auf derselben physischen Hardware ausgeführt werden.
-
Not Synced
Sie können dann als Angreifer auf alle möglichen Informationen zugreifen, die Alice und Bob brauchen.