Zero-Knowledge-Verfahren

Größe: px
Ab Seite anzeigen:

Download "Zero-Knowledge-Verfahren"

Transkript

1 Kapitel 1 Zero-Knowledge-Verfahren Bei den Zero-Knowledge-Verfahren handelt es sich um eine Form von interaktiven Beweisen, bei denen kein Wissen übertragen wird. Für die Kryptographie haben diese Verfahren eine große Bedeutung. Die meisten Passwort- Verfahren übertragen das Geheimnis, in diesem Fall das Passwort, verschlüsselt oder auch unverschlüsselt. Ein Fremder könnte sich diesen Umstand zu nutze machen, dieses Geheimnis in seinen Besitz bringen und für seine Zwecke missbrauchen. Man möchte jemanden davon überzeugen, dass man ein Geheimnis kennt, ihm aber unter keinen Umständen dieses Geheimnis verraten. 1

2 Motivation Die folgende Unterhaltung verdeutlicht das Problem: X: Ich kenn das Rezept für die Big Mac - Soße! Y: Nein, kennst Du nicht. X: Kenn ich doch. Y: Gut, dann beweis es! X: O.k., ich verrat s Dir. [X verrät Y das Rezept...] Y: Super! Dann kann ich es ja an Thomy verkaufen! X: Sch...! X wollte Y allein durch Überzeugungskraft davon überzeugen, dass er das Geheimnis kennt. Dieser Versuch scheitert natürlich sobald Y sich nicht einfach durch Beteuerungen davon überzeugen lässt. X fiel dann nichts Besseres ein als Y das Geheimnis zu verraten. Er hat zwar sein Ziel erreicht Y davon zu überzeugen, dass er das Geheimnis kennt, aber auf der anderen Seite lief er dabei Gefahr das sein Geheimnis missbraucht wird. 1.1 Tartaglia und Fior Seit der Antike war es nicht gelungen eine Lösungsformel für Gleichungen dritten Grades zu entwickeln. Im Jahr 1535 gelang es dem Italiener Nicolò Tartaglia eine Lösungsformel zu entwickeln. Da Tartaglia aufgrund seiner Armut niemals einen akademischen Grad erlangen konnte, wollte er seiner Formel geheim halten. Tartaglia kontaktierte den italienischen Rechenmeister Antonio Maria Fior. Dieser wollte die Behauptung Tartaglias prüfen indem er ihm 30 Aufgaben vorlegte. Tartaglia konnte die Aufgaben lösen und so seine Behauptung beweisen, ohne Fior die Formel und damit sein Geheimnis zu verraten. Jedermann konnte die Lösungen Tartaglias leicht prüfen, indem man die Zahlen in die Ausgangsgleichung einsetzt, es ist aber für niemanden möglich anhand der Lösungen und der Ausgangsgleichung die Lösungsformel von Tartaglia zu erraten. 1.2 Forderungen an kryptographische Protokolle DEFINITION 1 (Durchführbarkeit): Wenn sich die am Protokoll beteiligten Instanzen alle gemäß den Spezifikationen des Protokolls verhalten, muss das Protokoll auch immer (bzw. mit beliebig hoher Wahrscheinlich- keit) das gewünschte Ergebnis liefern. DEFINITION 2 (Korrektheit): 2

3 Versucht einer der Teilnehmer in einem Protokoll zu betrügen, so kann dieser Betrugsversuch mit beliebig hoher Wahrscheinlichkeit erkannt werden. Das bedeutet, dass die Wahr- scheinlichkeit, dass ein Teilnehmer erfolgreich betrügen kann, vernachlässigbar klein ist. Das Beispiel Tartaglia und Fior erfüllt diese Eigenschaften: ffl Das Protokoll ist durchführbar, da Tartaglia zu jeder ihm vorgelegten Gleichung eine Lösung bestimmen kann und jeder Herausforderer kann die bestimmte Lösung überprüfen, indem er sie einfach mit seinen Zahlen vergleicht. ffl Es ist ebenfalls korrekt, da jemand, der keine Lösungsformel für Gleichungen dritten Grades besitzt, eine Lösung höchstens erraten kann. Aber die Wahrscheinlichkeit, bei vielen Gleichungen immer richtig zu raten, ist vernachlässigbar klein, somit kann auch niemand betrügen. Das Beispiel erfüllt aber zusätzlich noch eine weitere wichtige Eigenschaft, die nicht alle Protokolle erfüllen: Tartaglia konnte seine Behauptung, eine Lösungsformel für kubische Gleichungen zu besitzen, beweisen, ohne die Formel zu verraten. Diese Eigenschaft nennt man Zero-Knowledge-Eigenschaft. Das erste Beispiel erfüllt diese Eigenschaft nicht, da X sein Beispiel an Y verraten musste damit dieser davon überzeugt war, dass X im Besitz des Geheimnisses ist. 3

4 Kapitel 2 Die Magische Tür 2.1 Situation Bei diesem Beispiel handelt es sich um einen interaktiven Beweis, der die Zero-Knowledge- Eigenschaft erfüllt. Für dieses Beispiel wird eine Tür in ein Haus eingebaut. Die Tür ist mit einem Zahlencode gesichert. Es werden zum Beweis zwei Personen benötigt: Eine Person A, die vorgibt oder tatsächlich im Besitz des Zahlencodes für die Tür ist, und eine Person B, die diese Behauptung prüfen will. 4

5 2.2 Vorgehen Person A betritt den Vorraum des Hauses und schließt die Tür hinter sich. Danach sucht sie die Tür A oder Tür B aus, betritt den Raum dahinter und schließt die Tür hinter sich. Jetzt betritt Person B den Vorraum. Person B kann nicht feststellen durch welche der beiden Türen Person A gegangen ist. Nun sucht Person B sich willkürlich eine von den zwei Türen aus und verlangt von Person A aus dieser Tür herauszukommen. Ist Person A zuvor durch diese Tür hineingegangen, hat sie keine Probleme wieder aus dieser Tür herauszukommen. Sollte aber Person B genau die andere Tür verlangt haben, muss Person A die magische Tür in der Mitte überwinden. Dies kann Person A nur wenn sie den Zahlencode für die magische Tür besitzt, diesen dort einsetzt und damit dem Wunsch von Person B nachkommen kann. Dieses Vorgehen wird dann mehrmals (n-mal) wiederholt. Kommt Person A dabei immer aus der Tür, die Person B verlangt, kann Person B davon ausgehen, dass Person A in Besitz des Geheimnisses, also des Zahlencodes, ist. 2.3 Beweis Kennt Person A das Geheimnis, kann sie immer aus der richtigen Tür herauskommen. Das Verfahren ist also durchfürbar. Frage: Warum kann sich Person B sicher sein, dass Person A das Geheimnis kennt? Sollte Person A nicht in Besitz des Geheimnisses sein, kann sie nur vermuten, welche Tür sich Person B später aussuchen wird. Die Wahrscheinlichkeit, dass Person A dabei richtig liegt, liegt bei 1 2. Da der Vorgang aber /it n-mal wiederholt wird sinkt die Wahrscheinlichkeit dafür immer richtig zu liegen auf 1 n. 2 Bei zum Beispiel 10 Durchläufen bedeutet das eine Wahrscheinlichkeit von 0; 001. Das Verfahren ist also korrekt. Als drittes muss dann noch die Zero-Knowledge-Eigenschaft nachgewiesen werden. Diese Eigenschaft besagt, dass der Verifier (Person B) keine Möglichkeit hat, Informationen über das Geheimnis oder sonstiges Wissen zu erhalten. Jeder Vorgang kann durch ein Tupel der Form (v i ; p i ), wobei v i ; p i 2fA;Bg, dargestellt werden. Das bedeutet im Durchlauf i hat sich Person B dafür entschieden, Person A aus Tür v i kommen zu sehen. Kennt Person A das Geheimnis, so ist v i = p i ansonsten muss die Gleichheit nicht immer gelten. Das heißt Person B akzeptiert nur dann, wenn v i = p i ;i = 1; :::;n gilt. Diese Tupel sind alles, was ein potentieller Angreifer oder Person B aus dem Vorgang an Information gewinnen kann. Ist es jetzt möglich diese Daten zu gewinnen ohne jemals mit Person A zu interagiert zu haben, ist die Zero-Knowledge-Eigenschaft bewiesen. Niemand kann sagen welche der Tupel mit der Aktion mit Person A entstanden sind oder im Nachhinein. Denn es nicht möglich aus Kommunikationsdaten, die man selbst erzeugen kann, etwas Unbekanntes zu berechnen. Diese Daten können nicht plötzlich mehr Informationen erhalten als die Informationen, die man vorher zur Berechnung hat einfließen lassen. Wie kann man diesen Umstand auf das Beispiel anwenden? Person B nimmt alles was sie während der Interaktion mit Person A beobachten kann mit einer Videokamera auf. Auf diesem Videoband kann man dann nur sehen wie Person A das Haus betritt, Person B ihr nach einer Weile folgt, sich eine Tür aussucht und Person A aus dieser Tür herauskommt. Dieser Vorgang würde sich n-mal wiederholen, je nachdem wie 5

