Theoretische Grundlagen der Informatik Übung 8 Dirk Achenbach | 7. Februar 2013

I NSTITUT FÜR K RYPTOGRAPHIE UND S ICHERHEIT

KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

www.kit.edu

Agenda für heute

Besprechung ÜB 7 Ergänzungen zur Komplexitätstheorie „Quantorenreihenfolge“ Worst-Case- versus Best-Case- versus Average-Case-Komplexität

Infos zur Klausur/Übungsschein Besprechung der Evaluation

Hinweise zur Komplexitätstheorie Dirk Achenbach – Übung

Infos zur Klausur/Übungsschein 7. Februar 2013

2/23

Aufgabe 1  1 1  1  G :=  0 0  0 0

1 0 0 1 1 0 0

0 1 0 1 0 1 0

 1 1    1 0 1 0 1 0 1 0    1  H := 0 1 1 0 0 1 1 0 0 0 1 1 1 1 0   0 1

Wir wissen aus der Vorlesung Codiert wird durch G · m = c Das Syndrom ist bei fehlerfreier Übertragung null: H · c = o Dann decodiert man, indem man die „Nachrichtenbits“ aus c extrahiert. Hinweise zur Komplexitätstheorie Dirk Achenbach – Übung

Infos zur Klausur/Übungsschein 7. Februar 2013

3/23

Aufgabe 1  1 1  1  G :=  0 0  0 0

1 0 0 1 1 0 0

0 1 0 1 0 1 0

 1 1    1 0 1 0 1 0 1 0    1  H := 0 1 1 0 0 1 1 0 0 0 1 1 1 1 0   0 1

Wir wissen aus der Vorlesung Codiert wird durch G · m = c Das Syndrom ist bei fehlerfreier Übertragung null: H · c = o Dann decodiert man, indem man die „Nachrichtenbits“ aus c extrahiert. Hinweise zur Komplexitätstheorie Dirk Achenbach – Übung

Infos zur Klausur/Übungsschein 7. Februar 2013

3/23

Aufgabe 1

Und wenn ein einzelner Bitfehler vorliegt? H · (c + e) = H · c + H · e = H · e Aha! Da der Fehlervektor ein Einheitsvektor ist (ein Bitfehler!), selektiert er die Spalte aus H, die an der Stelle des Fehlers steht. In der Vorlesung haben wir in H binär die Spaltennummer kodiert, auf dem Übungsblatt „falsch herum“.

Hinweise zur Komplexitätstheorie Dirk Achenbach – Übung

Infos zur Klausur/Übungsschein 7. Februar 2013

4/23

Aufgabe 1

Und wenn ein einzelner Bitfehler vorliegt? H · (c + e) = H · c + H · e = H · e Aha! Da der Fehlervektor ein Einheitsvektor ist (ein Bitfehler!), selektiert er die Spalte aus H, die an der Stelle des Fehlers steht. In der Vorlesung haben wir in H binär die Spaltennummer kodiert, auf dem Übungsblatt „falsch herum“.

Hinweise zur Komplexitätstheorie Dirk Achenbach – Übung

Infos zur Klausur/Übungsschein 7. Februar 2013

4/23

Aufgabe 1

Und wenn ein einzelner Bitfehler vorliegt? H · (c + e) = H · c + H · e = H · e Aha! Da der Fehlervektor ein Einheitsvektor ist (ein Bitfehler!), selektiert er die Spalte aus H, die an der Stelle des Fehlers steht. In der Vorlesung haben wir in H binär die Spaltennummer kodiert, auf dem Übungsblatt „falsch herum“.

Hinweise zur Komplexitätstheorie Dirk Achenbach – Übung

Infos zur Klausur/Übungsschein 7. Februar 2013

4/23

Aufgabe 1

Und wenn ein einzelner Bitfehler vorliegt? H · (c + e) = H · c + H · e = H · e Aha! Da der Fehlervektor ein Einheitsvektor ist (ein Bitfehler!), selektiert er die Spalte aus H, die an der Stelle des Fehlers steht. In der Vorlesung haben wir in H binär die Spaltennummer kodiert, auf dem Übungsblatt „falsch herum“.

Hinweise zur Komplexitätstheorie Dirk Achenbach – Übung

Infos zur Klausur/Übungsschein 7. Februar 2013

