• Keine Ergebnisse gefunden

Das Generalized Birthday Problem Problem

N/A
N/A
Protected

Academic year: 2022

Aktie "Das Generalized Birthday Problem Problem"

Copied!
9
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Das Generalized Birthday Problem

Problem Birthday

Gegeben: Listen L1,L2 mit Elementen ausFn2 Gesucht: x1L1und x2L2mit x1+x2=0 inFn2

Anwendungen:

Meet-in-the-Middle Angriffe (z.B. für RSA, ElGamal) Kennen Lösung für|L1|=|L2|=2n2 in ZeitO(2˜ n2).

Problem Generalized Birthday

Gegeben: Listen L1, . . . ,Lk mit Elementen ausFn2, unabhängig und gleichverteilt gezogen

Gesucht: x1L1, . . . ,xkLk mit x1+. . .+xk =0 inFn2

Listen können auf beliebige Länge erweitert werden.

Wir erwarten die Existenz einer Lösung sobald|L1| ·. . .· |Lk|>2n.

(2)

Zusammenfügen zweier Listen

Definition Join-Operator

Wir bezeichnen mitlow(x)dieℓniederwertigsten Bits von x . Wir definieren für zwei Listen L1,L2den Join-Operator

L1⊲⊳ L2={(x1,x2,x1+x2)∈L1×L2×Fn2|low(x1) =low(x2)}.

Eigenschaften:

Es giltlow(x1+x2) =0 gdwlow(x1) =low(x2).

Bei Eingabe L1,L2kann L1⊲⊳L2berechnet werden in Zeit O(max{|L˜ 1|,|L2|,|L1|⊲⊳ |L2|}).

Es gilt x1+x2=x3+x4gdw x1+x2+x3+x4=0.

Fallslow(x1+x2) =0 undlow(x3+x4) =0, dann gilt low (x +x +x +x ) =0 und

(3)

Algorithmus für das 4-Listen Problem

Algorithmus 4-Listen Problem

EINGABE: L1,L2,L3,L4der Länge|Li|=2n3 mit Elementen ausFn2

1 Setzeℓ:= n3.

2 Berechne L12=L1⊲⊳ L2und L34=L3⊲⊳ L4.

3 Berechne L1234=L12 ⊲⊳nL34. AUSGABE: Elemente von L1234

(4)

Korrektheit des 4-Listen Problem Algorithmus

Korrektheit:

Elemente von L12,L34erfüllenlown

3(x1+x2) =lown

3(x3+x4) =0.

Wir erwarten Listenlänge E[|L12|] =P

(x1,x2)L1×L2Ws[lown

3(x1+x2) =0] = |L1|·|L2|

2n3 =2n3. Analog gilt E[|L34|] =2n3.

Elemente von L1234erfüllen x1+x2+x3+x4=0.

Die erwartete Listenlänge E[|L1234|]von L1234ist P

(x1,...,x4)∈L12×L34Ws[x1+. . .+x4=0|lown

3(x1+x2) =lown

3(x3+x4)]

= E(|L12|)·E(|L34|)

22n3 =1.

D.h. wir erwarten, dass L1234eine Lösung enthält.

(5)

Laufzeitanalyse des 4-Listen Problem Algorithmus

Laufzeit und Speicherplatz:

Die Listen L1, . . . ,L4,L12,L34 benötigen jeweils PlatzO(2˜ n3).

Die Konstruktion von L12,L34 geht in LaufzeitO(2˜ n3).

Konstruktion von L1234benötigt ebenfalls LaufzeitO(2˜ n3).

Gesamt: Zeit und PlatzO(2˜ n3)

Übungen: Modifizieren Sie den Algorithmus, so dass low(x1+x2) =low(x3+x4) =c für ein c∈F2. wir x1+x2+x3+x4=c für ein c ∈Fn2lösen können.

wir jede Instanz mit k ≥4 in Zeit und PlatzO(2˜ n3)lösen können.

(6)

4-Listen Problem in Z

2n

Ziel: Verwende Gruppe(Z2n,+)statt(F2n,+).

Sei−L={−x ∈Z2n |xL}.

Algorithmus 4-Listen Problem

EINGABE: L1,L2,L3,L4mit Elementen ausZ2n der Länge|Li|=2n3

1 Setzeℓ:= n3.

2 Berechne L12=L1⊲⊳ −L2und L34=L3⊲⊳ −L4.