6 oft der Vorgang wiederholt wurde. Im nächsten Schritt müssen wir dieses Videoband erzeugen können ohne Person A zu verwenden. Dazu wird ein Simulator S und eine Person C, dabei die Rolle von Person A übernimmt, benötigt. S versucht zu erraten welche Tür Person B verlangen wird und teilt diese Information Person C mit. Diese stellt sich dann hinter die Tür, die von S vermutet wird. Sollte Person B dann diese Tür verlangen, kann die Szene auf dem Videoband belassen werden. Sollte dies nicht der Fall sein, muss die Szene gelöscht und ein neuer Versuch gestartet werden, denn Person C ist ja nicht in Besitz des Geheimnisses. Damit der Simulator n richtige Szenen aufzeichnen kann wird er im schlechtesten Fall 2n Versuche benötigen. Werden jetzt die beiden Videobänder verglichen, kann man feststellen, dass die statistische Verteilung der Tupel auf beiden Bändern gleich ist und nur von Person B abhängt. Die beiden Bänder sind also nicht zu unterscheiden. Der Simulator wurde nur eingeführt damit Person B ihre Strategie bei der Auswahl der Türen anwenden kann. 6

7 Kapitel 3 Isomorphie von Graphen Bei diesem Beispiel geht es um die Isomorphie von zwei großen Graphen. Im Allgemeinen ist es sehr schwer zu entscheiden, ob zwei beliebige, große Graphen isomorph zu einander sind oder nicht, ebenso schwer ist die Berechnung eines Isomorphismus - im Gegensatz dazu ist es effizient entscheidbar, ob eine gegebene Permutation pi ein Isomorphismus der beiden Graphen darstellt oder nicht. Ein kleines Beispiel zum Graphenisomorphieproblem: Zwei isomorphe Graphen G 1 und G 2 Ein möglicher Isomorphismus ist: Im folgenden Protokoll identifiziert sich Person A Person B gegenüber dadurch, dass sie beweist, einen Isomorphismus zwischen zwei großen Graphen zu kennen. 3.1 Vorgehen Person A erzeugt sich einen großen Graphen G 0 und wählt eine zufällige Permutation π auf dem Graphen. Mit dieser Permutation erzeugt sie sich einen weiteren Graphen G 1, der 7

8 durch Anwendung der Permutation auf G 0 entstanden ist. Das Tupel (G 0 ;G 1 ) veröffentlicht Person A. Die Permutation π bleibt allerdings ihr Geheimnis. Das Tupel steht somit jedem zur freien Verfügung, da es aber sehr schwer ist, anhand der Graphen einen Isomorphismus zu berechnen, kann auch niemand Person A s Geheimnis einfach so berechnen. Der Isomorphismus spielt hier die Rolle Tartaglia s Lösungsformel für Gleichungen dritten Grades oder des geheimen Zahlencodes aus dem Beispiel Die magische Tür. Der Vorteil eines solchen mathematischen Ansatzes ist natürlich, dass jetzt jede Person ein individuelles Geheimnis haben kann, ohne das Verfahren ändern zu müssen. Es gibt unendlich viele Instanzen des Graphenisomorphieproblems, aber zum Beispiel nur endlich viele Lösungsformeln für Gleichungen dritten Grades. Der Nachteil bei der magischen Tür war, dass man erst ein komplexes Gebäude errichten muss, um den Beweis durchführen zu können - hier kann diese Aufgabe von Computern übernommen werden. Der Ablauf einer Runde des Protokolls wird in der folgenden Abbildung dargestellt: Dieser Ablauf wird n-mal wiederholt. Person A erzeugt sich als erstes einen weiteren Graphen H, der durch die Anwendung einer zufälligen Permutation σ auf den Graphen G j entsteht, wobei j 2f0;1g zufällig gewählt wurde. Dieser neue Graph ist zu den beiden Graphen G 0 und G 1 isomorph, nur kann dies Person B genauso schwer überprüfen, wie die Isomorphie zwischen G 0 und G 1. Der Graph H wird nun an Person B verschickt, der sich daraufhin etwas wünschen darf. Person B möchte jetzt entweder den Isomorphismus zwischen H und G 0 oder den zwischen H und G 1 sehen. Person A kann diese Frage immer mit Hilfe der geheimen Permutation π lösen.! Durchführbarkeit Person B kann sich leicht davon überzeugen, ob die empfangene Permutation τ wirklich einen Isomorphismus beschreibt. Nehmen wir an, eine Person C möchte Person B davon überzeugen, das Geheimnis zu besitzen, obwohl dies nicht der Fall ist. Person C kann in jeder Runde nur eine der Fragen beantworten, wir können also annehmen, dass die Wahrscheinlichkeit, dass Person C auf die Frage richtig antworten kann höchstens 1 2 beträgt. Des Weiteren können wir annehmen, dass die Wahrscheinlichkeit auch mindestens 1 2 beträgt, da Person C im Voraus raten kann, welche Frage Person B stellen wird und dementsprechend die Permutation τ festlegt. Es folgt, dass die Betrugswahrscheinlichkeit in einer Runde genau 1 2 beträgt, bei n Runden, liegt sie folglich nur noch bei 1 n 2. Somit ist das Protokoll korrekt. 8

9 Nachweis der Zero-Knowledge Eigenschaft Um die Zero-Knowledge Eigenschaft nachzuweisen, müssen wir einen Simulator S angeben, der uns korrekte Transkripte erzeugen kann. Ein Transkript besteht hier aus dem Tripel (H;b;τ), wobei ein akzeptierendes Transkript vorliegt, genau dann wenn H = τ(g b ) gilt. Die erzeugten Transkripte müssen dabei die gleiche Wahrscheinlichkeitsverteilung besitzen, wie die Transkripte, die bei der realen Kommunikation von Person B und Person A entstehen würden. Sowohl in einem echten Dialog als auch in einem simulierten Dialog, taucht die gleiche Anzahl an (zufälligen) Tripeln (H; b; τ) auf, so dass H = τ(g b ) (3.1) gilt. Das bedeutet, dass ein Außenstehender die beiden Dialoge unmöglich unterscheiden kann. Es folgt, dass das Verfahren die Zero-Knowledge Eigenschaft besitzt. 9

10 Kapitel 4 Das Fiat-Shamir Identifikationsverfahren Das folgende Protokoll besitzt einen großen praktischen Anreiz - es wird in der einen oder anderen Form zum Beispiel bei Chipkarten verwendet. Die Algorithmen sind effizient berechenbar und der Speicherplatzbedarf ist akzeptabel - das ist ein Argument, warum man Graphen in solchen Situationen nicht benutzen würde. Fast alle kryptographischen Protokolle bestehen aus einer Schlüsselerzeugungsphase und der anschließenden Verwendung der Schlüssel während des Protokollablaufs. Person A erzeugt zunächst zwei große verschiedene Primzahlen p und q und berechnet daraus das Produkt n := pq. Als nächstes berechnet sich Person A eine Quadratwurzel y eines Elementes x 2 Zn Λ. Sie wählt dazu ein beliebiges Element y 2 Zn Λ und definiert x := y 2. Das Paar (n;x) wird als Public-Key veröffentlicht - zum Beispiel wieder in einem öffentlichen Register - die Zahl y bleibt Person A s Geheimnis. Das Verfahren beruht darauf, dass es sehr schwer ist, also nicht in polynomialer Zeit, eine Quadratwurzel eines Elements aus Zn Λ zu ziehen. Person A weist ihre Identität dann dadurch nach, dass sie durch einen interaktiven Beweis Person B davon überzeugt, eine Quadratwurzel von x zu kennen. 10

