Universität Duisburg-Essen Ingenieurwissenschaften/Informatik Prof. Barbara König Sebastian Küpper SS 2015 Aufgabenblatt 4 22. Mai 2015 Übung zu “Formale Aspekte der Software-Sicherheit und Kryptographie” Dieses Übungsblatt wird am Montag, den 01. Juni, von 10:15–11:45 Uhr im Raum LE 120 besprochen. Es handelt sich um ein Testatblatt, die Abgabe der Lösungen erfolgt in der Übung. Aufgabe 13 Miller-Rabin-Primzahltest (5 Punkte) (a) 15 ist eine zusammengesetzte Zahl. Ermitteln Sie alle ihre Fermat-Zeugen. (b) Wir betrachten die Carmichael-Zahl n = 561. Führen Sie den Primzahltest entsprechend dem Algorithmus auf den Folien für a = 2, a = 9 und a = 101 durch. Aufgabe 14 Angriffe auf das RSA-Signaturschema (5 Punkte) Wir betrachten digitale Signaturen mit Hilfe von RSA, wie sie in der Vorlesung beschrieben wurden. Gegeben sei ein öffentlicher Schlüssel (e, n), der dazugehörige private Schlüssel (d, n) ist unbekannt. (a) Beschreiben Sie, wie ein Angreifer auf einfache Weise eine Nachricht und eine dazugehörige Signatur erzeugen kann. Bemerkung: Der Angreifer muss hier nicht in der Lage sein, jede beliebige Nachricht zu signieren, aber er sollte ein beliebiges Paar von Nachricht und dazugehöriger korrekter Signatur ermitteln können. Insbesondere muss der Angreifer nicht in der Lage sein, sich den Inhalt der signierten Nachricht beliebig auszusuchen. (b) Beschreiben Sie, wie ein Angreifer in der Lage ist, eine gegebene Nachricht m korrekt zu signieren, wenn Alice für ihn beliebige Nachrichten m0 6= m signiert. Bemerkung: Das ist in der Praxis durchaus möglich, da der Angreifer die Nachrichten m0 wie Zufallsstrings aussehen lassen kann. Alice signiert dann einfach nur einen Nonce. Aufgabe 15 Das Millionärsproblem (5 Punkte) Dagobert Duck und Mac Moneysac streiten sich alljährlich darum, wer denn die reichste Ente der Welt sei. Nachdem in der Vergangenheit verschiedene Vergleichsmethoden kriminellen Elementen Tür und Tor geöffnet haben, den beiden hart arbeitenden Enten ihr Vermögen zu entwenden, wollen sie in diesem Jahr auf eine andere Weise feststellen, wer von beiden die reichste Ente ist. Der Clou bei der Sache ist, dass beide nicht wollen, dass der jeweils andere erfährt, wie viel Geld die jeweils andere Ente besitzt. Glücklicherweise hat Dagoberts Forschungsabteilung kürzlich eine Falltürfunktion f : N0 → N0 gefunden, so dass ein anonymer Vergleich möglich ist. In Anbetracht ihres Reichtums einigen sich Dagobert und Mac Moneysac, nur die Stelle der Fantastilliarden zu vergleichen, jeder von ihnen besitzt nämlich sicher zwischen einer und neun Fantastilliarden Taler. Die Falltürfunktion f gibt Dagobert seinem Konkurrenten bekannt, die inverse Funktion f −1 behält er jedoch geheim. Die beiden einigen sich auf folgendes Vorgehen: • Dagobert besitzt A Fantastilliarden Taler, Moneysac besitzt B Fantastilliarden Taler. • Mac Moneysac wählt eine zufällige Zahl X mit einer Binärdarstellung von der Länge n Bit aus und sendet s = f (X) − B an Dagobert. • Dagobert berechnet nun für i = 1, ..., 10 die Zahl Yi = f −1 (s + i). • Dagobert wählt eine Primzahl P von mindestens i = 1, ..., 10 Zi = Yi mod P . n 2 Bit aus und berechnet für • Dagobert sendet an Mac Moneysac die Zahlen Z1 , Z2 , ..., ZA , ZA+1 +1 mod P, ..., Z10 + 1 mod P • Mac Moneysac erhält die Zahlen U1 , U2 , ..., U10 und überprüft ob UB = X mod P . Falls ja, so ist Dagobert reicher oder gleich reich wie Mac Moneysac, falls nein, ist Mac Moneysac reicher. (a) Zeigen Sie, dass das obige Verfahren korrekt ist, das heißt, dass die ermittelte Antwort von Mac Moneysac immer korrekt ist. (b) Sicherheitshalber wollen Dagobert und Mac Moneysac einander doch ein wenig kontrollieren und bitten Klaas Klever, ihnen zu helfen, das Verfahren zu kontrollieren. Gleichzeitig soll aber auch Klever, der seinerseits ja ein Konkurrent der beiden um den Titel Reichste Ente der Welt“ ist, nicht erfahren, wie viel Geld die ” beiden genau besitzen. Nun möchte Mac Moneysac seinem Rivalen aber B nicht zusenden. Welche Nachrichten müssen Dagobert und Mac Moneysac an Klaas Klever senden, damit dieser entscheiden kann, welcher der beiden reicher ist, ohne zu erfahren, wie viel Geld Dagobert oder Mac Moneysac genau besitzen? Gesucht ist eine Variation des obigen Verfahrens, bei der sämtliche Kommunikation über Klaas Klever läuft und Mac Moneysac nur erfährt, welche der beiden Enten reicher ist, nicht jedoch, wie viel Geld sie besitzt. Sie müssen sich also kein vollständig neues Verfahren überlegen. Um die Sicherheit des Verfahrens zu garantieren, das heißt, sicherzustellen, dass weder Dagobert noch Mac Moneysac auf Grund der gewonnenen Informationen Rückschlüsse auf das Vermögen des jeweils anderen machen können, verlangt man üblicherweise, dass für alle Zi , Zj mit i 6= j gilt |Zi −Zj | ≥ 2. Gilt dies nicht, wählt man eine andere Primzahl P , solange bis diese Zusatzbedingung sichergestellt ist. Zur Lösung der Aufgabe (b) sollten Sie annehmen, dass diese Bedingung erfüllt ist. Aufgabe 16 Abgeschlossenheit von RP unter Schnitt (5 Punkte) Ist die Komplexitätsklasse RP abgeschlossen unter Schnitt? Beweisen Sie die Korrektheit Ihrer Antwort. Antworten ohne Beweis erhalten keine Punkte. 2