Fakultät für Informatik Professur Theoretische Informatik und Informationssicherheit Sommersemester 2007 Prof. Dr. Hanno Lefmann Datensicherheit und Kryptographie II 11. Übung Aufgabe 1 Wir betrachten den Körper der Polynome vom Grad maximal 7 über Z2 modulo m(x) = x8 + x4 + x3 + x + 1. Zeigen Sie, dass das Quadrieren eines Polynoms modulo m(x) eine injektive Abbildung q ist (und damit umkehrbar ist). Hinweis: Verwenden Sie die Linearität q(a(x) + b(x)) = q(a(x)) + q(b(x)) vom letzten Übungsblatt und zerlegen Sie das zu quadrierende Polynom in seine einzelnen Komponenten, d. h. Teilpolynome. Berechnen Sie die Koeffizienten des Quadrats. Aufgabe 2 Angenommen, wir haben eine Funktion f : {0, 1} × X → Y für Mengen X, Y , die in Polynomialzeit berechenbar ist, und die folgenden Eigenschaften aufweist: 1. Es ist nicht in Polynomialzeit möglich, für b ∈ {0, 1} und x ∈ X aus dem Wert f (b, x) zu bestimmen, welchen Wert b hat. 2. Die Funktion f ist injektiv. Betrachten Sie folgendes Szenario (ein Bit-Commitment-Schema): Bob möchte ein Bit effizient so codieren, dass er die Codierung Alice schicken kann, ohne dass Alice daraus effizient berechnen kann, welchen Wert das codierte Bit hat. Andererseits soll Bob sich festgelegt haben, d.h. auf Anfrage muss er offenlegen, welchen Wert das codierte Bit hatte, und Alice soll effizient verifizieren können, dass der offengelegte Wert der tatsächliche Wert des Bits war. Wie kann man dieses Szenario mit der Funktion f von oben als Protokoll formulieren, so dass die geforderten Eigenschaften gelten? Zeigen Sie, dass Ihr Protokoll die geforderten Eigenschaften hat. Aufgabe 3 Betrachten Sie folgendes Protokoll für das Problem Hamilton Cycle, das darin besteht, zu einem gegebenen ungerichteten Graphen G einen Hamiltonkreis zu finden, d.h. einen Kreis, der jeden Knoten aus V genau ein mal enthält. Das Problem ist NP-hart. Es sei ein Graph G fest, und Bob möchte Alice überzeugen, dass er einen Hamiltonkreis C in G kennt, wobei G öffentlich ist. Betrachten Sie folgendes Interaktive Beweissystem mit Zero-Knowledge-Eigenschaft: 1. Bob wählt eine zufällige Permutation π der Knoten des Graphen und berechnet H = π(G). Aus dem Hamiltonkreis C und der Permutation π berechnet er den Hamiltonkreis C 0 = π(C) in H. Dann berechnet er mittels eines BitCommitment-Schemas wie in Aufgabe 2 eine Codierung H 0 von H, und schickt H 0 an Alice. 2. Alice verlangt zufällig von Bob, entweder zu beweisen dass H 0 die Codierung einer isomorphen Kopie von G ist, oder einen Hamiltonkreis in H 0 zu zeigen. 3. Bob kommt der Aufforderung nach, indem er entweder die komplette Codierung H 0 von H sowie die Permutation π offenlegt, oder nur die Kanten in der Codierung H 0 offenlegt, die zum Hamiltonkreis C 0 gehören, sowie den Kreis C 0 angibt. 4. Alice akzeptiert, wenn Bob ihrer Aufforderung korrekt nachgekommen ist. Im ersten Fall bedeutet dies, dass sie überprüft, ob H 0 wirklich die Codierung eines Graphen H ist und ob π(G) = H ist. Im zweiten Fall bedeutet dies, dass sie überprüft, ob der angegebene Kreis C 0 tatsächlich ein Hamiltonkreis auf den offengelegten Kanten in H bildet. Zeigen Sie, dass Folgendes gilt: 1. Wenn Bob wirklich einen Hamiltonkreis in G kennt, kann er Alice immer überzeugen, und das Protokoll arbeitet in Polynomialzeit. 2. Falls Bob keinen Hamiltonkreis in G kennt, wird Alice mit Wahrscheinlichkeit mindestens 1/2 dies feststellen, wenn Bob nur Polynomialzeit zur Verfügung hat. 3. Zeigen Sie, dass Alice aus den erhaltenen Informationen keine Informationen über den Hamiltonkreis in G erhält.
© Copyright 2024 ExpyDoc