Untersuchung des NTRU – Algorithmus für die Tauglichkeit zur Hardwareakzeleration von Kryptoverfahren im Bereich skalierbarer Sicherheit Danijel Vollstädt
Fachbereich Informatik, Arbeitsbereich TAMS 0. zugrundeliegende Arbeiten 1 / 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
2. mathematische Grundlagen 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
2. mathematische Grundlagen 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
Anwendungsgebiete Chipkarten z.B. Schipaß, Fahrkarten, Parkhauskarten 1. Motivation 3 / 38 Anwendungsgebiete Chipkarten z.B. Schipaß, Fahrkarten, Parkhauskarten Dongle z.B. Softwareschutz, Internetzugang Handy z.B. Authentifizierung, Gesprächsverschlüsselung
Prinzip des Diffie-Hellman-Schlüsselaustauschs 1. Motivation 4 / 38 Prinzip des Diffie-Hellman-Schlüsselaustauschs Schickt den Koffer zum Empfänger zum Absender Entfernt das eigene Schloß Absender Empfänger
Schlüssellängenvergleich von RSA, ECC und NTRU 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
Die Verschlüsselungszeiten 1. Motivation 6 / 38 Die Verschlüsselungszeiten im Vergleich
Die Entschlüsselungszeiten 1. Motivation 7 / 38 Die Entschlüsselungszeiten im Vergleich
2. mathematische Grundlagen Übersicht 1. Motivation 2. mathematische Grundlagen 3. intuitives Beispiel 4. binäres Beispiel 5. Komponenten 6. Syntheseergebnisse 7. Ergebnisse und Ausblick
Arithmetik in Polynomringen: Addition 2. mathematische Grundlagen 9 / 38 Arithmetik in Polynomringen: Addition maximaler Polynomgrad: N-1 maximaler Koeffizientengrad: q-1 (mod q)
Arithmetik in Polynomringen: Multiplikation 2. mathematische Grundlagen 10 / 38 Arithmetik in Polynomringen: Multiplikation (mod q)
Arithmetik in Polynomringen: Multiplikation 2. mathematische Grundlagen 10 / 38 Arithmetik in Polynomringen: Multiplikation (mod q)
Arithmetik in Polynomringen: Multiplikation 2. mathematische Grundlagen 10 / 38 Arithmetik in Polynomringen: Multiplikation (mod q)
Arithmetik in Polynomringen: Multiplikation 2. mathematische Grundlagen 10 / 38 Arithmetik in Polynomringen: Multiplikation (mod q)
Arithmetik in Polynomringen: Multiplikation 2. mathematische Grundlagen 10 / 38 Arithmetik in Polynomringen: Multiplikation (mod q) (mod q)
Arithmetik in Polynomringen: Multiplikation 2. mathematische Grundlagen 10 / 38 Arithmetik in Polynomringen: Multiplikation (mod q)
Arithmetik in Polynomringen: Inversion 2. mathematische Grundlagen 11 / 38 Arithmetik in Polynomringen: Inversion (mod q) Die Inverse zu a(x) ist A(x), bzw. A(x) ist invers zu a(x).
Ring, endlicher Körper, irreduzibles Polynom 2. mathematische Grundlagen 12 / 38 Ring, endlicher Körper, irreduzibles Polynom 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 Ein Polynom mit Das Polynom f(x) heißt irreduzibel über F, Wenn es nicht als Produkt zweier Polynome aus F[x] mit positivem Grad dargestellt werden kann. Definition (irreduzibles Polynom) Sei F ein endlicher Körper. Sei Hast Du die Abkürzung NTRU schon erklärt ?? Satz F[x]/(f(x)) ist ein Körper, wenn f(x) ein irreduzibles Polynom über F[x] ist. In diesem Fall kann das multiplikative Inverse mit dem erweiterten Euklidischen Algorithmus bestimmt werden.
Gibt es immer genau eine Inverse ? 2. mathematische Grundlagen 13 / 38 Gibt es immer genau eine Inverse ? Für jedes existiert genau eine multiplikative Inverse, wenn p prim und f(x) irreduzibel ist. hat nicht immer eine Inverse. hat immer eine Inverse. Hast Du die Abkürzung NTRU schon erklärt ?? Wo ist der Zusammenhang dieser beiden Sätze, wozu brauche ich für den unteren Satz den oberen, Beispiele richtig, Wie begründe ich, ob p prim ist
2. mathematische Grundlagen 3. intuitives Beispiel 14 / 38 Übersicht 1. Motivation 2. mathematische Grundlagen 3. intuitives Beispiel 4. binäres Beispiel 5. Komponenten 6. Syntheseergebnisse 7. Ergebnisse und Ausblick
Bob erzeugt einen öffentlichen Schlüssel 3. intuitives Beispiel 15 / 38 Bob erzeugt einen öffentlichen Schlüssel öffentliche Parameter Bobs geheime Parameter Bob wählt ein Dazu die Inversen: öffentlicher Schlüssel Er wählt zufällig das Polynom: Der öffentliche Schlüssel: mod(q)
Susan verschlüsselt eine Nachricht 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: Der Polynomgrad ist die Blocklänge !! und berechnet den Cyphertext: mod(q) öffentlicher Schlüssel
Susan verschlüsselt eine Nachricht 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: und berechnet den Cyphertext: öffentlicher Schlüssel mod(q)
Bob entschlüsselt Susans Nachricht 3. intuitives Beispiel 17 / 38 Bob entschlüsselt Susans Nachricht Susans Cyphertext Bobs Entschlüsselung (mod q) erste Entschlüsselungsgl.:
Bob entschlüsselt Susans Nachricht 3. intuitives Beispiel 17 / 38 Bob entschlüsselt Susans Nachricht Susans Cyphertext Bobs Entschlüsselung erste Entschlüsselungsgl.: (mod q) zweite Entschlüsselungsgl.: (mod p) Susans Nachricht war „111“
Warum funktioniert das Verfahren NTRU ? 3. intuitives Beispiel 18 / 38 Warum funktioniert das Verfahren NTRU ? Verschlüsselung und Schlüsselerzeugung (mod q) erste Entschlüsselungsgleichung (mod q) Hast Du die Abkürzung NTRU schon erklärt ?? Wo ist der Zusammenhang dieser beiden Sätze, wozu brauche ich für den unteren Satz den oberen, Beispiele richtig, Wie begründe ich, ob p prim ist zweite Entschlüsselungsgleichung (mod p)
Warum können r und g zufällig gewählt werden ? 3. intuitives Beispiel 18 / 38 Warum können r und g zufällig gewählt werden ? Verschlüsselung und Schlüsselerzeugung (mod q) erste Entschlüsselungsgleichung (mod q) Hast Du die Abkürzung NTRU schon erklärt ?? Wo ist der Zusammenhang dieser beiden Sätze, wozu brauche ich für den unteren Satz den oberen, Beispiele richtig, Wie begründe ich, ob p prim ist zweite Entschlüsselungsgleichung (mod p) Weil dieser Term als vielfaches von p wegfällt.
Warum bleibt m beim Übergang von mod q zu p erhalten ? 3. intuitives Beispiel 18 / 38 Warum bleibt m beim Übergang von mod q zu p erhalten ? Gilt die Gleichung (mod q) nicht, kann aus (mod p) kein korrektes m resultieren. Verschlüsselung und Schlüsselerzeugung (mod q) erste Entschlüsselungsgleichung (mod q) Wählt man die Werte p, r, g, f und m aus einer Menge, die relativ zu q klein ist, so daß und gilt die Gleichung. Hast Du die Abkürzung NTRU schon erklärt ?? Wo ist der Zusammenhang dieser beiden Sätze, wozu brauche ich für den unteren Satz den oberen, Beispiele richtig, Wie begründe ich, ob p prim ist zweite Entschlüsselungsgleichung (mod p)
Zugrundeliegendes Problem (Trapdoorfunktion) 3. intuitives Beispiel 18 / 38 Zugrundeliegendes Problem (Trapdoorfunktion) Verschlüsselung und Schlüsselerzeugung (mod q) Polynomfaktorisierungsproblem erste Entschlüsselungsgleichung (mod q) Hast Du die Abkürzung NTRU schon erklärt ?? Wo ist der Zusammenhang dieser beiden Sätze, wozu brauche ich für den unteren Satz den oberen, Beispiele richtig, Wie begründe ich, ob p prim ist zweite Entschlüsselungsgleichung (mod p)
2. mathematische Grundlagen 4. binäres Beispiel 19 / 38 Übersicht 1. Motivation 2. mathematische Grundlagen 3. intuitives Beispiel 4. binäres Beispiel 5. Komponenten 6. Syntheseergebnisse 7. Ergebnisse und Ausblick
Binäres Beispiel 4. binäres Beispiel 20 / 38 öffentliche Parameter Bobs geheime Parameter (mod q) Susan verschlüsselt Ihre Botschaft Bob entschlüsselt Susans Nachricht (mod q) (mod p) Bob generiert den Public Key (mod q)
Binäres Beispiel 4. binäres Beispiel 20 / 38 ö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)
Parameterwahl (mod q) Der und der müssen sein. 4. binäres Beispiel 21 / 38 Parameterwahl öffentliche Parameter Bobs geheime Parameter (mod q) Der und der müssen sein. Wählt man die Körper ist die Gleichung immer erfüllt. Die Nachrichtenexpansion ist
2. mathematische Grundlagen 5. Komponenten 22 / 38 Übersicht 1. Motivation 2. mathematische Grundlagen 3. intuitives Beispiel 4. binäres Beispiel 5. Komponenten 6. Syntheseergebnisse 7. Ergebnisse und Ausblick
Die Komponenten von NTRU einen geeigneten Zufallsgenerator arithmetische Operationen mod 2 Verfahren zur Inversenberechnung Multiplikation Hast Du die Abkürzung NTRU schon erklärt ??
Wahl des Zufallsgenerators 5. Komponenten 24 / 38 Wahl des Zufallsgenerators Rang Durchsatz Zellenbedarf Leistungsaufnahme 1 RC4 LFSR 2 BBS 3 4 EC LSFR – Linear Feedback Shift Register S. Witt, P. Hartmann Vergleichende Analyse und VHDL-basierte Implementation von Zufallsgeneratoren auf Chipkarten, Universität Hamburg
Wahlkriterien für LSFR 5. Komponenten 25 / 38 Wahlkriterien für LSFR linearer, geringer Zellenbedarf Qualität der Zufallszahlen gering (Berlekamp-Massey Algorithmus)
Methoden zur Inversenberechnung 5. Komponenten 26 / 38 Methoden zur Inversenberechnung 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.
modulo 2 Multiplizierer 5. Komponenten 27 / 38 modulo 2 Multiplizierer Takte Zellen Serieller Mult. N Superserieller Mult. 1 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
Software oder Hardwarerealisierung ? 5. Komponenten 28 / 38 Software oder Hardwarerealisierung ? Software Hardware Schlüsselerzeugung Invertierer Multiplizierer LSFR -- Verschlüsselung Addierer Entschlüsselung Reduzierer
5. Komponenten 29 / 38 Datenflußgraph der Verschlüsselung
5. Komponenten 30 / 38 Datenflußgraph der Entschlüsselung
2. mathematische Grundlagen 6. Syntheseergebnisse 31 / 38 Übersicht 1. Motivation 2. mathematische Grundlagen 3. intuitives Beispiel 4. binäres Beispiel 5. Komponenten 6. Syntheseergebnisse 7. Ergebnisse und Ausblick
Zellenbedarf des Zufallsgenerators 6. Syntheseergebnisse 32 / 38 Zellenbedarf des Zufallsgenerators
Zellenbedarf der Verschlüsselung 6. Syntheseergebnisse 33 / 38 Zellenbedarf der Verschlüsselung
Zellenbedarf der Entschlüsselung 6. Syntheseergebnisse 34 / 38 Zellenbedarf der Entschlüsselung
2. mathematische Grundlagen 7. Ergebnisse und Ausblick 35 / 38 Übersicht 1. Motivation 2. mathematische Grundlagen 3. intuitives Beispiel 4. binäres Beispiel 5. Komponenten 6. Syntheseergebnisse 7. Ergebnisse und Ausblick
Ergebnisse Wählt man Körper und ,f(x) und g(x) irreduzibel 7. Ergebnisse und Ausblick 36 / 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äres NTRU. mit Grad(g(x)) > 1 ist das binäre NTRU bitweise skalierbar.
Ausblick Sicherheit von NTRU und binärem NTRU zu ECC und RSA 7. Ergebnisse und Ausblick 37 / 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 ?
Vielen Dank für Ihre Aufmerksamkeit ! 7. Ergebnisse und Ausblick 38 / 38 Vielen Dank für Ihre Aufmerksamkeit !