11 4.1 Vorgehen Person A berechnet anfangs eine Quadratwurzel r eines Elements a aus Z n Λ, damit kann sie Person B gegen über beweisen, dass sie zu a eine Quadratwurzel, nämlich r, kennt. Dieses Objekt übernimmt dieselbe Funktion wie der Graph H aus dem vorhergehenden Beispiel. Person B bekommt dieses Element übermittelt und kann jetzt bestimmen, ob er die Quadratwurzel von a sehen möchte oder die Quadratwurzel von ax. Dadurch, dass Person A die geheime Quadratwurzel y von a kennt, kann sie jede Frage, die Person B stellen wird, korrekt beantworten - das Protokoll ist somit durchführbar. Die Korrektheit nachzuweisen ist bei diesem Protokoll etwas schwieriger. Wir hatten gesagt, dass ein Betrüger allerhöchstens während seiner eigenen Berechnungen schummeln kann, diesen Fakt nutzen wir jetzt aus, damit eine Person C mit Wahrscheinlichkeit 1 2 betrügen kann. Person C versucht zu erraten, für welche Möglichkeit Person B sich entscheiden wird, erhält dadurch ein Bit b 0 und präpariert dementsprechend das übermittelte a, indem sie für a einfach r 2 x berechnet. Als z verschickt sie r. Wenn sie richtig geraten b0 hat, wird Person B akzeptieren, da die Gleichung z 2 ax b mod n erfüllt ist. Es ergibt sich, dass Person C in jeder Runde mit mindestens einer Wahrscheinlichkeit von 1 2 betrügen kann. Sie kann auch nur höchstens mit einer Wahrscheinlichkeit 1 2 betrügen: Angenommen Person C könnte mit einer höheren Wahrscheinlichkeit betrügen, dann kennt sie ein a, zu dem sie beide Fragen beantworten kann. Das heißt, sie kann z 2 1 = a und z 2 2 = ax berechnen, sie kann also auch die Quadratwurzel y aus x berechnen (y = z 2 z1 ). Person C besitzt demnach einen Algorithmus A, der bei Eingabe x die Quadratwurzel y von x ausgibt. Nach unserer Voraussetzung, dass dies nicht in Polynomzeit berechenbar wäre muss unsere Annahme falsch gewesen sein, Person C kann also auch nur höchstens mit Wahrscheinlichkeit 1 2 betrügen. Insgesamt folgt, dass Person C pro Runde genau mit Wahrscheinlichkeit 1 2 betrügen kann, bei t Runden, verringert sich die Wahrscheinlichkeit, immer zu betrügen, auf ( 1 2 )t. Das Protokoll ist damit korrekt. Zero-Knowledge Eigenschaft Der Simulator S kann mit Person B auf folgende Art und Weise einen Dialog simulieren: ffl Swählt ein zufälliges Bit b 0 und eine Zahl r; dann berechnet er a := r 2 x b0 modn und sendet x an Person B 11

12 ffl B antwortet mit einem Bit b ffl Ist b = b 0 so sendet S die Nachricht z = r an B. Eine Überprüfung durch B ist in diesem Fall erfolgreich, denn es gilt: z 2 r 2 r 2 x b x b ax b modn (4.1) Das Tripel (a;b;z) repräsentiert einen Schritt der simulierten Unterhaltung. Ist b 6= b 0, so werden alle gesendeten Nachrichten gelöscht und die Simulation dieser Runde erneut gestartet. Sowohl im Originaldialog als auch im nachgestellten Dialog taucht die gleiche Anzahl von (zufälligen) Tripeln (a;b;z) auf, für welche die Gleichung xv b = y 2 gilt. Die beiden Dialoge sind also für einen Außenstehenden nicht zu unterscheiden. 12

13 Kapitel 5 Schwächen von Zero-Knowledge Verfahren Bisher sind wir bei den vorgestellten Verfahren auf keine Probleme gestoßen. Die folgende Schwäche ist aber leider nicht trivial und trifft auf alle Zero-Knowledge Verfahren zu. Es handelt sich hier um eine Art man-in-the-middle attack, da sich der Betrüger zwischen zwei Instanzen befindet. Durch diese Konstellation ist es Person B möglich, sich Person C gegenüber als Person A auszugeben. Das funktioniert sogar recht leicht. Am Beispiel des Fiat-Shamir Verfahrens, sieht das folgendermaßen aus: 1. Person A schickt Person B die Zufallszahl a, dieser leitet diese Zahl direkt an Person C weiter 2. Person C schickt Person B das zufallige Bit b, dieses wird sofort an Person A weitergeleitet 3. Person A s Antwort z wird an Person C weitergeleitet 4. nach mehreren erfolgreichen Runden ist Person C davon überzeugt, dass es sich bei Person B Person A ist Eine mögliche Lösung arbeitet mit exakten Uhren und versucht so zu verhindern, dass Person B während der Kommunikation mit Person A noch Zeit hat, mit Person C zu kommunizieren. Wenn jeder Schritt des Protokolls zu genau definierten Zeitpunkten stattfinden muss, dann kann man das Ausnutzen dieser Schwäche verhindern. 13

14 Kapitel 6 Witness Hiding Werden Zero-Knowledge-Protokolle parallel ausgeführt, d.h. Verifier und Prover tauschen in jeder Runde mehrere Nachrichten aus, ist es nicht immer gewährleistet, dass die Zero- Knowledge-Eigenschaft erfüllt wird. Aber gerade die parallele Ausführung von diesen Protokollen ist von großem Interesse, da dadurch die Anzahl der zu sendenden Nachrichten klein wird. Das Konzept eines Widness-Hiding-Protokolls (WH-Protokoll), eingeführt von Feige und Shamir, bietet eine Lösung dieses Problems. Unter Verwendung des Begriffs Witness Indistinguishability (WI) kann man beweisen, dass die WH-Eigenschaft erhalten bleibt, wenn alle Teilprotokolle diese Eigenschaft haben. Es muss allerdings ein kleiner Preis für diese Eigenschaft bezahlt werden: der Verifier kann bei WH-Protokollen ggf. Informationen vom Prover erhalten. Das Geheimnis des Provers bleibt aber zu jeder Zeit geschützt. 6.1 Witness Indistinguishability Definition Ein Protokoll für die Behauptung x hat die Eigenschaft L ist witness-indistinguishable (hat die WI-Eigenschaft), wenn man die Ausführung des Protokolls, in denen der Prover P einen Zeugen w 1 benutzt, nicht von solchen unterscheiden kann, in denen er einen Zeugen w 2 benutzt. Am Beispiel des Fiat-Shamir-Algorithus können wir uns diese Eigenschaft betrachten. Da n das Produkt aus zwei verschiedenen Primzahlen ist, existieren zu jedem quadratischen Rest genau vier Quadaratwurzeln. Es seien y 1 und y 2 zwei verschiedene Wurzeln von x. Wir müssen zeigen, dass nicht unterschieden werden kann, ob der Zeuge y 1 oder y 2 für die Durchführung des Protokolls benutzt wurde. = 1 (mod n) und Für t = y 1 y 2 gilt t 2 = x x Daraus folgt y 1 = ty 2 modn (6.1) ry 1 =(rt)y 2 modn (6.2) Wegen (rt) 2 = r 2 t 2 = r 2 = a kann der Verifier nicht unterscheiden, ob der Prover den Zeu- 14

15 gen y 1 mit der Zufallszahl r, oder ob er den Zeugen y 2 mit der Zufallszahl rt benutzt. B hat also keine Möglichkeit zu erkennen, welchen Zeugen der Prover für das Protokoll verwendet. Daraus folgt wenn wir dieses Beispiel verallgemeinern: Resultat 1 Jedes Zero-Knowledge-Protokoll hat die WI-Eigenschaft. Resultat 2 Die Wi-Eigenschaft bleibt bei paralleler Ausführung eines WI-Protokolls erhalten. 6.2 Witness Hiding Definition Ein Protokoll für die Behauptung x hat die Eigenschaft L ist witness hiding (hat die WH-Eigenschaft), wenn es für jeden Verifier V auch nach mehrmahliger Ausführung des Protokolls unmöglich ist, einen Zeugen w für diese Behauptung zu berechnen. D.h. P kann das Geheimnis von V niemals berechnen. Wir benötigen noch einen weiteren Begriff um das Ergebnis von Feige und Shamir angeben zu können. Definition Zwei Zeugen w 1 und ww 2 für x hat die Eigenschaft L heißen wesentlich verschieden, wenn es mit Kenntnis von w 1 genauso schwer ist, w 2 zu berechnen, wie ohne Kenntnis von w 1, und umgekehrt. Resultat 3 Gegeben sei ein WI-Protokoll P für die Behauptung x hat die Eigenschaft L. Wir setzen ferner voraus, dass es schwer ist einen Zeugen w für diese Behauptung zu finden, und dass es mindestens zwei wesentlich verschiedene Zeugen w 1 und w 2 gibt. Dann hat P die WH- Eigenschaft. 15

