520 likes | 675 Views
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
E N D
Untersuchung des NTRU – Algorithmus für die Tauglichkeit zur Hardwareakzeleration von Kryptoverfahren im Bereich skalierbarer Sicherheit Danijel Vollstädt
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
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
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
1. Motivation 3 / 38 Anwendungsgebiete • Chipkarten • z.B. Schipaß, Fahrkarten, Parkhauskarten • Dongle • z.B. Softwareschutz, Internetzugang • Handy • z.B. Authentifizierung, Gesprächsverschlüsselung
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
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
1. Motivation 6 / 38 Die Verschlüsselungszeiten im Vergleich
1. Motivation 7 / 38 Die Entschlüsselungszeiten im Vergleich
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
2. mathematische Grundlagen 9 / 38 Arithmetik in Polynomringen: Addition maximaler Polynomgrad: N-1maximaler Koeffizientengrad: q-1 (mod q)
2. mathematische Grundlagen 10 / 38 Arithmetik in Polynomringen: Multiplikation (mod q)
2. mathematische Grundlagen 10 / 38 Arithmetik in Polynomringen: Multiplikation (mod q)
2. mathematische Grundlagen 10 / 38 Arithmetik in Polynomringen: Multiplikation (mod q)
2. mathematische Grundlagen 10 / 38 Arithmetik in Polynomringen: Multiplikation (mod q)
2. mathematische Grundlagen 10 / 38 Arithmetik in Polynomringen: Multiplikation (mod q) (mod q)
2. mathematische Grundlagen 10 / 38 Arithmetik in Polynomringen: Multiplikation (mod q)
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)
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
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.
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
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
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
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)
3. intuitives Beispiel 17 / 38 erste Entschlüsselungsgl.: (mod q) Bob entschlüsselt Susans Nachricht Susans Cyphertext Bobs Entschlüsselung
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“
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
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
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
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
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
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
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)
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)
5. Komponenten22 / 38 Übersicht 1. Motivation 2. mathematische Grundlagen 3. intuitives Beispiel 4. binäres Beispiel 5. Komponenten 6. Syntheseergebnisse 7. Ergebnisse und Ausblick
5. Komponenten23 / 38 Die Komponenten von NTRU • einen geeigneten Zufallsgenerator • arithmetische Operationen mod 2 • Verfahren zur Inversenberechnung • Multiplikation
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
5. Komponenten25 / 38 Wahlkriterien für LSFR • linearer, geringer Zellenbedarf • Qualität der Zufallszahlen gering (Berlekamp-Massey Algorithmus)
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
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
5. Komponenten28 / 38 Software oder Hardwarerealisierung ?
5. Komponenten29 / 38 Datenflußgraph der Verschlüsselung
5. Komponenten30 / 38 Datenflußgraph der Entschlüsselung
6. Syntheseergebnisse31 / 38 Übersicht 1. Motivation 2. mathematische Grundlagen 3. intuitives Beispiel 4. binäres Beispiel 5. Komponenten 6. Syntheseergebnisse 7. Ergebnisse und Ausblick
6. Syntheseergebnisse32 / 38 Zellenbedarf des Zufallsgenerators
6. Syntheseergebnisse33 / 38 Zellenbedarf der Verschlüsselung
6. Syntheseergebnisse34 / 38 Zellenbedarf der Entschlüsselung
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
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.
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 ?