4/23

Aufgabe 1

Und wenn ein einzelner Bitfehler vorliegt? H · (c + e) = H · c + H · e = H · e Aha! Da der Fehlervektor ein Einheitsvektor ist (ein Bitfehler!), selektiert er die Spalte aus H, die an der Stelle des Fehlers steht. In der Vorlesung haben wir in H binär die Spaltennummer kodiert, auf dem Übungsblatt „falsch herum“.

Hinweise zur Komplexitätstheorie Dirk Achenbach – Übung

Infos zur Klausur/Übungsschein 7. Februar 2013

4/23

Aufgabe 1  1 1  1  G :=  0 0  0 0

1 0 0 1 1 0 0

0 1 0 1 0 1 0

 1 1    1 0 1 0 1 0 1 0    1  H := 0 1 1 0 0 1 1  0 0 0 1 1 1 1 0 0 1

H · c1 = H · (1 0 0 1 1 1 1)T = (1 0 0)T . Das ist die erste Spalte in H, also müssen wir das erste Bit in c korrigieren.

H · c2 = H · (0 0 0 1 0 0 1)T = (1 1 0)T . Das ist die dritte Spalte in H, also müssen wir das dritte Bit in c (das erste Nachrichtenbit!) korrigieren. Hinweise zur Komplexitätstheorie Dirk Achenbach – Übung

Infos zur Klausur/Übungsschein 7. Februar 2013

5/23

Aufgabe 1  1 1  1  G :=  0 0  0 0

1 0 0 1 1 0 0

0 1 0 1 0 1 0

 1 1    1 0 1 0 1 0 1 0    1  H := 0 1 1 0 0 1 1  0 0 0 1 1 1 1 0 0 1

H · c1 = H · (1 0 0 1 1 1 1)T = (1 0 0)T . Das ist die erste Spalte in H, also müssen wir das erste Bit in c korrigieren.

H · c2 = H · (0 0 0 1 0 0 1)T = (1 1 0)T . Das ist die dritte Spalte in H, also müssen wir das dritte Bit in c (das erste Nachrichtenbit!) korrigieren. Hinweise zur Komplexitätstheorie Dirk Achenbach – Übung

Infos zur Klausur/Übungsschein 7. Februar 2013

5/23

Aufgabe 1  1 1  1  G :=  0 0  0 0

1 0 0 1 1 0 0

0 1 0 1 0 1 0

 1 1    1 0 1 0 1 0 1 0    1  H := 0 1 1 0 0 1 1  0 0 0 1 1 1 1 0 0 1

H · c1 = H · (1 0 0 1 1 1 1)T = (1 0 0)T . Das ist die erste Spalte in H, also müssen wir das erste Bit in c korrigieren.

H · c2 = H · (0 0 0 1 0 0 1)T = (1 1 0)T . Das ist die dritte Spalte in H, also müssen wir das dritte Bit in c (das erste Nachrichtenbit!) korrigieren. Hinweise zur Komplexitätstheorie Dirk Achenbach – Übung

Infos zur Klausur/Übungsschein 7. Februar 2013

5/23

Aufgabe 1  1 1  1  G :=  0 0  0 0

1 0 0 1 1 0 0

0 1 0 1 0 1 0

 1 1    1 0 1 0 1 0 1 0    1  H := 0 1 1 0 0 1 1  0 0 0 1 1 1 1 0 0 1

Damit: c10 = (0 0 0 1 1 1 1)T Decodiert zu (0 1 1 1)T .

c20 = (0 0 1 1 0 0 1)T Decodiert zu (1 0 0 1)T . Hinweise zur Komplexitätstheorie Dirk Achenbach – Übung

Infos zur Klausur/Übungsschein 7. Februar 2013

6/23

Aufgabe 1  1 1  1  G :=  0 0  0 0

1 0 0 1 1 0 0

0 1 0 1 0 1 0

 1 1    1 0 1 0 1 0 1 0    1  H := 0 1 1 0 0 1 1  0 0 0 1 1 1 1 0 0 1

Damit: c10 = (0 0 0 1 1 1 1)T Decodiert zu (0 1 1 1)T .

c20 = (0 0 1 1 0 0 1)T Decodiert zu (1 0 0 1)T . Hinweise zur Komplexitätstheorie Dirk Achenbach – Übung