16 Kapitel 7 Nicht-interaktive Zero-Knowledge Verfahren Bisher war das herausragendste an Zero-Knowledge Beweisen, dass es Beweise waren, die auf Interaktivität beruhen. Wie kann man also interaktive Beweise plötzlich wieder nichtinteraktiv machen? Mit dieser Frage beschäftigt sich dieser Abschnitt. Wenn Person A Person B gegenüber ihre Identität nachweist, kann eine weitere Person, Person C zum Beispiel, noch lange nicht überzeugt werden, dass Person A ein Geheimnis weiß sie muss dazu selbst mit Person A kommunizieren. Um diesen Missstand auszugleichen, benötigen wir nicht-interaktive Zero-Knowledge Beweise. Nicht jedes Protokoll eignet sich dafür, bei einem nicht-interaktiven Zero-knowledge Beweis eingesetzt zu werden. Das Fiat-Shamir Verfahren erlaubt es zum Beispiel. Person A könnte einen solchen Beweis veröffentlichen und so jedem beweisen, dass sie ein Geheimnis kennt, ohne jedoch irgendetwas über das Geheimnis zu verraten. Es ist allerdings ausgesprochen erstaunlich, dass man Daten veröffentlichen kann, die einem beweisen, dass jemand ein Geheimnis besitzt, aber absolut nichts über das Geheimnis an sich aussagen. Die Kommunikation mit Person B war das entscheidende, da er dafür gesorgt hat, dass Person A nicht vorhersehen konnte, was sie als nächstes beweisen muss. Wir müssen also Person B durch eine Folge von Zufallszahlen ersetzen, die aber Person A absolut nicht vorhersehen kann. Das nächste Protokoll beschreibt den allgemeinen Ablauf eines nicht-interaktiven Beweises: 1. Person A benutzt ihr Geheimnis, und n Zufallszahlen, um das mathematische Problem, welches mit dem Geheimnis verbunden ist, in n isomorphe neue Probleme zu transformieren. Diese neuen Probleme kann man genauso schwer lösen, wie das ursprüngliche Problem. 2. Person A legt sich auf die Lösung der n neuen Probleme fest, das kann sie, da sie die Lösung zu dem ursprünglichen isomorphen Problem besitzt. 3. Sie fasst nun alle Festlegungen zu einem Bitvektor zusammen und wendet darauf eine Einweg-Hashfunktion an. Sie speichert nun die ersten n Ausgabebits der Hashfunktion. 4. Person A verwendet nun die n generierten Bits folgendermaßen. Für jedes neue Problem i nimmt sie das i-te Bit und (a) wenn es gleich 0 ist, dann legt sie einen Isomorphismus zwischen dem alten Problem und dem i-ten Problem offen, oder 16

17 (b) wenn es gleich 1 ist, dann legt sie die in Schritt (2) berechnete Lösung des i- ten Problems offen und zeigt, dass es sich dabei tatsächlich um eine Lösung handelt. 5. Person A veröffentlicht alle Festlegungen aus Schritt (2) und die Lösungen aus Schritt (4). 6. Person B und Person C können nun die Echtheit des Beweises überprüfen, indem sie die Schritte (1) bis (5) einzeln durchgehen und nachsehen, ob Person A alles korrekt durchgeführt hat. Das Protokoll funktioniert, da die Einweg-Hashfunktion als ein ausgewogener Zufallszahlengenerator eingesetzt wird. Wenn Person A betrügen will, müsste sie die durch die Hashfunktion zufällig generierten Bits vorhersagen können - dies kann sie aber nicht. Da die Hashfunktion festlegt, wie Person A im Schritt (4) antworten muss, ersetzt sie Person B s Rolle. Kennt Person A das Geheimnis nicht, kann sie nicht auf beide Fragen in Schritt (4) antworten und der Betrug würde sofort auffallen. Man muss allerdings die Anzahl der durchgeführten Iterationen erhöhen - bei interaktiven Beweisen haben ca. 10 Iterationen genügt. Das reicht bei einem nicht-interaktiven Beweis nicht mehr aus, da eine Betrügerin ständig von vorne anfangen kann und somit den Wert der Hashfunktion nach ihrem Geschmack beeinflussen. 17

18 Literaturverzeichnis [1] Albrecht Beutelspacher, Jörg Schwenk, Klaus-Dieter Wolfenstetter, Moderne Verfahren der Kryptographie, Friedr. Vieweg Sohn Verlag/GWV Fachverlage GmbH, Wiesbaden 2004 [2] Bruce Schneier, Angewandte Kryptographie, Addison Wesley, 1996 [3] Hans Delfs und Helmut Knebl, Introduction to Cryptography, 1st ed, Springer

19 Inhaltsverzeichnis 19

20 Abbildungsverzeichnis 20

Fiat Shamir Identifikation und Zero Knowledge Proofs. Sinem Kuz

Fiat Shamir Identifikation und Zero Knowledge Proofs. Sinem Kuz Rheinisch-Westfälische Technische Hochschule Aachen Lehrstuhl für Informatik I Prof. Dr. Berthold Vöcking Proseminar Datenstrukturen und Algorithmen im SS 2005 Fiat Shamir Identifikation und Zero Knowledge

Mehr

Kryptographie und Komplexität

Kryptographie und Komplexität Kryptographie und Komplexität Einheit 6.3 Teilnehmerauthentifikation 1. PIN und Passwörter 2. TAN und Einmal-Passwörter 3. itan: Challenge-Response-Protokolle 4. Zero-Knowledge Protokolle Ist der Teilnehmer

Mehr

Vorlesung Sicherheit

Vorlesung Sicherheit Vorlesung Sicherheit Dennis Hofheinz ITI, KIT 23.06.2014 1 / 26 Überblick 1 Zero-Knowledge-Protokolle Erinnerung Beispiel für Zero-Knowledge-Protokoll Analyse des Beispiel-Zero-Knowledge-Protokolls Proof-of-Knowledge-Eigenschaft

Mehr

VI.4 Elgamal. - vorgestellt 1985 von Taher Elgamal. - nach RSA das wichtigste Public-Key Verfahren

VI.4 Elgamal. - vorgestellt 1985 von Taher Elgamal. - nach RSA das wichtigste Public-Key Verfahren VI.4 Elgamal - vorgestellt 1985 von Taher Elgamal - nach RSA das wichtigste Public-Key Verfahren - besitzt viele unterschiedliche Varianten, abhängig von zugrunde liegender zyklischer Gruppe - Elgamal

Mehr

3: Primzahlen. 111 S. Lucks Diskr Strukt. (WS 18/19) 3: Primzahlen

3: Primzahlen. 111 S. Lucks Diskr Strukt. (WS 18/19) 3: Primzahlen 3: Primzahlen 111 S. Lucks Diskr Strukt. (WS 18/19) 3: Primzahlen Definition 40 (Teiler, Vielfache, Primzahlen, zusammengesetzte Zahlen) Seien a, b N. a ist ein Teiler von b ( a b ), falls es ein k N gibt

Mehr

13. Woche: NP-Vollständigkeit Satz von Cook-Levin Anwendungen in der Kryptographie

13. Woche: NP-Vollständigkeit Satz von Cook-Levin Anwendungen in der Kryptographie 13 Woche: NP-Vollständigkeit Satz von Cook-Levin Anwendungen in der Kryptographie 13 Woche: NP-Vollständigkeit, Satz von Cook-Levin, Anwendungen 276/ 333 N P-Vollständigkeit Ḋefinition NP-vollständig Sei

Mehr

Kryptographische Protokolle

Kryptographische Protokolle Kryptographische Protokolle Lerneinheit 2: Generierung von Primzahlen Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Wintersemester 2018/2019 15.11.2018 Einleitung Einleitung Diese Lerneinheit

Mehr

3: Zahlentheorie / Primzahlen

