Public-Key-Algorithmen WS2015/2016 Lernkontrollfragen Michael Braun
Was bedeuten die kryptographischen Schutzziele Vertraulichkeit, Integrität, Nachrichtenauthentizität, Teilnehmerauthentizität, Verbindlichkeit? Durch welche Verfahren lassen sich die einzelnen Schutzziele erreichen? Was ist die grundlegende Idee hinter einem symmetrischen und einem asymmetrischen Ansatz? 1 / 17
Wie ist die grundlegende Funktionsweise einer symmetrischen Verschlüsselung und eines Message-Authentication-Codes? Wie ist die grundlegende Funktionsweise einer asymmetrischen Verschlüsselung und einer digitalen Signatur? Wie ist die grundlegende Funktionsweise eines Challenge-Response-Verfahrens? Welche Varianten gibt es sowohl für einen symmetrischen als auch für einen asymmetrischen Ansatz? 2 / 17
Wie ist die Funktionsweise der drei wesentlichen asymmetrischen Ansätze: RSA, Diskreter Logarithmus (DL), Elliptische Kurven (ECC)? Worauf beruht die Sicherheit der drei Verfahren? Wie ist die Funktionsweise der RSA-Verschlüsselung (und natürlich auch Entschlüsselung!) und der RSA-Signatur? Wie werden die Schlüssel erzeugt? Wie sind die Systemparameter und die Schlüssel bei dem herkömmlichen DL-Verfahren aufgebaut? Wie werden DL-Schlüssel erzeugt? Wie sind die Systemparameter und die Schlüssel bei dem ECC-Verfahren aufgebaut? Wie werden ECC-Schlüssel erzeugt? 3 / 17
Wie funktioniert das Diffie-Hellman-Protokoll in GF (p)? Was kann damit erreicht werden? Worauf basiert die Sicherheit des Protokolls? Wie funktioniert eine ElGamal-Verschlüsselung in GF (p)? Wie funktioniert eine Challenge-Response-Authentifizierung in GF (p)? 4 / 17
Wie sind endliche Körper definiert? Wie sind die beiden Typen von Körpern Primkörper und binärer Erweiterungskörper aufgebaut? Wie lassen sich die Körperelemente in beiden Fällen darstellen? Was ist ein unzerlegbares (=irreduzibles) Polynom und wozu wird es benötigt bei der Konstruktion binärer Erweiterungskörper? Wie lassen sich die Elemente eines binären Erweiterungskörpers als Vektoren darstellen? Welche algebraische Operation entspricht dann ein Links- bzw. Rechtsshift bei den Vektoren? Wie werden die Elemente eines binären Erweiterungskörpers effizient auf einer W -Bit-Plattform repräsentiert? 5 / 17
Wie funktionieren die grundlegenden Rechenoperationen wie Addition, Multiplikation, additive und multiplikative Inversion in Primkörpern und binären Erweiterungskörpern? Wie funktionieren Subtraktion und additive Inversion in binären Erweiterungskörpern? Wie kann man sich dieses Verhalten erklären? 6 / 17
Welche Algorithmen gibt es zur Multiplikation in binären Erweiterungskörpern? Wie funktioniert der Shift-and-Add-Algorithmus zur Multiplikation in binären Erweiterungskörpern und welche Komplexität besitzt der Algorithmus? (Algorithmus soll theoretisch beschrieben und praktisch angewendet werden können) Wie funktionieren die folgenden Algorithmen zur Multiplikation von binären Polynomen (ohne Reduktion!): R2L, L2R, L2R-Window (Algorithmen, Ansätze und Ideen müssen verstanden werden; Beschreibung der vollständigen Algorithmen wird in der Klausur nicht verlangt) Wie funktioniert der Karatsuba-Algorithmus und was ist die Komplexität des Algorithmus? 7 / 17
Wie multipliziert man ein binäres Polynom effizient mit sich selbst (=Quadrierung)? Wie wird grundlegend reduziert im binären Erweiterungskörper? Wie funktioniert eine effiziente Reduktion? Wie funktioniert die spezielle Reduktion bei einem vorgegebenen unzerlegbaren Polynom? (Idee hinter Algorithmus muss verstanden werden; der in der Vorlesung angegebene Algorithmus für 163 muss nicht wiedergegeben werden in der Klausur) 8 / 17
Wie funktioniert die Division mit Rest bei ganzen Zahlen? Was ist der größte gemeinsame Teiler von zwei ganzen Zahlen? Welche grundlegende Eigenschaften erfüllt der größte gemeinsame Teiler? Wie funktioniert der euklidische Algorithmus zur Berechnung eines größten gemeinsamen Teilers? (rekursive und iterative Versionen sollen theoretisch beschrieben und praktisch angewendet werden können) 9 / 17
Was besagt der Satz von Bezout? Wie funktioniert der erweiterte euklidische Algorithmus? (Algorithmus soll verstanden werden und praktisch angewendet werden können; es wird keine theoretische Beschreibung des gesamten Algorithmus verlangt in der Klausur) Was ist die grundlegende Idee hinter dem binären euklidischen Algorithmus? (Algorithmus soll verstanden werden; es wird keine theoretische Beschreibung des gesamten Algorithmus verlangt in der Klausur) 10 / 17
Wie lassen sich die Fragen der letzten beiden Folien für Polynome über Primkörpern beantworten? 11 / 17
Wie sind elliptische Kurven definiert über den reellen Zahlen? Wie sind elliptische Kurven über einem endlichen Körper (Primkörper bzw. binären Erweiterungskörper) definiert? Wie sieht eine elliptische Kurve im Reellen aus? Wie kann man eine elliptische Kurve über einem kleinen Primkörper zeichnen? Wie kann man auf einer elliptische Kurve rechnen? (Anschauliche Interpretation im Reellen und Übertragung auf endliche Körper; die Formeln für Addition und Verdoppelung müssen nicht auswendig gelernt werden; falls die Formeln benötigt werden, sind sie angegeben) 12 / 17
Was sind die Eigenschaften der Rechenregel? (additive Gruppe) Wie sind negative Punkte definiert für elliptische Kurven über den reellen Zahlen, über Primkörpern bzw. binären Erweiterungskörpern? Was ist der unendliche ferne Punkt? Wie sind die Rechenregeln für den unendlich fernen Punkt? 13 / 17
Wie ist die Skalarmultiplikation auf elliptischen Kurven definiert? Wie funktionieren Double-and-Add, Add-and-Double und die Montgomery-Leiter zur Berechnung der Skalarmultiplikation? (Alle drei Versionen der Algorithmen sollen verstanden und theoretisch beschrieben werden können; Montgomery muss nur auf High-Level-Ebene beschrieben werden können; die Herleitung der Formeln für die projektiven Koordinaten ohne y-koordinate muss verstanden werden, wird aber nicht in der Klausur verlangt) Was sind projektive Koordinaten und welche Vorteile ergeben sich durch die Verwendung dieser Koordinaten? 14 / 17
Was sind die Systemparameter einer elliptischen Kurve? Was sind die einzelnen Bestandteile (Endliche Körper, Kurvenparameter, Basispunkt, Ordnung des Basispunktes, Cofaktor) Wie ist das Diskrete-Logarithmus-Problem (DLP) auf elliptische Kurven? Wie funktioniert der Baby-Step-Giant-Step-Angriff zur Berechnung des DLPs und welche Komplexität besitzt dieser Angriff? Wie werden privater und öffentlicher Schlüssel eines ECC-Systems erzeugt? 15 / 17
Wie funktioniert das Diffie-Hellman-Protokoll für elliptische Kurven? Was kann damit erreicht werden? Worauf basiert die Sicherheit des Protokolls? Wie funktioniert eine ElGamal-Verschlüsselung auf Basis elliptischer Kurven? Wie funktioniert eine Challenge-Response-Authentifizierung auf Basis elliptischer Kurven? Wie funktioniert der DSA (Signaturstandard)? (Algorithmus muss verstanden werden, aber nicht vollständig beschrieben werden können in der Klausur) 16 / 17
Es sind keine Hilfsmittel zugelassen! Es wird 5-6 Aufgaben aus allen wichtigen Themenfeldern der Vorlesung geben (Arithmetik Zahlen/Polynome/Körper, Arithmetik Kurven, Protokolle etc.) 17 / 17