Infos zur Klausur/Übungsschein 7. Februar 2013

6/23

Aufgabe 1  1 1  1  G :=  0 0  0 0

1 0 0 1 1 0 0

0 1 0 1 0 1 0

 1 1    1 0 1 0 1 0 1 0    1  H := 0 1 1 0 0 1 1  0 0 0 1 1 1 1 0 0 1

Damit: c10 = (0 0 0 1 1 1 1)T Decodiert zu (0 1 1 1)T .

c20 = (0 0 1 1 0 0 1)T Decodiert zu (1 0 0 1)T . Hinweise zur Komplexitätstheorie Dirk Achenbach – Übung

Infos zur Klausur/Übungsschein 7. Februar 2013

6/23

Aufabe 1, ii Der Code korrigiert 1-Bit-Fehler korrekt, 2-Bit-Fehler aber falsch. Wie ergänzt man den Code, damit er 2-Bit-Fehler zumindest als solche erkennt? Wir ergänzen um ein weiteres Paritätsbit. (Wir ergänzen die Spalten in G also auf gerade Parität.) Damit wächst die Minimaldistanz der Codewörter. Der Code ist jetzt ein Vektorraum, dessen Vektoren alle gerade Parität haben (die Spalten von G sind seine Basis). Im Speziellen ist die Minimaldistanz gerade. Gerade Minimaldistanz größer 3 ⇒ die neue Minimaldistanz ist vier.

Hinweise zur Komplexitätstheorie Dirk Achenbach – Übung

Infos zur Klausur/Übungsschein 7. Februar 2013

7/23

Aufabe 1, ii Der Code korrigiert 1-Bit-Fehler korrekt, 2-Bit-Fehler aber falsch. Wie ergänzt man den Code, damit er 2-Bit-Fehler zumindest als solche erkennt? Wir ergänzen um ein weiteres Paritätsbit. (Wir ergänzen die Spalten in G also auf gerade Parität.) Damit wächst die Minimaldistanz der Codewörter. Der Code ist jetzt ein Vektorraum, dessen Vektoren alle gerade Parität haben (die Spalten von G sind seine Basis). Im Speziellen ist die Minimaldistanz gerade. Gerade Minimaldistanz größer 3 ⇒ die neue Minimaldistanz ist vier.

Hinweise zur Komplexitätstheorie Dirk Achenbach – Übung

Infos zur Klausur/Übungsschein 7. Februar 2013

7/23

Aufgabe 1, ii x3

d−1 2

b d−1 2 c

b d−1 2 c b d−1 2 c

x1

Hinweise zur Komplexitätstheorie Dirk Achenbach – Übung

x1

Infos zur Klausur/Übungsschein 7. Februar 2013

8/23

Aufgabe 1, iii

Aus der Vorlesung wissen wir d(x, y ) := Σxi 6=yi 1, i ∈ {1, . . . , n} Wir sollen zeigen, dass das eine Metrik ist.

Hinweise zur Komplexitätstheorie Dirk Achenbach – Übung

Infos zur Klausur/Übungsschein 7. Februar 2013

9/23

Aufgabe 1, iii Aus der Vorlesung wissen wir d(x, y ) := Σxi 6=yi 1, i ∈ {1, . . . , n}

Aus dem Kopf wissen wir Eine Abbildung d : Fn2 × Fn2 7→ N0 ist eine Metrik, wenn die folgenden Bedingungen erfüllt sind: Definitheit: d(x, y ) ≥ 0 und d(x, y ) = 0 ⇔ x = y . Symmetrie: d(x, y ) = d(y , x). Dreiecksungleichung: d(x, y ) ≤ d(x, z) + d(y , z)∀z ∈ Fn2 .

Hinweise zur Komplexitätstheorie Dirk Achenbach – Übung

Infos zur Klausur/Übungsschein 7. Februar 2013

9/23

Aufgabe 1, iii Aus der Vorlesung wissen wir d(x, y ) := Σxi 6=yi 1, i ∈ {1, . . . , n} Definitheit: d(x, y ) := Σxi 6=yi 1, i ∈ {1, . . . , n} ≥ 0, da @ Summand < 0. d(x, y ) = 0 ⇒ x = y , sonst E. x = y ⇒ d(x, y ) = 0 durch Nachrechnen.