3: Zahlentheorie / Primzahlen Stefan Lucks Diskrete Strukturen (WS 2009/10) 96 3: Zahlentheorie / Primzahlen 3: Zahlentheorie / Primzahlen Stefan Lucks Diskrete Strukturen (WS 2009/10) 97 Definition 37 (Teiler, Vielfache, Primzahlen,

Mehr

Kurzskript MfI:AGS WS 2018/19 Teil II: Gruppen / Teil III: Ringe 34

Kurzskript MfI:AGS WS 2018/19 Teil II: Gruppen / Teil III: Ringe 34 Kurzskript MfI:AGS WS 2018/19 Teil II: Gruppen / Teil III: Ringe 34 Satz 4.2.11 (Chinesischer Restsatz, Ring-Version) Sind N teilerfremd (d.h. ggt( ) =1), so ist die Abbildung ein Ring-Isomorphismus. :

Mehr

Algorithmische Kryptographie

Algorithmische Kryptographie Algorithmische Kryptographie Walter Unger Lehrstuhl für Informatik I 16. Februar 2007 Public-Key-Systeme: Rabin 1 Das System nach Rabin 2 Grundlagen Körper Endliche Körper F(q) Definitionen Quadratwurzel

Mehr

El Gamal Verschlüsselung und seine Anwendungen

El Gamal Verschlüsselung und seine Anwendungen El Gamal Verschlüsselung und seine Anwendungen Andrés Guevara July 11, 2005 1 Kurze Einführung in die Kryptographie Situation: Absender will Empfänger eine Nachricht schicken. Einige Ziele der Kryptographie

Mehr

Probabilistische Primzahltests

Probabilistische Primzahltests 23.01.2006 Motivation und Überblick Grundsätzliches Vorgehen Motivation und Überblick Als Primzahltest bezeichnet man ein mathematisches Verfahren, mit dem ermittelt wird, ob eine gegebene Zahl eine Primzahl

Mehr

11. Das RSA Verfahren

11. Das RSA Verfahren Chr.Nelius: Zahlentheorie (SoSe 2017) 53 11. Das RSA Verfahren Bei einer asymmetrischen Verschlüsselung lässt sich der Schlüssel zum Entschlüsseln nicht aus dem Schlüssel zum Verschlüsseln bestimmen und

Mehr

Proseminar/Seminar Kryptographie und Datensicherheit SoSe 2009 Universität Potsdam Jan Jantzen

Proseminar/Seminar Kryptographie und Datensicherheit SoSe 2009 Universität Potsdam Jan Jantzen Authentifizierung Proseminar/Seminar Kryptographie und Datensicherheit SoSe 2009 Universität Potsdam Jan Jantzen Seminar Kyptographie und Datensicherheit SoSe 09 1 Gliederung Authentifizierung (Einleitung)

Mehr

Public-Key-Kryptographie

Public-Key-Kryptographie Kapitel 2 Public-Key-Kryptographie In diesem Kapitel soll eine kurze Einführung in die Kryptographie des 20. Jahrhunderts und die damit verbundene Entstehung von Public-Key Verfahren gegeben werden. Es

Mehr

9. Einführung in die Kryptographie

9. Einführung in die Kryptographie 9. Einführung in die Kryptographie Grundidee: A sendet Nachricht nach B über unsicheren Kanal. Es soll verhindert werden, dass ein Unbefugter Kenntnis von der übermittelten Nachricht erhält. Grundbegriffe:

Mehr

Miller-Rabin Test. Primzahl- und Zerlegbarkeitstests. Zeugen für die Zerlegbarkeit ganzer Zahlen

Miller-Rabin Test. Primzahl- und Zerlegbarkeitstests. Zeugen für die Zerlegbarkeit ganzer Zahlen Miller-Rabin Test Primzahl- und Zerlegbarkeitstests Sei N eine positive ganze Zahl. Wie kann man möglichst effizient feststellen, ob N eine Primzahl oder zerlegbar ist? Dies ist die Aufgabe von Primzahlund

Mehr

Asymmetrische Verschlüsselungsverfahren

Asymmetrische Verschlüsselungsverfahren Asymmetrische Verschlüsselungsverfahren Vorlesung 4 Alexander Koch (Vertretung) FAKULTÄT FÜR INFORMATIK, INSTITUT FÜR THEORETISCHE INFORMATIK 0 2016-11-10 Alexander Koch Asymmetrische Verschlüsselungsverfahren

Mehr

Blinde Signaturen, geheime Abstimmungen und digitale Münzen

Blinde Signaturen, geheime Abstimmungen und digitale Münzen Blinde Signaturen, geheime Abstimmungen und digitale Münzen Claus Diem Im Wintersemester 2017 / 18 Crypto 1982 Geheime Abstimmungen Eine geheime Abstimmung Problem. Eine Gruppe von Personen will per Brief

Mehr

Kryptographie - eine mathematische Einführung

Kryptographie - eine mathematische Einführung Kryptographie - eine mathematische Einführung Rosa Freund 28. Dezember 2004 Überblick Grundlegende Fragestellungen Symmetrische Verschlüsselung: Blockchiffren, Hashfunktionen

Mehr

P, NP und NP -Vollständigkeit

P, NP und NP -Vollständigkeit P, NP und NP -Vollständigkeit Mit der Turing-Maschine haben wir einen Formalismus kennengelernt, um über das Berechenbare nachdenken und argumentieren zu können. Wie unsere bisherigen Automatenmodelle

Mehr

Kryptographische Protokolle

Kryptographische Protokolle Kryptographische Protokolle Lerneinheit 4: Schlüsselvereinbarung Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Sommersemester 2017 8.5.2017 Einleitung Einleitung In dieser Lerneinheit

Mehr

Das RSA Kryptosystem

Das RSA Kryptosystem Kryptografie Grundlagen RSA Institut für Mathematik Technische Universität Berlin Kryptografie Grundlagen RSA mit geheimem mit öffentlichem Schlüssel Realisierung Kryptografie mit geheimem Schlüssel Alice

Mehr

Kryptographie und Komplexität

Kryptographie und Komplexität Kryptographie und Komplexität Einheit 6.2 Digitale Signaturen 1. Sicherheitsanforderungen 2. RSA Signaturen 3. ElGamal Signaturen Wozu Unterschriften? Verbindliche Urheberschaft von Dokumenten Unterschrift

Mehr

Vorlesung Sicherheit

Vorlesung Sicherheit Vorlesung Sicherheit Dennis Hofheinz ITI, KIT 12.05.2014 1 / 26 Überblick 1 Hashfunktionen Erinnerung Angriffe auf Hashfunktionen Zusammenfassung Hashfunktionen 2 Asymmetrische Verschlüsselung Idee Beispiel:

Mehr

Vorlesung Sicherheit

Vorlesung Sicherheit Vorlesung Sicherheit Dennis Hofheinz ITI, KIT 15.05.2017 1 / 25 Überblick 1 Hashfunktionen Angriffe auf Hashfunktionen Zusammenfassung Hashfunktionen 2 Asymmetrische Verschlüsselung Idee Beispiel: RSA

Mehr

Zero-Knowledge-Verfahren

Zero-Knowledge-Verfahren Zero-Knowledge-Verfahren INHALTSVERZEICHNIS 2 Inhaltsverzeichnis 1 Einleitung 3 1.1 Zielstellung des Versuches............................ 3 1.2 Motivation Zero-Knowledge-Verfahren.....................

Mehr

Homomorphe Verschlüsselung

Homomorphe Verschlüsselung Homomorphe Verschlüsselung Definition Homomorphe Verschlüsselung Sei Π ein Verschlüsselungsverfahren mit Enc : G G für Gruppen G, G. Π heißt homomorph, falls Enc(m 1 ) G Enc(m 2 ) eine gültige Verschlüsselung

Mehr

Vorkurs: Mathematik für Informatiker

Vorkurs: Mathematik für Informatiker Vorkurs: Mathematik für Informatiker Teil 3 Wintersemester 2016/17 Steven Köhler mathe@stevenkoehler.de mathe.stevenkoehler.de 2 c 2016 Steven Köhler Wintersemester 2016/17 Inhaltsverzeichnis Teil 1 Teil

Mehr

Bsp: Die kleinsten Carmichael-Zahlen sind 561, 1105, 1729, Es gibt unendlich viele Carmichael-Zahlen (Beweis 1994).

Bsp: Die kleinsten Carmichael-Zahlen sind 561, 1105, 1729, Es gibt unendlich viele Carmichael-Zahlen (Beweis 1994). Primzahltest Wir wollen testen, ob eine gegebene Zahl n eine Primzahl ist Effizienter Algorithmus zum Faktorisieren ist unbekannt Kontraposition des Kleinen Satzes von Fermat liefert: Falls a n 1 1 mod

Mehr

Kryptographische Grundlagen

Kryptographische Grundlagen Kryptographische Grundlagen Bernhard Lamel Universität Wien, Fakultät für Mathematik 10. Mai 2007 Outline 1 Symmetrische Verschlüsselung 2 Asymmetrische Verschlüsselung 3 Praxis Verschlüsseln und Entschlüsseln

Mehr

Kryptologie. Bernd Borchert. Univ. Tübingen SS Vorlesung. Teil 10. Signaturen, Diffie-Hellman

Kryptologie. Bernd Borchert. Univ. Tübingen SS Vorlesung. Teil 10. Signaturen, Diffie-Hellman Kryptologie Bernd Borchert Univ. Tübingen SS 2017 Vorlesung Teil 10 Signaturen, Diffie-Hellman Signatur Signatur s(m) einer Nachricht m Alice m, s(m) Bob K priv K pub K pub Signatur Signatur (Thema Integrity

Mehr

6 Polynomielle Gleichungen und Polynomfunktionen

6 Polynomielle Gleichungen und Polynomfunktionen 6 Polynomielle Gleichungen und Polynomfunktionen Lineare Gleichungen Eine lineare Gleichung in einer Variablen ist eine Gleichung der Form ax + b = cx + d mit festen Zahlen a und c mit a c. Dies kann man

Mehr

4 Kryptologie. Übersicht

4 Kryptologie. Übersicht 4 Kryptologie Übersicht 4.1 Der erweiterte euklidische Algorithmus................................ 38 4.2 Rechnen mit Restklassen modulo p................................... 39 4.3 Der kleine Satz von

Mehr

Analytische Lösung algebraischer Gleichungen dritten und vierten Grades

Analytische Lösung algebraischer Gleichungen dritten und vierten Grades Analytische Lösung algebraischer Gleichungen dritten und vierten Grades Inhaltsverzeichnis 1 Einführung 1 2 Gleichungen dritten Grades 3 3 Gleichungen vierten Grades 7 1 Einführung In diesem Skript werden

Mehr

VI. Public-Key Kryptographie

VI. Public-Key Kryptographie VI. Public-Key Kryptographie Definition 2.1 Ein Verschlüsselungsverfahren ist ein 5-Tupel (P,C,K,E,D), wobei 1. P die Menge der Klartexte ist. 2. C die Menge der Chiffretexte ist. 3. K die Menge der Schlüssel

Mehr

Algorithmentheorie Randomisierung

Algorithmentheorie Randomisierung Algorithmentheorie 03 - Randomisierung Prof. Dr. S. Albers Randomisierung Klassen von randomisierten Algorithmen Randomisierter Quicksort Randomisierter Primzahltest Kryptographie 2 1. Klassen von randomisierten

Mehr

Das Pumping Lemma der regulären Sprachen

Das Pumping Lemma der regulären Sprachen Das Pumping Lemma der regulären Sprachen Frank Heitmann heitmann@informatik.uni-hamburg.de 1 Das Pumping Lemma Das Pumping Lemma der regulären Sprachen macht eine Aussage der Art wenn eine Sprache L regulär

Mehr

Asymmetrische Verschlüsselungsverfahren

Asymmetrische Verschlüsselungsverfahren Asymmetrische Verschlüsselungsverfahren Vorlesung 4 Alexander Koch (Vertretung) FAKULTÄT FÜR INFORMATIK, INSTITUT FÜR THEORETISCHE INFORMATIK 0 KIT 2015-11-12 Universität desalexander Landes Baden-Württemberg

Mehr

Vorlesung Digitale Signaturen im Wintersemester 2017/-18. Socrative-Fragen aus der Vorlesung vom

Vorlesung Digitale Signaturen im Wintersemester 2017/-18. Socrative-Fragen aus der Vorlesung vom Institut für Theoretische Informatik Prof. Dr. J. Müller-Quade Dozenten: Björn Kaidel Vorlesung Digitale Signaturen im Wintersemester 2017/-18 Socrative-Fragen aus der Vorlesung vom 17.11.2017 1 Quiz 1:

Mehr

Vorlesung Sicherheit

Vorlesung Sicherheit Vorlesung Sicherheit Dennis Hofheinz IKS, KIT 17.06.2013 1 / 33 Überblick 1 Zero-Knowledge-Protokolle Erinnerung Analyse des Beispiel-Zero-Knowledge-Protokolls Proof-of-Knowledge-Eigenschaft Beziehung

Mehr

(Man sagt dafür auch, dass die Teilmenge U bezüglich der Gruppenoperationen abgeschlossen sein muss.)

(Man sagt dafür auch, dass die Teilmenge U bezüglich der Gruppenoperationen abgeschlossen sein muss.) 3. Untergruppen 19 3. Untergruppen Nachdem wir nun einige grundlegende Gruppen kennengelernt haben, wollen wir in diesem Kapitel eine einfache Möglichkeit untersuchen, mit der man aus bereits bekannten

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Sascha Böhme, Lars Noschinski Sommersemester 2011 Lösungsblatt 9 25. Juli 2011 Einführung in die Theoretische Informatik

Mehr

3 Vom Zählen zur Induktion

3 Vom Zählen zur Induktion 7 3 Vom Zählen zur Induktion 3.1 Natürliche Zahlen und Induktions-Prinzip Seit unserer Kindheit kennen wir die Zahlen 1,, 3, 4, usw. Diese Zahlen gebrauchen wir zum Zählen, und sie sind uns so vertraut,

Mehr

Miller-Rabin Test. Primzahl- und Zerlegbarkeitstests. Zeugen für die Zerlegbarkeit ganzer Zahlen

Miller-Rabin Test. Primzahl- und Zerlegbarkeitstests. Zeugen für die Zerlegbarkeit ganzer Zahlen Miller-Rabin Test Primzahl- und Zerlegbarkeitstests Sei N eine positive ganze Zahl. Wie kann man möglichst effizient feststellen, ob N eine Primzahl oder zerlegbar ist? Dies ist die Aufgabe von Primzahlund

Mehr

Einführung in die Kryptographie. 20.6.2011, www.privacyfoundation.ch

Einführung in die Kryptographie. 20.6.2011, www.privacyfoundation.ch Einführung in die Kryptographie 20.6.2011, www.privacyfoundation.ch Kryptographie Name kryptós: verborgen, geheim gráphein: schreiben Verschlüsselung Text so umwandeln, dass man ihn nur noch entziffern/lesen

Mehr

3. Untergruppen. 3. Untergruppen 23

3. Untergruppen. 3. Untergruppen 23 3. Untergruppen 23 3. Untergruppen Nachdem wir nun einige grundlegende Gruppen kennengelernt haben, wollen wir in diesem Kapitel eine einfache Möglichkeit untersuchen, mit der man aus bereits bekannten

Mehr

Vorlesung 7. Tilman Bauer. 25. September 2007

Vorlesung 7. Tilman Bauer. 25. September 2007 Vorlesung 7 Universität Münster 25. September 2007 El. In Vorlesung 4 haben wir Modulo-Arithmetik behandelt. Definition Sei n N 1. Auf Z ist eine Äquivalenzrelation Kongruenz modulo n definiert durch x

Mehr

El. Zahlentheorie I: Der kleine Satz von Fermat

El. Zahlentheorie I: Der kleine Satz von Fermat Vorlesung 7 Universität Münster 25. September 2007 El. In Vorlesung 4 haben wir Modulo-Arithmetik behandelt. Definition Sei n N 1. Auf Z ist eine Äquivalenzrelation Kongruenz modulo n definiert durch x

Mehr

Proseminar Datensicherheit & Versicherungsmathematik RSA-Verfahren

Proseminar Datensicherheit & Versicherungsmathematik RSA-Verfahren Proseminar Datensicherheit & Versicherungsmathematik RSA-Verfahren Herwig Stütz 2007-11-23 1 Inhaltsverzeichnis 1 Einführung 2 2 Das RSA-Verfahren 2 2.1 Schlüsselerzeugung.................................

Mehr

Beispiel für simultane Kongruenz

Beispiel für simultane Kongruenz Beispiel für simultane Kongruenz Jetzt wollen wir das Lemma der letzten Einheit anwenden. Wenn man eine Zahl sucht, die kongruent zu y modulo m und kongruent zu z modulo n ist, so nehme man zam + ybn wobei

Mehr

6: Public-Key Kryptographie (Grundidee)

6: Public-Key Kryptographie (Grundidee) 6: Public-Key Kryptographie (Grundidee) Ein Teil des Schlüssels ist nur dem Empfänger bekannt. Der auch dem Sender bekannte Teil kann sogar veröffentlicht werden. Man spricht dann von einem Schlüsselpaar.

Mehr

VII. Hashfunktionen und Authentifizierungscodes

VII. Hashfunktionen und Authentifizierungscodes VII. Hashfunktionen und Authentifizierungscodes Bob Eve Eve möchte - lauschen - ändern - personifizieren Alice 1 Aufgaben - Vertraulichkeit Lauschen - Authentizität Tauschen des Datenursprungs - Integrität

Mehr

Isomorphie von Bäumen

Isomorphie von Bäumen Isomorphie von Bäumen Alexandra Weinberger 23. Dezember 2011 Inhaltsverzeichnis 1 Einige Grundlagen und Definitionen 2 1.1 Bäume................................. 3 1.2 Isomorphie..............................

Mehr

Algorithmentheorie Randomisierung. Robert Elsässer

Algorithmentheorie Randomisierung. Robert Elsässer Algorithmentheorie 03 - Randomisierung Robert Elsässer Randomisierung Klassen von randomisierten Algorithmen Randomisierter Quicksort Randomisierter Primzahltest Kryptographie 2 1. Klassen von randomisierten

Mehr

3 Public-Key-Kryptosysteme

3 Public-Key-Kryptosysteme Stand: 05.11.2013 Vorlesung Grundlagen und Methoden der Kryptographie Dietzfelbinger 3 Public-Key-Kryptosysteme 3.1 Verschlüsselung von Nachrichten Wir betrachten ganz einfache Kommunikationsszenarien.

Mehr

GOLDENER SCHNITT UND FIBONACCI-FOLGE

GOLDENER SCHNITT UND FIBONACCI-FOLGE GOLDENER SCHNITT UND FIBONACCI-FOLGE NORA LOOSE Der Goldene Schnitt - Eine Irrationalität am Ordenssymbol der Pythagoreer Schon im 5 Jahrhundert v Chr entdeckte ein Pythagoreer eine Konsequenz der Unvollständigkeit

Mehr

Berechenbarkeit und Komplexität: Rekursive Aufzählbarkeit und die Technik der Reduktion

Berechenbarkeit und Komplexität: Rekursive Aufzählbarkeit und die Technik der Reduktion Berechenbarkeit und Komplexität: Rekursive Aufzählbarkeit und die Technik der Reduktion Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität 7. Dezember 2006 Rekursiv vs. rekursiv

Mehr

Kryptographische Protokolle

Kryptographische Protokolle Kryptographische Protokolle Lerneinheit 7: Diverse Protokolle Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Sommersemester 2017 18.6.2017 Einleitung Einleitung Inhalt dieser Lerneinheit

Mehr

Übungsblatt 1. Lorenz Leutgeb. 30. März 2015

Übungsblatt 1. Lorenz Leutgeb. 30. März 2015 Übungsblatt Lorenz Leutgeb 30. März 205 Aufgabe. Annahmen ohne Einschränkungen: P Σ und P Γ. Per Definitionem der Reduktion: P P 2 f : Σ Γ wobei f total und berechenbar, genau so, dass: w Σ : w P f(w)

Mehr

VP WAP Kryptographie

VP WAP Kryptographie VP WAP Kryptographie Martin Hargassner, Claudia Horner, Florian Krisch Universität Salzburg 11. Juli 2002 header 1 Übersicht Definiton Ziele Entwicklung Private- / Public-Key Verfahren Sicherheit Anwendungsbeispiel:

Mehr

Secure Delegation of Elliptic- Curve pairing

Secure Delegation of Elliptic- Curve pairing Seminar Kryptographie TU-Berlin WS 05/06 Prof. Heß, Dr. Kühn, Prof. Pohst Secure Delegation of Elliptic- Curve pairing Ein Verfahren von B. Chevallier-Mames, J. Coron, N. McCullagh, D. Naccache, M. Scott

Mehr

VI.3 RSA. - RSA benannt nach seinen Erfindern R. Rivest, A. Shamir und L. Adleman. - vorgestellt erstes Public-Key Verschlüsselungsverfahren

VI.3 RSA. - RSA benannt nach seinen Erfindern R. Rivest, A. Shamir und L. Adleman. - vorgestellt erstes Public-Key Verschlüsselungsverfahren VI.3 RSA - RSA benannt nach seinen Erfindern R. Rivest, A. Shamir und L. Adleman - vorgestellt 1977 - erstes Public-Key Verschlüsselungsverfahren - auch heute noch das wichtigste Public-Key Verfahren 1

Mehr

EINIGE GRUNDLAGEN DER KRYPTOGRAPHIE

EINIGE GRUNDLAGEN DER KRYPTOGRAPHIE EINIGE GRUNDLAGEN DER KRYPTOGRAPHIE Steffen Reith reith@thi.uni-hannover.de 22. April 2005 Download: http://www.thi.uni-hannover.de/lehre/ss05/kry/folien/einleitung.pdf WAS IST KRYPTOGRAPHIE? Kryptographie

Mehr

Vorkurs: Mathematik für Informatiker

Vorkurs: Mathematik für Informatiker Vorkurs: Mathematik für Informatiker Teil 3 Wintersemester 2017/18 Steven Köhler mathe@stevenkoehler.de mathe.stevenkoehler.de 2 c 2017 Steven Köhler Wintersemester 2017/18 Inhaltsverzeichnis Teil 1 Teil

Mehr

Kapitel 6: Das quadratische Reziprozitätsgesetz

Kapitel 6: Das quadratische Reziprozitätsgesetz Kapitel 6: Das quadratische Reziprozitätsgesetz Ziel dieses Kapitels: die Untersuchung der Lösbarkeit der Kongruenzgleichung X also die Frage, ob die ganze Zahl Z eine Quadratwurzel modulo P besitzt. Im

Mehr

Halteproblem/Kodierung von Turing-Maschinen

Halteproblem/Kodierung von Turing-Maschinen Halteproblem/Kodierung von Turing-Maschinen Unser Ziel ist es nun zu zeigen, dass das sogenannte Halteproblem unentscheidbar ist. Halteproblem (informell) Eingabe: Turing-Maschine M mit Eingabe w. Frage:

Mehr

In diesem Kapitel bestimmen wir die multiplikative Struktur der Einheitengruppe (Z/Z) von Z/Z für eine beliebige positive Zahl Z >0.

In diesem Kapitel bestimmen wir die multiplikative Struktur der Einheitengruppe (Z/Z) von Z/Z für eine beliebige positive Zahl Z >0. Kapitel 5: Die Einheitengruppe von Z/Z und Primitivwurzeln modulo In diesem Kapitel bestimmen wir die multiplikative Struktur der Einheitengruppe (Z/Z) von Z/Z für eine beliebige positive Zahl Z >0. 16

Mehr

Vorkurs: Mathematik für Informatiker

Vorkurs: Mathematik für Informatiker Vorkurs: Mathematik für Informatiker Teil 3 Wintersemester 2017/18 Steven Köhler mathe@stevenkoehler.de mathe.stevenkoehler.de 2 c 2017 Steven Köhler Wintersemester 2017/18 Inhaltsverzeichnis Teil 1 Teil

Mehr

Proseminar Datensicherheit & Versicherungsmathematik ElGamal-Verfahren

Proseminar Datensicherheit & Versicherungsmathematik ElGamal-Verfahren Proseminar Datensicherheit & Versicherungsmathematik ElGamal-Verfahren Markus Kröll 14. Jänner 2009 Inhaltsverzeichnis 1 Einführung 2 2 Das ElGamal-Verfahren 2 2.1 Schlüsselerzeugung.................................

Mehr

Digitale Signaturen. GHR-und Chamäleon-Signaturen Björn Kaidel. FAKULTÄT FÜR INFORMATIK, INSTITUT FÜR THEORETISCHE INFORMATIK

Digitale Signaturen. GHR-und Chamäleon-Signaturen Björn Kaidel.   FAKULTÄT FÜR INFORMATIK, INSTITUT FÜR THEORETISCHE INFORMATIK Digitale Signaturen GHR-und Chamäleon-Signaturen Björn Kaidel FAKULTÄT FÜR INFORMATIK, INSTITUT FÜR THEORETISCHE INFORMATIK 0 2017-12-15 B. Kaidel Digitale Signaturen: GHR- und Chamäleon-Signaturen KIT

Mehr

Ferien-Übungsblatt 8 Lösungsvorschläge

Ferien-Übungsblatt 8 Lösungsvorschläge Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Ferien-Übungsblatt 8 Lösungsvorschläge Vorlesung Algorithmentechnik im WS 09/10 Problem 1: Probabilistische Komplexitätsklassen [vgl.

Mehr

Der komplexitätstheoretische Zugang zur Kryptographie

Der komplexitätstheoretische Zugang zur Kryptographie Der komplexitätstheoretische Zugang zur Kryptographie Claus Diem Im Wintersemester 2017 / 18 Literatur Oded Goldreich: Foundations of Cryptography Jonathan Katz & Yeduda Lindell: Intoduction to Modern

Mehr

2.7 Der Shannon-Fano-Elias Code

2.7 Der Shannon-Fano-Elias Code 2.7 Der Shannon-Fano-Elias Code Die Huffman-Codierung ist ein asymptotisch optimales Verfahren. Wir haben auch gesehen, dass sich die Huffman-Codierung gut berechnen und dann auch gut decodieren lassen.

Mehr

5 Sortieren in eindimensionalen Zellularautomaten

5 Sortieren in eindimensionalen Zellularautomaten 5 Sortieren in eindimensionalen Zellularautomaten 5.1 Für alle x A und w A bezeichne im folgenden N x (w) die Anzahl der Vorkommen des Symboles x in dem Wort w. 5.2 Problem. (Eindimensionales Sortieren

Mehr

Netzwerktechnologien 3 VO

Netzwerktechnologien 3 VO Netzwerktechnologien 3 VO Univ.-Prof. Dr. Helmut Hlavacs helmut.hlavacs@univie.ac.at Dr. Ivan Gojmerac gojmerac@ftw.at Bachelorstudium Medieninformatik SS 2012 Kapitel 8 - Netzwerksicherheit 8.1 Was ist

Mehr

Kryptograhie Wie funktioniert Electronic Banking? Kurt Mehlhorn Adrian Neumann Max-Planck-Institut für Informatik

Kryptograhie Wie funktioniert Electronic Banking? Kurt Mehlhorn Adrian Neumann Max-Planck-Institut für Informatik Kryptograhie Wie funktioniert Electronic Banking? Kurt Mehlhorn Adrian Neumann Max-Planck-Institut für Informatik Übersicht Zwecke der Krytographie Techniken Symmetrische Verschlüsselung( One-time Pad,

Mehr

Berechenbarkeit und Komplexität: Rekursive Aufzählbarkeit und die Technik der Reduktion

Berechenbarkeit und Komplexität: Rekursive Aufzählbarkeit und die Technik der Reduktion Berechenbarkeit und Komplexität: Rekursive Aufzählbarkeit und die Technik der Reduktion Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität 26. November 2007 Semi-Entscheidbarkeit

Mehr

Reduktion / Hilberts 10. Problem

Reduktion / Hilberts 10. Problem Reduktion / Hilberts 10. Problem Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 9. November 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und

Mehr

Digitale Signaturen. Kapitel 8

Digitale Signaturen. Kapitel 8 Digitale Signaturen Kapitel 8 Handschriftliche vs. digitale Unterschrift digitalisieren mp3 Unterschrift digitale Unterschrift von D.H. für mp3? (Scannen und als Bitmap anhängen z.b. zu leicht zu fälschen)

Mehr

Elliptic Curve Cryptography

Elliptic Curve Cryptography Elliptic Curve Cryptography Institut für Informatik Humboldt-Universität zu Berlin 10. November 2013 ECC 1 Aufbau 1 Asymmetrische Verschlüsselung im Allgemeinen 2 Elliptische Kurven über den reellen Zahlen

Mehr

Bernd Borchert. Univ. Tübingen WS 13/14. Vorlesung. Kryptographie. Teil 11. Einwegfunktionen, Geheimnisteilung, Steganographie 7.2.

Bernd Borchert. Univ. Tübingen WS 13/14. Vorlesung. Kryptographie. Teil 11. Einwegfunktionen, Geheimnisteilung, Steganographie 7.2. Bernd Borchert Univ. Tübingen WS 13/14 Vorlesung Kryptographie Teil 11 Einwegfunktionen, Geheimnisteilung, Steganographie 7.2.14 P-Zeit berechenbare Funktionen FP ist die Klasse aller Funktionen f : {0,1}*

Mehr

Q.E.D. Algorithmen und Datenstrukturen Wintersemester 2018/2019 Übung#2, Christian Rieck, Arne Schmidt

Q.E.D. Algorithmen und Datenstrukturen Wintersemester 2018/2019 Übung#2, Christian Rieck, Arne Schmidt Institute of Operating Systems and Computer Networks Algorithms Group Q.E.D. Algorithmen und Datenstrukturen Wintersemester 2018/2019 Übung#2, 01.11.2018 Christian Rieck, Arne Schmidt Einführendes Beispiel

Mehr

Die Reduktion Hilberts 10. Problem

Die Reduktion Hilberts 10. Problem Die Reduktion Hilberts 10. Problem Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 8. November 2010 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit

Mehr

Quadrate und Wurzelziehen modulo p

Quadrate und Wurzelziehen modulo p Quadrate und Wurzelziehen modulo p Sei im Folgenden p eine Primzahl größer als. Wir möchten im Körper Z p Quadratwurzeln ziehen. Die Quadrierabbildung Q :Z p Z p ist aber nicht surjektiv, daher gibt es

Mehr

Diskrete Strukturen Kapitel 5: Algebraische Strukturen (RSA-Verfahren)

Diskrete Strukturen Kapitel 5: Algebraische Strukturen (RSA-Verfahren) WS 2016/17 Diskrete Strukturen Kapitel 5: Algebraische Strukturen (RSA-Verfahren) Hans-Joachim Bungartz Lehrstuhl für wissenschaftliches Rechnen Fakultät für Informatik Technische Universität München http://www5.in.tum.de/wiki/index.php/diskrete_strukturen_-_winter_16

Mehr

1. Welche Eigenschaften sollte ein Pseudo-Random Generator haben?

1. Welche Eigenschaften sollte ein Pseudo-Random Generator haben? Die Themen 1. Welche Eigenschaften sollte ein Pseudo-Random Generator haben? Er sollte von wirklichen Zufallsgeneratoren nicht unterscheidbar sein?! Eine viel zu starke Forderung: Stattdessen sollte ein

Mehr

Die Unentscheidbarkeit extensionaler Eigenschaften von Turingmaschinen: der Satz von Rice

Die Unentscheidbarkeit extensionaler Eigenschaften von Turingmaschinen: der Satz von Rice Die Unentscheidbarkeit extensionaler Eigenschaften von Turingmaschinen: der Satz von Rice Holger Arnold Dieser Text befasst sich mit der Frage, unter welchen Bedingungen das Problem, zu bestimmen, ob die

Mehr

Kryptografische Protokolle

Kryptografische Protokolle Kryptografische Protokolle Lerneinheit 7: Diverse Protokolle Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Sommersemester 2016 20.6.2016 Einleitung Einleitung Inhalt dieser Lerneinheit

Mehr

6: Diskrete Wahrscheinlichkeit

6: Diskrete Wahrscheinlichkeit Stefan Lucks Diskrete Strukturen (WS 2009/10) 219 6: Diskrete Wahrscheinlichkeit 6: Diskrete Wahrscheinlichkeit Stefan Lucks Diskrete Strukturen (WS 2009/10) 220 Wahrscheinlichkeitsrechnung Eines der wichtigsten

Mehr

Abschnitt 5: Kryptographie. j (p j 1). 1 (p 1 1)p α 2

Abschnitt 5: Kryptographie. j (p j 1). 1 (p 1 1)p α 2 Abschnitt 5: Kryptographie. Zunächst wollen wir die Struktur von (Z/mZ) untersuchen. 5.1 Definition: Die Eulersche ϕ-funktion: ϕ : N N; ϕ(m) := (Z/mZ) 5.2 Bemerkung: (Z/mZ) {a {1,..., m 1} ggt(a, m) =

Mehr

Kryptographie und Komplexität

Kryptographie und Komplexität Kryptographie und Komplexität Einheit 6.4 Mehrparteien-Berechnung und Verteilte Geheimnisse 1. Secret-Sharing Protokolle 2. Verifizierbare Geheimnisaufteilung 3. Threshold Signaturverfahren Weitere Anwendungen

Mehr

Regine Schreier

Regine Schreier Regine Schreier 20.04.2016 Kryptographie Verschlüsselungsverfahren Private-Key-Verfahren und Public-Key-Verfahren RSA-Verfahren Schlüsselerzeugung Verschlüsselung Entschlüsselung Digitale Signatur mit

Mehr

Vorlesung Sicherheit

Vorlesung Sicherheit Vorlesung Sicherheit Dennis Hofheinz ITI, KIT 26.06.2017 1 / 41 Überblick 1 Identifikationsprotokolle Erinnerung Sicherheitsmodell Ein sicheres Protokoll Noch ein sicheres Protokoll 2 Zero-Knowledge-Protokolle

Mehr

RSA Parameter öffentlich: N = pq mit p, q prim und e Z RSA Parameter geheim: d Z φ(n)

RSA Parameter öffentlich: N = pq mit p, q prim und e Z RSA Parameter geheim: d Z φ(n) RSA Parameter { öffentlich: N = pq mit p, q prim und e Z RSA Parameter φ(n) geheim: d Z φ(n) mit ed = 1 mod φ(n). Satz RSA Parameter Generierung RSA-Parameter (N, e, d) können in Zeit O(log 4 N) generiert

Mehr

$Id: ring.tex,v /05/03 15:13:26 hk Exp $

$Id: ring.tex,v /05/03 15:13:26 hk Exp $ $Id: ring.tex,v 1.13 2012/05/03 15:13:26 hk Exp $ 3 Ringe 3.1 Der Ring Z m In der letzten Sitzung hatten wir die sogenannten Ringe eingeführt, dies waren Mengen A versehen mit einer Addition + und einer

Mehr

Kryptographie und Komplexität

Kryptographie und Komplexität Kryptographie und Komplexität Einheit 5.2 ElGamal Systeme 1. Verschlüsselungsverfahren 2. Korrektheit und Komplexität 3. Sicherheitsaspekte Das ElGamal Verschlüsselungsverfahren Public-Key Verfahren von

Mehr

Primzahlen im Schulunterricht wozu?

Primzahlen im Schulunterricht wozu? Primzahlen im Schulunterricht wozu? Franz Pauer Institut für Fachdidaktik und Institut für Mathematik Universität Innsbruck Tag der Mathematik Graz 6. Februar 2014 Einleitung Eine (positive) Primzahl ist

Mehr