3 Berechne L1234=L12 ⊲⊳n−L34. AUSGABE: Elemente von L1234

Korrektheit:

Wir erhalten(x1,x2,x1+x2)∈L12mit x1+x2=0mod2.

(7)

Algorithmus k -Listen Problem, k = 2

m

Algorithmus k-Listen Problem

EINGABE: L1, . . . ,L2m mit Elementen ausFn2, Länge|Li|=2m+1n

1 Setzeℓ:= m+1n .

2 For i :=1 to m−1

1 FOR j:=1 to 2mstep 2i

/* Join aller benachbarten Listen auf Level i des Baumes */

2 Berechne Lj...j+2i−1=Lj...j+2i−1−1⊲⊳iLj+2i−1...j+2i−1.

3 Berechne L1...2m =L1...2m1 ⊲⊳n L2m1+1...2m. AUSGABE: Elemente von L1...2m

Beispiel für k =23:

Join für i =1: L12 =L1⊲⊳L2, L34 =L3⊲⊳L4, . . . , L78=L7⊲⊳ L8. Join für i =2: L1234=L12⊲⊳L34, L5678=L56 ⊲⊳ L78.

Join in Schritt 3: L1...8=L1...4⊲⊳nL5...8.

(8)

Analyse des k -Listen Algorithmus

Korrektheit:

Alle Startlisten besitzen Länge 2.

D.h. durch das Join auf unterster Ebene entstehen Listen mit erwarteter Länge 22·2 =2.

Damit entstehen in Schritt 2 stets Listen mit erwarteter Länge 2. In Schritt 3 entsteht eine Liste L1...k mit erwarteter Länge

P

(x1,...,xk)Ws[x1+. . .+xk =0|low(m1)ℓ(x1+. . .+xk 2

) = low(m1)ℓ(xk

2+1+. . .+xk)] = 2n−(m221) =1.

(9)

Analyse des k -Listen Algorithmus

Laufzeit und Platz:

Die Listen L1, . . . ,Lk benötigen jeweils PlatzO(2˜ ).

In Schritt 2 berechnen wir k−2 Listen mit erwarteter LängeO(2˜ ).

Damit erhalten wir SpeicherplatzbedarfO(k 2˜ ) = ˜O(k 2log kn+1).

Die Laufzeit für alle k−1 Join-Operationen beträgtO(2˜ ).

Damit ist die Gesamtlaufzeit ebenfallsO(k 2˜ ) = ˜O(k 2log k+1n ) Für k =2nerhalten wir Zeit und Speicherplatz Komplexität

O(2˜ n·2

n

n+1) = ˜O(22n).

Dies ist eine subexponentielle Funktion in n.

Übung: Konstruieren Sie einen Algorithmus für k =2m+j,0<j <2m mit KomplexitätO(k 2˜ log kn+1).

Offenes Problem:

Geht es für k =2m+j besser? Für k=3 besser alsO(2˜ n2)?

Referenzen

ÄHNLICHE DOKUMENTE

Diese Wirkfaktoren bestimmen die Auswahl der zu lehrenden Interventionen, Modelle und Konzepte und sind zudem eine ganz konkrete Re fl exionsfolie f ür beraterisches Handeln in der

Die Tablettendose erkennt über Lichtschranken, ob die Medikamente entnommen wurden oder nicht. Diese Zustände werden dann mit bestimmten

Heute überleben hierzulan- de mehr als 80 Prozent aller Kinder und Jugendlichen ihre Krebserkrankung – eine Quote, die durch die beispielhafte Zusammenarbeit in klinischen Studien

Michael Moser, Leiter des For- schungsprogramms Netze beim Bundesamt für Energie: «Auf höheren Netzebenen wird die Spannung seit jeher durch eine gezielte Ein- und Ausspeisung

indirekter Vorgänger 10 ist, als Verboten markiert werden, da alle einen niedrigeren W ert haben und somit bereits weiter oben im Trie vorgekommen sind. Obwohl für die Praxis

Since the generalized quasi-variational-like inequality problem in- cludes the classical variational inequality, generalized variational inequality, general- ized

Gestaltung: Berufsschulzentrum Stockach · Lisa Biehler, Daniel Grunenberg Mit freundlicher Unterstützung von Vollmer

It was proposed as problem 4 (c) for the 9th grade of the Romanian Mathematical Olympiad 2004.. This completes the