Return to Video

djb, Tanja Lange: ECCHacks

  • 0:09 - 0:15
    Entschuldigung für die technischen Schwierigkeiten, für den wirklich sinnvollen Teil des Vortrags gebe ich nun hier weiter an Tanja.
  • 0:15 - 0:19
    Hallo, ich bin Tanja und neben mir ist Dan, falls das noch nicht bekannt war.
  • 0:19 - 0:21
    (laughter)
  • 0:21 - 0:27
    Also das hier ist über Crypto und ein paar Elliptic curves, daher hoffen wir dies ist eine sanfte Einführung ist
  • 0:27 - 0:29
    Wenn es zu langweilig ist, naja, es ist spät am Abend, also machen Sie ein kurzes Schläfchen
  • 0:29 - 0:33
    wachen Sie ab zu und zu auf und schauen, ob es noch verständlich ist
  • 0:33 - 0:35
    Also warum Cryptography?
  • 0:35 - 0:39
    Wenn Sie Crypto im Internet verwenden oder für elektronische Zahlungen
  • 0:39 - 0:43
    Dann sehen sie zum Beispiel ein SSL Zertifikat in welchem Crypto verwendet wird.
  • 0:43 - 0:47
    Wenn Sie einen elektronischen Pass oder einen elektronischen Personalausweis haben, welcher Signaturen nutzt
  • 0:47 - 0:53
    Wenn Sie TLS verwenden um vertrauliche Daten zu senden, dann möchten Sie Verschlüsselung nutzen
  • 0:53 - 1:00
    Wenn Sie also einen SSL-Exchange haben, nutzen sie z.B. RSA, Diffie-Hellmann oder ECDH.
  • 1:00 - 1:06
    Und um EC, ECDH und ECDSA geht es heute in diesem Vortrag.
  • 1:06 - 1:10
    Außerdem gibt es noch einen großer Anteil an Crypto, der secret key cryptography.
  • 1:10 - 1:14
    Das ist wirkliche eine coole Sache, es ist viel viel schneller als alles worüber wir Ihnen heute erzählen.
  • 1:14 - 1:18
    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.
  • Not Synced
    Sie sehen diese Berechnung nicht wirklich, aber Sie sehen die physikalischen Auswirkungen dieser Berechnung.
  • Not Synced
    Stellen Sie sich einfach vor, Eves Ohr ist genau hier.
  • Not Synced
    Sie kann hören und sie kann spüren, was die Berechnungen bewirken.
  • Not Synced
    Tatsächliche können Sie das akustische Summen von Ihrer CPU hören, sofern Sie ein ausreichend gutes Mikrofon daneben platzieren.
  • Not Synced
    Dies hängt auch von den Berechnungen ab, die es ausführt.
  • Not Synced
    Es gibt hier einige echte Beispiele für Timing-Angriffe.
  • Not Synced
    2 von er 3 ausgewählten Beispielen sind ECC Beispiele.
  • Not Synced
    Ein Beispiel davon ist der Lucky-13-Angriff.
  • Not Synced
    Ich war nicht gegen ECC. Das ist eine andere Art von Timing-Angriff.
  • Not Synced
    Wir wollen Ihnen die Vorstellung vermitteln, dass Timing-Angriffe wirklich wichtig sind.
  • Not Synced
    Dies ist ein Großteil dessen, was bei echten Kryptowährungen schief läuft.
  • Not Synced
    Abgesehen von deren Unbrauchbarkeit und anderen kleinen Problemen.
  • Not Synced
    Ähm
  • Not Synced
    Die Lösung für dieses spezielle Problem und um das Timing zu sehen ist folgendes:
  • Not Synced
    Die Berechnungen müssen immer in konstanter Zeit durchgeführt werden.
  • Not Synced
    Unabhängig von Ihrem Skalar dürfen Sie je nach Skala nicht unterschiedlich viel Zeit aufwenden.
  • Not Synced
    Wenn Sie einfach immer dieser Regel folgen, haben Sie bei jedem Geheimnis bei geheimes Timing mehr.
  • Not Synced
    Der Angreifer erhält nichts.
  • Not Synced
    Ihr gesamtes Timing ist öffentlich.
  • Not Synced
    Selbstverständlich ist es etwas mühsam, Berechnungen durchzuführen.
  • Not Synced
    Auf diese Weise können Sie es immer tun, aber es verlangsamt die Dinge sehr.
  • Not Synced
    Ich denke, das ist leichter gesagt als getan.
  • Not Synced
    Lasst uns zurück zu Warnung Nr. 2 gehen.
  • Not Synced
    Wir nehmen an, dass Constantine sich um Warnung Nr. 3 kümmert.
  • Not Synced
    Wir gehen zurück zu Warnung Nr. 2.
  • Not Synced
    Uhren sind nicht elliptisch.
  • Not Synced
    Lasst uns diesen Kreis, diese Uhr in eine elliptische Kurve verwandeln.
  • Not Synced
    Wir nehmen also den Kreis und drücken ...
  • Not Synced
    Mathematisch führen wir nun einen zusätzlichen Term ein, statt dass x zum Quadrat plus y zum Quadrat = 1 ist.
  • Not Synced
  • Not Synced
    Wir sagen, dass x zum Quadrat plus y zum Quadrat =1 ist minus 30 * xy zum Quadrat ist.
  • Not Synced
    Also ist dieser zusätzliche Term hier die Differenz zwischen einem Kreis und eine gegenläufige Kurve.
  • Not Synced
    Oder eine elliptische Kurve.
  • Not Synced
    Diese bestimmte Kurve wird also eine Eiwarts-Kurve genannt.
  • Not Synced
    Aber es ist ein Beispiel für elliptische Kurven.
  • Not Synced
    Ich möchte nun Punkte hinzufügen.
  • Not Synced
    Wir erinnern uns daran, wie es auf dem Kreis aussah.
  • Not Synced
    Auf dem Kreis hatte ich den neutralen Betrag.
  • Not Synced
    Oben behalte ich das bei.
  • Not Synced
    Das Hinzufügen von irgendetwas zur 12-Uhr-Position ändert nicht an dem Wert.
  • Not Synced
    Der Wert ist hier immer noch derselbe.
  • Not Synced
    Ich habe hier nur p1, p2 und p3 durch diese Formeln hinzugefügt.
  • Not Synced
    Nun funktionieren diese normalerweise nicht auf der elliptischen Kurve.
  • Not Synced
    Der Grund ist, weil es dieses minus 30 x Quadrat y Quadrat gibt.
  • Not Synced
    Daher müssen wir auch hier unten eine kleine Anpassung vornehmen.
  • Not Synced
    Daher gibt es nun einen Nenner.
  • Not Synced
    Nehmen Sie d = 0 an, dann ändert sich die Formel in den Kreis
  • Not Synced
    Auch in die Additionsformeln ändern Sie den Kreis, denn diese 30 hier ist eine Null.
  • Not Synced
    Sie wird also einfach durch 1 geteilt.
  • Not Synced
    Der Kreis kommt als Sonderfall für diese elliptische Kurve heraus.
  • Not Synced
    Nun nehmen wir minus 30 und haben eine schöne elliptische Kurve.
  • Not Synced
    Die Additionsformeln sind nicht viel schlimmer. Sie sind nur ein kleiner zusätzlicher Term.
  • Not Synced
    Okay
  • Not Synced
    Sie können, wenn Sie eine Primzahl p haben, 7.000.003 oder etwas viel Größeres nehmen.
  • Not Synced
    Sie können jedes nichtquadratische d nehmen, welches ungefähr minus 30 ist.
  • Not Synced
    Jedes d, das kein Quadrat von irgendetwas Modulo ist p.
  • Not Synced
    Dies ist etwas, das Sie schnell überprüfen können.
  • Not Synced
    Dann können Sie folgendes aufschreiben:
  • Not Synced
    Die Kurve im Quadrat plus y im Quadrat = 1 plus d.
  • Not Synced
    Das ist eine elliptische Kurve.
  • Not Synced
    ... ?
  • Not Synced
    ... dann Uhr dann Kryptographie.
  • Not Synced
    Dann ist diese zusätzliche kleine Komplikation alles, was Sie für due Elliptische-Kurven-Kryptographie benötigen.
  • Not Synced
    Es gib die Additionsformel, die gerade aus den mathematischen Formeln bei ein paar vorangegangenen Folien übersetzt wurde.
  • Not Synced
    Sie sieht fast genauso aus, wie zuvor.
  • Not Synced
    Außer, dass bei x3 und y3 das d an der Stelle des as im Nenner kommt.
  • Not Synced
    Nun könnten Sie sich über dieses Sprichwort beklagen.
  • Not Synced
    Warten Sie eine Minute, bevor Sie dividieren.
  • Not Synced
    Sind Sie überhaupt in der Lage zu dividieren?
  • Not Synced
    Was passiert, wenn Sie durch Null dividieren?
  • Not Synced
    Vielleicht funktionieren diese Formeln nicht immer.
  • Not Synced
    Das ist ein wichtiger Punkt, auf den Sie achten müssen.
  • Not Synced
    Achten Sie daraus, dass Sie, wenn Sie durch etwas dividieren, nicht durch Null dividieren dürfen.
  • Not Synced
    Es stellt sich aber heraus, dass die Nenner dort 1+dx1x2y1y2 und 1-dx1x2y1y2 sind.
  • Not Synced
    2 davon sind niemals gleich 0.
  • Not Synced
    Diese Formeln sind vollständig.
  • Not Synced
    Sie funktionieren immer.
  • Not Synced
    Ich denke, dass Sie glauben, Formeln sollten immer funktionieren.
  • Not Synced
    Es ist ganz ärgerlich, wenn es Ausnahmefälle gibt.
  • Not Synced
    Aber in der Kryptographie mit elliptischen Kurven gibt es so viele Ausnahmefälle.
  • Not Synced
    Die Menschen machen sich oft Sorgen.
  • Not Synced
    Einer der Gründe, warum wir diese diese Art von elliptischer Kurve mögen, ist, dass es keine Ausnahmefälle gibt.
  • Not Synced
    Wir bezeichnen das Additionsgesetz als vollständig.
  • Not Synced
    Falls Sie sich ansehen, wie der mathematische Teil des Beweises funktioniert, ist folgendes wichtig:
  • Not Synced
    d war kein Quadrat. Aber auch das ist etwas, das Sie leicht überprüfen können.
  • Not Synced
    Und haben Sie sich erst einmal für ein d entschieden, das nicht quadratisch ist und das jeder verwenden kann, wird es in den Formeln nie Ausnahmen geben.
  • Not Synced
    Wenn Ihr d - äh - quadratisch ist, dann können Sie sich die gleichen Formeln aufschreiben.
  • Not Synced
    Meistens funktionieren sie, aber es gibt Ausnahmefälle.
  • Not Synced
    Und wir werden noch viel mehr über Ausnahmefälle erfahren.
  • Not Synced
    Und das Ärgerliche daran ist nicht nur, dass sie schwer zu programmieren sind.
  • Not Synced
    Sondern, wenn man irgendwelche Fehler macht, wird es schwierig sein, diese Fehler zu finden und auf diese Fehler zu testen.
  • Not Synced
    Und wenn ein Angreifer mehr darüber nachdenkt und ihnen einige Punkte geben wird, die diese Fehler ausnutzen, bricht das oft echtes ECC.
  • Not Synced
    Es ist also besser, eine Kurve zu nehmen, wo das d kein Quadrat ist.
  • Not Synced
    Dann müssen Sie sich überhaupt keine Sorgen mehr darüber machen.
  • Not Synced
    Okay.
  • Not Synced
    Mit mehr als einem letzten Feld pro Sekunde ...?
  • Not Synced
    Unterteilungen ...
  • Not Synced
    Wenn Sie die implementieren, die Sie vorher im Python-Skript gesehen haben, haben wir nichtmals Unterteilungen eingefügt.
  • Not Synced
    Wir haben Sie online, aber es ist so, als ob es eine Weile dauert.
  • Not Synced
    Es ist unangenehm.
  • Not Synced
    Es dauert sogar noch länger, wenn Sie sich Sorgen über ständige Zeitbeschränkungen machen.
  • Not Synced
    Also fangen wir an.
  • Not Synced
    Trennen Sie sich von den Unterteilungen.
  • Not Synced
    Das ist so wie "Doktor, Doktor, mein Knie schmerzt" und er sagt dann: "Verwenden Sie es nicht".
  • Not Synced
    Aber Matthew, hier können wir die Verwendung von Trennungen vermeiden.
  • Not Synced
    Sollten Sie sich daran erinnern, wie Sie mit Brüchen a über b und c über d gearbeitet haben, dann vergessen Sie es nicht.
  • Not Synced
    Bei einem Bruch multiplizieren Sie einfach die Nenner und kreuzen die Zähler und Sie können addieren.
  • Not Synced
    Daher machen wir mit unseren Punkten das Gleiche.
  • Not Synced
    Wir führen eine zusätzliche Koordinate ein, die Z-Koordinate.
  • Not Synced
    Sie ist nur der Nenner.
  • Not Synced
    Anstatt sie als xy Punkt zu speichern, speichern wir jetzt x y und z.
  • Not Synced
    Hierbei bedeutet x und y, dass das alte x und y x/z und y/z ist.
  • Not Synced
    Sie können aber auch etwas abenteuerlustiger sein.
  • Not Synced
    Sie erzielen dann eine bessere Geschwindigkeit, wenn Sie eine zusätzliche Koordinate namens t einführen.
  • Not Synced
    t = xy / z.
  • Not Synced
    Sind Sie daran interessiert, wie sie das effizient tun und tatsächlich computerverifizierte Formeln erhalten?
  • Not Synced
    Dann besuchen Sie bitte die explizierte Gründerdatenbank unter dem dortigen Link.
  • Not Synced
    Okay.
  • Not Synced
    Wir kommen nun zum Aussehen von Kryptowährungen zurück.
  • Not Synced
    Wir ersetzen die Uhr durch eine elliptische Kurve.
  • Not Synced
    Das macht die Formeln noch komplizierter.
  • Not Synced
    Außerdem muss noch eine zusätzliche Auswahl getroffen werden.
  • Not Synced
    Nicht nur die Primzahl p ist standardisiert, sodass jeder sie verwenden kann.
  • Not Synced
    Standardisieren Sie dieses d, das kein Quadrat ist.
  • Not Synced
    Es muss eine sichere Wahl sein.
  • Not Synced
    Denken Sie an die Warnung Nr. 1
  • Not Synced
    Es gibt viele unsichere Entscheidungen.
  • Not Synced
    Es gibt viele mögliche Standardkriterien.
  • Not Synced
    Diese müssen überprüft werden, um sicherzustellen, das es sich um sichere Entscheidungen handelt.
  • Not Synced
  • Not Synced
    Am Ende des Vortrags werden mehr über Standards sagen.
  • Not Synced
    Alice hat dann wie vorher ihren geheimen Schlüssel und multipliziert diesen mit x, y und
  • Not Synced
    Oh
  • Not Synced
    Ich überspringe, was auf dieser Folie steht.
  • Not Synced
    Auf dieser Folie steht auch Bobs öffentlicher Schlüssel b mal xy
  • Not Synced
    Das hört sich alles so an, als wäre es auf der Uhr gewesen.
  • Not Synced
    Alice nimmt jetzt das b mal xy.
  • Not Synced
    Dann multipliziert sie mit a.
  • Not Synced
    Das ergibt a b xy
  • Not Synced
    Sie merkt sich dann, dass a b xy das Geheimnis a zum Verschlüsseln und Authentifizieren von Daten ist.
  • Not Synced
    Wir haben jetzt elliptische Kurven.
  • Not Synced
    Daher müssen wir uns keine Sorgen mehr darüber machen, dass eine Indexrechnung alles kaputt macht.
  • Not Synced
    Wir brauchen keine Tausenden von Bits.
  • Not Synced
    Hier sind nun einige tatsächliche reale Größen für elliptische Kurven Kryptographie.
  • Not Synced
    Inklusive ist die gesamte und Geheimschlüsselverschlüsselung und Authentifizierung des öffentlichen Schlüssels.
  • Not Synced
    Sie können eine Primzahl haben, die nur 256 Bit groß ist.
  • Not Synced
    Wir werden später sagen, dass Sie x und y nur auf 256 Bit reduzieren können.
  • Not Synced
    Das reduziert dann den öffentlichen Schlüssel von Alice um ein Vielfaches.
  • Not Synced
    x, y wird auf nur 32 Bytes reduziert.
  • Not Synced
    Diese wird Alice an Bob senden.
  • Not Synced
    Dann gibt es noch ein paar zusätzliche Dinge für eine Nonce, eine Zufallszahl.
  • Not Synced
    Damit Sie nicht jedes Mal, wenn Sie senden, dieselbe Nachricht auf die gleiche Weise verschlüsseln müssen.
  • Not Synced
    Sollte jemand sehen können, dass sich die Verschlüsselung wiederholt, gibt es auch einen Authentificator.
  • Not Synced
    Bob kann damit überprüfen, ob das Paket korrekt ist.
  • Not Synced
    Dann erhält Bob sein Paket.
  • Not Synced
    Er sagt: "oh ja, es ist ein Paket von Alice."
  • Not Synced
    Es gibt Alices öffentlichen Schlüssel, Farös Bob dem geteilten Schlüssel nicht kannte.
  • Not Synced
    Bob nimmt sein Geheimnis, multipliziert es mit dem öffentlichen Schlüssel und erhalt dasselbe b a x,y.
  • Not Synced
    Dann führt er die Krytographie mit geheimem Schlüssel durch.
  • Not Synced
    Er verifiziert das eingehende Paket.
  • Not Synced
    Er verifiziert den Authentifikator unter Verwendung der Nonce und des öffentlichen Schlüssels von Alice.
  • Not Synced
    Er hat zu diesem Zeitpunkt bestätigt, dass das natürliche von Alice ist.
  • Not Synced
    Hat Bob noch nie von Alices öffentlichem Schlüssel gehört, weiß er nicht, wer Alice ist.
  • Not Synced
    Aber er erhält Kontinuität zwischen den unterschiedlichen Verwendungszwecken.
  • Not Synced
    Sie fügen dann Zertifikate oder andere öffentliche Schlüsselinfrastruktur hinzu.
  • Not Synced
    Dadurch wissen Sie tatsächlich, wer sie sind.
  • Not Synced
    Wir reden über alles, was hier passiert.
  • Not Synced
    Dadurch ist das ganze öffentliche Schlüssel- und Geheimschlüsselzeug so schnell.
  • Not Synced
    Wir können es uns leisten, das für jedes einzelne Paket zu machen, das durch das Internet läuft.
  • Not Synced
    Gut.
  • Not Synced
    Wir haben Ihnen im Moment noch nicht gesagt, was Sie verwenden sollen.
  • Not Synced
    Hier ist nun ein sicheres Beispiel.
  • Not Synced
    Sie halten den Mund.
  • Not Synced
    Dies ist also ein sicheres Beispiel, das dann nicht beworben werden sollte.
  • Not Synced
    Es ist sein eigenes.
  • Not Synced
    Ähm
  • Not Synced
    Ich kann aber sagen, dass es ein gutes Beispiel ist.
  • Not Synced
    Sollten Sie also eine große Primzahl als Ihre Primzahl nehmen, hat sie 255 Bits.
  • Not Synced
    Es ist eine sehr schöne Primzahl.
  • Not Synced
    Das Berechnungsmodul für diese Primzahl ist schnell.
  • Not Synced
    Sie liegt sehr nahe an einer Zweierpotenz.
  • Not Synced
    Sie führen also diesen Mod aus.
  • Not Synced
    Diese Prozentoperation kann diese Zahl sehr schnell reduzieren.
  • Not Synced
    Dann sieht d ziemlich klein aus.
  • Not Synced
    Hier haben Sie auch eine AdWords-Kurve.
  • Not Synced
    Es gibt eine andere Edwards-Kurve.
  • Not Synced
    Sie nimmt das gleiche d.
  • Not Synced
    Sie fügt dort nur ein Minus ein.
  • Not Synced
    ...
  • Not Synced
    Aktuell ist es genau die gleiche Kurve ...
  • Not Synced
    ...
  • Not Synced
    ... Quadratwurzel von Minus 1
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    Aktuell haben wir viele Wege ...
  • Not Synced
    ...
  • Not Synced
    ...
  • Not Synced
    Wir haben Ihnen bisher gezeigt, dass die Uhr, Inder Sie in die Ecken quetschen, eine Werbekurve ist.
  • Not Synced
    Ich hätte hier gerne einen zusätzlichen Begriff wie diesen minus 1.
  • Not Synced
    Ich behalte mir hier im Allgemeinen einen Koeffizienten vor.
  • Not Synced
    Den kann ich dann eingeben.
  • Not Synced
    Äh
  • Not Synced
    Zum Beispiel minus 1.
  • Not Synced
    Das nennt man eine verdrehte Edwards-Kurve.
  • Not Synced
    Es gibt noch ein paar andere Dinge, die man in Lehrbüchern findet.
  • Not Synced
    Diese nennt man Weierstraß-Kurven.
  • Not Synced
    Es gibt auch noch den Motgomery-Fluch.
  • Not Synced
    Diesen kann man sich als Sonderfall vorstellen.
  • Not Synced
    Die Weierstraßkurven haben eine ähnliche Form wie Y-Quadrat = X-Quadrat.
  • Not Synced
    Hier gibt es einige unterschiedliche Begriffe.
  • Not Synced
    Wenn Sie einen Fluch haben, können Sie von einem zum anderen und zurück wechseln.
  • Not Synced
    Beispielsweise von einer Montgomery-Kurve zu einer Edward Kurve.
  • Not Synced
    Okay.
  • Not Synced
    Aus historischen Gründen findet mal normalerweise Standards für ECC.
  • Not Synced
    Okay.
  • Not Synced
    Haltet Euch zurück. Das wird schrecklich.
  • Not Synced
    Das sind Weierstraß-Kurven.
  • Not Synced
    Hier ist das Additionsgesetz.
  • Not Synced
    Es zeigt, wie man 2 Punkte auf einer Virus-Kreuzkurve addiert.
  • Not Synced
    Kurze Pause. Zwischenrufe!
  • Not Synced
    Oh, das ist gar nicht so schlecht.
  • Not Synced
    Es gibt 6 verschiedene Fälle.
  • Not Synced
    Wir gehen sie mal durch.
  • Not Synced
    Nein, nein, lasst uns sie nicht durchgehen.
  • Not Synced
    Das ist - äh - wenn Du nur einen Teil davon nimmst.
  • Not Synced
    Dann könnte es so aussehen, als würde es die meiste Zeit funktionieren.
  • Not Synced
    Meistens funktionieren die ersten Formeln.
  • Not Synced
    Solange, bis man etwas Verrücktes wie p + p macht und es dann nicht funktioniert.
  • Not Synced
    Dann gibt es immer mehr Ausnahmefälle.
  • Not Synced
    In einigen dieser Fälle merkt man es zunächst gar nicht.
  • Not Synced
    Un dann versucht man einen Code dafür zu schreiben.
  • Not Synced
    Dann funktioniert es.
  • Not Synced
    Es geht einfach immer weiter.
  • Not Synced
    Dann versucht man es zu testen und ist sich nicht sicher, ob man alle Tests richtig gemacht hat.
  • Not Synced
    Aber okay.
  • Not Synced
    Das ist das, was man in ECC-Standards findet.
  • Not Synced
    Alles klar.
  • Not Synced
    Schöner als Weierstrass- und Montgomery-Kurven ist eine unserer Lieblingskurven.
  • Not Synced
    Hier sehen Sie die gesamte Arithmetik.
  • Not Synced
    Die Ausnahme ist, dass ich Ihnen nicht gezeigt habe, wie ich den Austausch mit konstanter Zeit durchführen werde.
  • Not Synced
    Hier gibt es ein bedingtes Bit, das x2 mit x3 vertauscht.
  • Not Synced
    Wir können das in konstanter Zeit erledigen.
  • Not Synced
    Ersetzen Sie diese Anweisung durch etwas, das folgendes besagt:
  • Not Synced
    "Es bleibt oder es wird ausgetauscht."
  • Not Synced
    Das ist eine ganze Addition auf Montgomery.
  • Not Synced
    Für jedes Bit machen Sie diese paar Schritte.
  • Not Synced
    Und Sie gehen die 255 Bits durch, die dort angegeben sind.
  • Not Synced
    Dies ist ein weiterer schöner Fall von Arithmetik.
  • Not Synced
    Beachten Sie bitte, dass wir hier nur eine x-Koordinate.
  • Not Synced
    Für die Edwards-Kurve hätten wir x und y.
  • Not Synced
    Es gibt also einige Unterschiede in dem, was wir damit machen.
  • Not Synced
    Wir teilen Ihnen mit, dass wir über Standards sprechen werden.
  • Not Synced
    Woher beziehen Sie Ihre Standards und wie können Sie diese verteidigen?
  • Not Synced
    Sie treten gegen jemanden an, der mit einem Mathematiker antritt.
  • Not Synced
    Mathematiker sind gruselige Menschen.
  • Not Synced
    Sie kennen alle Arten von Angriffen.
  • Not Synced
    Falls Sie diese Angriffe sehen wollen, haben wir am Ende ein paar URLs.
  • Not Synced
    Aber im Grund kennen wir diese Angriffe.
  • Not Synced
    Vereinbaren Sie bestimmte Eigenschaften, die Ihre Kurve haben soll.
  • Not Synced
    Und was diese Standards Ihnen garantieren.
  • Not Synced
    Wählen Sie einen dieser Standards aus und die Kurve ist für den folgenden Angriff sicher.
  • Not Synced
    Jemand sieht das Ergebnis Ihrer Berechnung.
  • Not Synced
    Er kennt den Basispunkt.
  • Not Synced
    Er kennt Ihren öffentlichen Schlüssel.
  • Not Synced
    Er ist aber nicht in der Lage herauszufinden, was Ihr a oder b war.
  • Not Synced
    Man nennt dies das Problem des elliptischen. diskreten Logarithmus.
  • Not Synced
    Und wir haben ganz viele Arbeiten, um die Härte zu untersuchen.
  • Not Synced
    Als Mathematiker untersuchen wir, wie schwer es bei einer bestimmten Kurve ist, eine Lösung zu finden.
  • Not Synced
    Wir wollen das elliptische, diskrete Protokollproblem lösen.
  • Not Synced
    Sie möchten beispielsweise, dass Ihr Punkt, wenn Sie ihn mehrmals mit sich selbst addieren über eine lange, lange, Zeit verschiedene Punkte ergibt.
  • Not Synced
    Bis Sie zum Beispiel wieder zum gleichen Punkt zurück gelangen.
  • Not Synced
Title:
djb, Tanja Lange: ECCHacks
Description:

more » « less
Video Language:
English
Duration:
55:38

German subtitles

Revisions Compare revisions