Symmetrie: d(x, y ) = d(y , x) durch die Symmetrie von 6=. Dreiecksungleichung: Für d(x, y ) = 0 klar. Sonst gilt für alle i mit xi 6= yi , dass auch xi 6= zi oder yi 6= zi . Für alle j mit xj = yj kann aber weiterhin xj 6= zj oder yj 6= zj . Damit ist die Ungleichung klar.

Hinweise zur Komplexitätstheorie Dirk Achenbach – Übung

Infos zur Klausur/Übungsschein 7. Februar 2013

9/23

Aufgabe 1, iii Aus der Vorlesung wissen wir d(x, y ) := Σxi 6=yi 1, i ∈ {1, . . . , n} Definitheit: d(x, y ) := Σxi 6=yi 1, i ∈ {1, . . . , n} ≥ 0, da @ Summand < 0. d(x, y ) = 0 ⇒ x = y , sonst E. x = y ⇒ d(x, y ) = 0 durch Nachrechnen.

Symmetrie: d(x, y ) = d(y , x) durch die Symmetrie von 6=. Dreiecksungleichung: Für d(x, y ) = 0 klar. Sonst gilt für alle i mit xi 6= yi , dass auch xi 6= zi oder yi 6= zi . Für alle j mit xj = yj kann aber weiterhin xj 6= zj oder yj 6= zj . Damit ist die Ungleichung klar.

Hinweise zur Komplexitätstheorie Dirk Achenbach – Übung

Infos zur Klausur/Übungsschein 7. Februar 2013

9/23

Aufgabe 2, i

x P(X = x)

1 0.40

2 0.25

3 0.14

4 0.08

5 0.08

6 0.04

7 0.01

Huffman-Codierung Erstelle für jedes Wort einen eigenen Baum, merke Dir die Häufigkeit Solange noch mehr als ein Baum vorhanden Fasse die beiden Bäume der geringsten Häufigkeit zusammen, kumuliere ihre Häufigkeit

Hinweise zur Komplexitätstheorie Dirk Achenbach – Übung

Infos zur Klausur/Übungsschein 7. Februar 2013

10/23

Aufgabe 2, i x P(X = x)

1 0.40

2 0.25

3 0.14

4 0.08

5 0.08

6 0.04

7 0.01

1.0 0

1

1

0.6 0

1

2

0.35 1

0 3

0.21 1

0

0.13

4

1

0 5

Hinweise zur Komplexitätstheorie Dirk Achenbach – Übung

0.05 0

1

6

7

Infos zur Klausur/Übungsschein 7. Februar 2013

11/23

Aufgabe 2, i

Damit: x Code

1 0

Hinweise zur Komplexitätstheorie Dirk Achenbach – Übung

2 10

3 110

4 1110

5 11110

6 111110

7 111111

Infos zur Klausur/Übungsschein 7. Februar 2013

12/23

Aufgabe 2, ii Aus dem Kopf Der Erwartungswert ist bestimmt durch E(X ) = Σi P(X = xi ) · xi .

Von vorhin x 1 2 3 4 5 6 7 P(X = x) 0.40 0.25 0.14 0.08 0.08 0.04 0.01 x 1 2 3 4 5 6 7 Code 0 10 110 1110 11110 111110 111111 Damit: L = 0.4 · 1bit + 0.25 · 2bit + 0.14 · 3bit + 0.08 · 4bit + 0.08 · 5bit + 0.04 · 6bit + 0.01 · 6bit = 2.34bit

Hinweise zur Komplexitätstheorie Dirk Achenbach – Übung

Infos zur Klausur/Übungsschein 7. Februar 2013

13/23

Aufgabe 2, ii Aus dem Kopf Der Erwartungswert ist bestimmt durch E(X ) = Σi P(X = xi ) · xi .

Von vorhin x 1 2 3 4 5 6 7 P(X = x) 0.40 0.25 0.14 0.08 0.08 0.04 0.01 x 1 2 3 4 5 6 7 Code 0 10 110 1110 11110 111110 111111 Damit: L = 0.4 · 1bit + 0.25 · 2bit + 0.14 · 3bit + 0.08 · 4bit + 0.08 · 5bit + 0.04 · 6bit + 0.01 · 6bit = 2.34bit

Hinweise zur Komplexitätstheorie Dirk Achenbach – Übung

