1 / 51

Untersuchung des NTRU – Algorithmus für die Tauglichkeit

Untersuchung des NTRU – Algorithmus für die Tauglichkeit zur Hardwareakzeleration von Kryptoverfahren im Bereich skalierbarer Sicherheit. Danijel Vollstädt. 0. zugrundeliegende Arbeiten 1 / 38. Fachbereich Informatik, Arbeitsbereich TAMS. M. Böttger

lala
Download Presentation

Untersuchung des NTRU – Algorithmus für die Tauglichkeit

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Untersuchung des NTRU – Algorithmus für die Tauglichkeit zur Hardwareakzeleration von Kryptoverfahren im Bereich skalierbarer Sicherheit Danijel Vollstädt

  2. 0. zugrundeliegende Arbeiten1 / 38 Fachbereich Informatik, Arbeitsbereich TAMS M. Böttger Komplexitätsabschätzung von hardwareakzelerierten Attacken auf ECC-Kryptoverfahren, Universität Hamburg, 2002 S. Witt, P. Hartmann (Studienarbeit) Vergleichende Analyse und VHDL-basierte Implementation von Zufallsgeneratoren auf Chipkarten, Universität Hamburg, 2001 S. Gorr Konzeption, Evaluierung und Implementation eines Akzelerators für Elliptische Kurven, Universität Hamburg, 2000 F. Bohnsack Untersuchung von Elliptischen Kurven für die Tauglichkeit zur Hardwareakzeleration von Kryptoverfahren, Universität Hamburg,1997

  3. 1. Motivation 2 / 38 Übersicht 1. Motivation 2. mathematische Grundlagen 3. intuitives Beispiel 4. binäres Beispiel 5. Komponenten 6. Syntheseergebnisse 7. Ergebnisse und Ausblick

  4. 1. Motivation 2 / 38 Übersicht 1. Motivation 2. mathematische Grundlagen 3. intuitives Beispiel 4. binäres Beispiel 5. Komponenten 6. Syntheseergebnisse 7. Ergebnisse und Ausblick

  5. 1. Motivation 3 / 38 Anwendungsgebiete • Chipkarten • z.B. Schipaß, Fahrkarten, Parkhauskarten • Dongle • z.B. Softwareschutz, Internetzugang • Handy • z.B. Authentifizierung, Gesprächsverschlüsselung

  6. 1. Motivation 4 / 38 Schickt den Koffer zum Empfänger Schickt den Koffer zum Absender Entfernt das eigene Schloß Entfernt das eigene Schloß Prinzip des Diffie-Hellman-Schlüsselaustauschs Absender Empfänger

  7. 1. Motivation 5 / 38 Schlüssellängenvergleich von RSA, ECC und NTRU RSA – Rivest Shamir Adleman ECC – Elliptic Curve Cryptography NTRU – Number Theory Research Unit

  8. 1. Motivation 6 / 38 Die Verschlüsselungszeiten im Vergleich

  9. 1. Motivation 7 / 38 Die Entschlüsselungszeiten im Vergleich

  10. 2. mathematische Grundlagen8 / 38 Übersicht 1. Motivation 2. mathematische Grundlagen 3. intuitives Beispiel 4. binäres Beispiel 5. Komponenten 6. Syntheseergebnisse 7. Ergebnisse und Ausblick

  11. 2. mathematische Grundlagen 9 / 38 Arithmetik in Polynomringen: Addition maximaler Polynomgrad: N-1maximaler Koeffizientengrad: q-1 (mod q)

  12. 2. mathematische Grundlagen 10 / 38 Arithmetik in Polynomringen: Multiplikation (mod q)

  13. 2. mathematische Grundlagen 10 / 38 Arithmetik in Polynomringen: Multiplikation (mod q)

  14. 2. mathematische Grundlagen 10 / 38 Arithmetik in Polynomringen: Multiplikation (mod q)

  15. 2. mathematische Grundlagen 10 / 38 Arithmetik in Polynomringen: Multiplikation (mod q)

  16. 2. mathematische Grundlagen 10 / 38 Arithmetik in Polynomringen: Multiplikation (mod q) (mod q)

  17. 2. mathematische Grundlagen 10 / 38 Arithmetik in Polynomringen: Multiplikation (mod q)

  18. 2. mathematische Grundlagen 11 / 38 Die Inverse zu a(x) ist A(x), bzw. A(x) ist invers zu a(x). Arithmetik in Polynomringen: Inversion (mod q)

  19. 2. mathematische Grundlagen12 / 38 Definition (Ring) Ein Ring ist ein Tripel für das folgende Regeln gelten: • (R,+) ist ein kommutative Gruppe • ist ein Halbgruppe • die Distributivgesetze gelten Definition (Körper) Ein Körper ist ein Tripel mit folgenden Regeln: • ist ein Ring • ist eine kommutative Gruppe Definition (irreduzibles Polynom) Sei F ein endlicher Körper. Sei Satz F[x]/(f(x)) ist ein Körper, wenn f(x) ein irreduzibles Polynom Ein Polynom mit Das Polynom f(x) heißt irreduzibel über F, Wenn es nicht als Produkt zweier Polynome aus F[x] mit positivemGrad dargestellt werden kann. über F[x] ist. In diesem Fall kann das multiplikative Inverse mit dem erweiterten Euklidischen Algorithmus bestimmt werden. Ring, endlicher Körper, irreduzibles Polynom

  20. 2. mathematische Grundlagen13 / 38 Gibt es immer genau eine Inverse ? Für jedes existiert genau einemultiplikative Inverse, wenn p prim und f(x) irreduzibel ist. hat nicht immer eine Inverse. hat immer eine Inverse.

  21. 3. intuitives Beispiel14 / 38 Übersicht 1. Motivation 2. mathematische Grundlagen 3. intuitives Beispiel 4. binäres Beispiel 5. Komponenten 6. Syntheseergebnisse 7. Ergebnisse und Ausblick

  22. 3. intuitives Beispiel 15 / 38 Bob wählt ein Dazu die Inversen: Er wählt zufällig das Polynom: Der öffentliche Schlüssel: mod(q) Bob erzeugt einen öffentlichen Schlüssel öffentliche Parameter Bobs geheime Parameter öffentlicher Schlüssel

  23. 3. intuitives Beispiel 16 / 38 Nachricht von Susan:binär: „111“, entspricht: Sie wählt zufällig das Polynom: und berechnet den Cyphertext: mod(q) Susan verschlüsselt eine Nachricht Susans Verschlüsselung öffentliche Parameter öffentlicher Schlüssel

  24. 3. intuitives Beispiel 16 / 38 Susan verschlüsselt eine Nachricht Susans Verschlüsselung öffentliche Parameter Nachricht von Susan:binär: „111“, entspricht: Sie wählt zufällig das Polynom: öffentlicher Schlüssel und berechnet den Cyphertext: mod(q)

  25. 3. intuitives Beispiel 17 / 38 erste Entschlüsselungsgl.: (mod q) Bob entschlüsselt Susans Nachricht Susans Cyphertext Bobs Entschlüsselung

  26. 3. intuitives Beispiel 17 / 38 zweite Entschlüsselungsgl.: (mod p) Bob entschlüsselt Susans Nachricht Susans Cyphertext Bobs Entschlüsselung erste Entschlüsselungsgl.: (mod q) Susans Nachricht war „111“

  27. 3. intuitives Beispiel 18 / 38 (mod q) (mod q) (mod q) (mod q) (mod q) (mod q) (mod q) (mod p) (mod p) (mod p) (mod p) (mod p) Warum funktioniert das Verfahren NTRU ? Verschlüsselung und Schlüsselerzeugung erste Entschlüsselungsgleichung zweite Entschlüsselungsgleichung

  28. 3. intuitives Beispiel 18 / 38 (mod q) (mod q) (mod q) (mod q) (mod q) (mod q) (mod q) (mod p) (mod p) Weil dieser Term als vielfaches von p wegfällt. (mod p) (mod p) (mod p) Warum können r und g zufällig gewählt werden ? Verschlüsselung und Schlüsselerzeugung erste Entschlüsselungsgleichung zweite Entschlüsselungsgleichung

  29. 3. intuitives Beispiel 18 / 38 Gilt die Gleichung (mod q) (mod q) nicht, kann aus (mod q) (mod p) kein korrektes m resultieren. (mod q) (mod q) Wählt man die Werte p, r, g, fund m aus einer Menge, die relativ zu q klein ist, so daß (mod q) (mod q) (mod q) und (mod p) (mod p) gilt die Gleichung. (mod p) (mod p) (mod p) Warum bleibt m beim Übergang von mod q zu p erhalten ? Verschlüsselung und Schlüsselerzeugung erste Entschlüsselungsgleichung zweite Entschlüsselungsgleichung

  30. 3. intuitives Beispiel 18 / 38 (mod q) (mod q) (mod q) (mod q) (mod q) (mod q) (mod q) (mod p) (mod p) (mod p) (mod p) (mod p) Zugrundeliegendes Problem (Trapdoorfunktion) Verschlüsselung und Schlüsselerzeugung Polynomfaktorisierungsproblem erste Entschlüsselungsgleichung zweite Entschlüsselungsgleichung

  31. 4. binäres Beispiel19 / 38 Übersicht 1. Motivation 2. mathematische Grundlagen 3. intuitives Beispiel 4. binäres Beispiel 5. Komponenten 6. Syntheseergebnisse 7. Ergebnisse und Ausblick

  32. 4. binäres Beispiel20 / 38 Bobs geheime Parameter Bob generiert den Public Key (mod q) Susan verschlüsselt Ihre Botschaft (mod q) Bob entschlüsselt Susans Nachricht (mod q) (mod p) Binäres Beispiel öffentliche Parameter

  33. 4. binäres Beispiel20 / 38 Binäres Beispiel öffentliche Parameter Bobs geheime Parameter Bob generiert den Public Key (mod q) Susan verschlüsselt Ihre Botschaft (mod q) Bob entschlüsselt Susans Nachricht (mod q) (mod p)

  34. 4. binäres Beispiel21 / 38 Bobs geheime Parameter Der und der müssen sein. Wählt man die Körper ist die Gleichung immer erfüllt. Die Nachrichtenexpansion ist Parameterwahl öffentliche Parameter (mod q)

  35. 5. Komponenten22 / 38 Übersicht 1. Motivation 2. mathematische Grundlagen 3. intuitives Beispiel 4. binäres Beispiel 5. Komponenten 6. Syntheseergebnisse 7. Ergebnisse und Ausblick

  36. 5. Komponenten23 / 38 Die Komponenten von NTRU • einen geeigneten Zufallsgenerator • arithmetische Operationen mod 2 • Verfahren zur Inversenberechnung • Multiplikation

  37. 5. Komponenten24 / 38 Wahl des Zufallsgenerators LSFR – Linear Feedback Shift Register S. Witt, P. Hartmann Vergleichende Analyse und VHDL-basierte Implementation von Zufallsgeneratoren auf Chipkarten, Universität Hamburg

  38. 5. Komponenten25 / 38 Wahlkriterien für LSFR • linearer, geringer Zellenbedarf • Qualität der Zufallszahlen gering (Berlekamp-Massey Algorithmus)

  39. 5. Komponenten26 / 38 Intuitive Methode Jedes Element des Körpers wird geprüft, ob es das Inverse ist Erweiterter Euklidischer Berechnet die Inverse mithilfe des Algorithmus Euklidischen Algorithmus. Almost Inverse Berechnet die Inverse mithilfe des Algorithm Euklidischen Algorithmus. Dazu werden nur Verschiebe- und Additionsfunktion verwendet. Methoden zur Inversenberechnung

  40. 5. Komponenten27 / 38 modulo 2 Multiplizierer M. Böttger Komplexitätsabschätzung von hardwareakzelerierten Attacken auf ECC-Kryptoverfahren, Universität Hamburg G. Orlando, C.Paar A Super-Serial Galois Fields Multiplier For FPGAs And Ist Application To Public-Key Algorithms, Nappa Valley/CA

  41. 5. Komponenten28 / 38 Software oder Hardwarerealisierung ?

  42. 5. Komponenten29 / 38 Datenflußgraph der Verschlüsselung

  43. 5. Komponenten30 / 38 Datenflußgraph der Entschlüsselung

  44. 6. Syntheseergebnisse31 / 38 Übersicht 1. Motivation 2. mathematische Grundlagen 3. intuitives Beispiel 4. binäres Beispiel 5. Komponenten 6. Syntheseergebnisse 7. Ergebnisse und Ausblick

  45. 6. Syntheseergebnisse32 / 38 Zellenbedarf des Zufallsgenerators

  46. 6. Syntheseergebnisse33 / 38 Zellenbedarf der Verschlüsselung

  47. 6. Syntheseergebnisse34 / 38 Zellenbedarf der Entschlüsselung

  48. 7. Ergebnisse und Ausblick35 / 38 Übersicht 1. Motivation 2. mathematische Grundlagen 3. intuitives Beispiel 4. binäres Beispiel 5. Komponenten 6. Syntheseergebnisse 7. Ergebnisse und Ausblick

  49. 7. Ergebnisse und Ausblick36 / 38 Ergebnisse • Wählt man Körper und • ,f(x) und g(x) irreduzibel • mit Grad(f(x)) > 3 Grad(g(x)), erhält man ein binäresNTRU. • mit Grad(g(x)) > 1 ist das binäre NTRU bitweise skalierbar.

  50. 7. Ergebnisse und Ausblick37 / 38 Ausblick • Sicherheit von NTRU und binärem NTRU zu ECC und RSA • Kann die Sicherheit duch die Verwendung von Ringen statt Körpern erhöht werden ? (Inversenberechnung durch lin. Gleichungssysteme) • Welchen Einfluß haben verschiedene irred. Polynome auf die Sicherheit von NTRU ?

More Related