Infos zur Klausur/Übungsschein 7. Februar 2013

13/23

Aufgabe 2, iii

w = 10110112212202210001001020020102220100212022122 Zeichen Code

01

u 202

h 201

c 200

n 00

t 02

s 22

e 21

w 12

m 11

i 10

Wir wissen aus der Vorlesung Huffman-Codes sind präfixfrei. Damit decodieren wir sehr einfach zu: „im westen nichts neues“.

Hinweise zur Komplexitätstheorie Dirk Achenbach – Übung

Infos zur Klausur/Übungsschein 7. Februar 2013

14/23

Aufgabe 2, iii

w = 10110112212202210001001020020102220100212022122 Zeichen Code

01

u 202

h 201

c 200

n 00

t 02

s 22

e 21

w 12

m 11

i 10

Wir wissen aus der Vorlesung Huffman-Codes sind präfixfrei. Damit decodieren wir sehr einfach zu: „im westen nichts neues“.

Hinweise zur Komplexitätstheorie Dirk Achenbach – Übung

Infos zur Klausur/Übungsschein 7. Februar 2013

14/23

Aufgabe 2, iii

w = 10110112212202210001001020020102220100212022122 Zeichen Code

01

u 202

h 201

c 200

n 00

t 02

s 22

e 21

w 12

m 11

i 10

Wir wissen aus der Vorlesung Huffman-Codes sind präfixfrei. Damit decodieren wir sehr einfach zu: „im westen nichts neues“.

Hinweise zur Komplexitätstheorie Dirk Achenbach – Übung

Infos zur Klausur/Übungsschein 7. Februar 2013

14/23

Aufgabe 2, iii

„im westen nichts neues“ Zähle relative Häufigkeiten der Zeichen: u h c n t s Zeichen 3 1 1 1 3 2 3 Wahrscheinlichkeit 22 22 22 22 22 22 22 Daraus berechnen wir die Entropie der Quelle als den erwarteten Informationsgehalt eines Zeichens: H(X ) = 2.2611 bit.

e

w

4 22

1 22

Die erwartete Codewortlänge ist L = 2.136 bit.

Hinweise zur Komplexitätstheorie Dirk Achenbach – Übung

Infos zur Klausur/Übungsschein 7. Februar 2013

15/23

Aufgabe 2, iii

„im westen nichts neues“ Zähle relative Häufigkeiten der Zeichen: u h c n t s Zeichen 3 1 1 1 3 2 3 Wahrscheinlichkeit 22 22 22 22 22 22 22 Daraus berechnen wir die Entropie der Quelle als den erwarteten Informationsgehalt eines Zeichens: H(X ) = 2.2611 bit.

e

w

4 22

1 22

Die erwartete Codewortlänge ist L = 2.136 bit.

Hinweise zur Komplexitätstheorie Dirk Achenbach – Übung

Infos zur Klausur/Übungsschein 7. Februar 2013

15/23

Erst das Problem, dann die Instanz

Klar: k -COLOR ist für Graphen mit ≤ k Knoten trivial. Aber so geht das nicht! Bei Komplexitätsbetrachtungen legen wir uns erst auf das Problem fest, dann ziehen wir eine Instanz! Einschränkungen gibt es auch im Vorfeld, dabei kommen ganz erstaunliche Ergebnisse heraus. Beispielsweise ist jeder planare Graph vierfärbbar.

Hinweise zur Komplexitätstheorie Dirk Achenbach – Übung

Infos zur Klausur/Übungsschein 7. Februar 2013

16/23

Erst das Problem, dann die Instanz

Klar: k -COLOR ist für Graphen mit ≤ k Knoten trivial. Aber so geht das nicht! Bei Komplexitätsbetrachtungen legen wir uns erst auf das Problem fest, dann ziehen wir eine Instanz! Einschränkungen gibt es auch im Vorfeld, dabei kommen ganz erstaunliche Ergebnisse heraus. Beispielsweise ist jeder planare Graph vierfärbbar.

Hinweise zur Komplexitätstheorie Dirk Achenbach – Übung

Infos zur Klausur/Übungsschein 7. Februar 2013

16/23

Erst das Problem, dann die Instanz

Klar: k -COLOR ist für Graphen mit ≤ k Knoten trivial. Aber so geht das nicht! Bei Komplexitätsbetrachtungen legen wir uns erst auf das Problem fest, dann ziehen wir eine Instanz! Einschränkungen gibt es auch im Vorfeld, dabei kommen ganz erstaunliche Ergebnisse heraus. Beispielsweise ist jeder planare Graph vierfärbbar.

Hinweise zur Komplexitätstheorie Dirk Achenbach – Übung

Infos zur Klausur/Übungsschein 7. Februar 2013

16/23

Worst-Case- versus Best-Caseversus Average-Case-Complexity

Wir betrachten üblicherweise immer die Worst-Case-Komplexität von Problemen. Das heißt also, uns interessiert, wie schwer ein Problem höchstens werden kann. Oft ist aber auch die Average-Case-Komplexität interessant, also wie schwer ein Problem im Mittel ist – wie schwer also eine zufällig gezogene Instanz ist. Besonderheit in der Kryptographie: Wir suchen besonders (Average-) schwere Probleme.

Hinweise zur Komplexitätstheorie Dirk Achenbach – Übung

Infos zur Klausur/Übungsschein 7. Februar 2013

17/23

Worst-Case- versus Best-Caseversus Average-Case-Complexity Beispiel: Diffie-Hellman-Schlüsselaustausch Wir arbeiten in einer zyklischen Gruppe (in der das Diffie-Hellman-Problem schwer ist. . . ). Sei das hier Zp , p prim. Ein Erzeuger g der Gruppe sei öffentlich bekannt. Alice zieht ein zufälliges a ← {1, . . . , p − 1} und sendet g a an Bob. Bob zieht ein zufälliges b ← {1, . . . , p − 1} und sendet g b an Alice. Alice und Bob errechnen nun ihren gemeinsamen Schlüssel aus k = (g b )a = (g a )b = g ab . Hinweise zur Komplexitätstheorie Dirk Achenbach – Übung

Infos zur Klausur/Übungsschein 7. Februar 2013

18/23

Worst-Case- versus Best-Caseversus Average-Case-Complexity Beispiel: Diffie-Hellman-Schlüsselaustausch Computational Diffie-Hellman Problem CDH: Die Spionin Eve möchte aus g, g a und g b den Schlüssel g ab ausrechnen. Klar ist: CDH ≤T dlog Auch klar: Sei (g, g a , g b ) eine besonders schwere Instanz von CDH. Dann kann Eve zufällige r , s ∈ {1, · · · , p − 1} ziehen und sich die zufällige Instanz (g, g ar , g bs ) erzeugen. Wenn sie die zufällige Instanz lösen kann, löst sie auch (g, g a , g b ) (und andersrum). Das heißt: Bei CDH sind die Instanzen alle gleich schwer (umgangssprachlich). Das ist im Allgemeinen nicht so! Hinweise zur Komplexitätstheorie Dirk Achenbach – Übung

Infos zur Klausur/Übungsschein 7. Februar 2013

19/23

Zur Klausur

Es gibt keine Anmeldung zum Schein. Hauptklausur findet am 22.02.13 statt. Nachklausur: 10.04.13 Uhrzeiten: Webseite. Hörsaal(Nachname): Webseite. Klausuranmeldung ab jetzt bis einschl. 15.02.13. Abholen von Übungsblättern bei uns (Raum 274, Geb. 50.34) ab Freitag 08.02.13 möglich, wenn Blätter nicht zuvor im Tutorium abgeholt wurden.

Hinweise zur Komplexitätstheorie Dirk Achenbach – Übung

Infos zur Klausur/Übungsschein 7. Februar 2013

20/23

Zur Klausur

60 Minuten, 60 Punkte 20 Punkte werden zum Bestehen der Klausur hinreichend sein Recherchieren Sie den Hörsaal im Vorfeld!

Hinweise zur Komplexitätstheorie Dirk Achenbach – Übung

Infos zur Klausur/Übungsschein 7. Februar 2013

21/23

Fragen zum organisatorischen Ablauf?

Hinweise zur Komplexitätstheorie Dirk Achenbach – Übung

Infos zur Klausur/Übungsschein 7. Februar 2013

22/23

Übungsevaluation

Hinweise zur Komplexitätstheorie Dirk Achenbach – Übung

Infos zur Klausur/Übungsschein 7. Februar 2013

23/23