Inhaltsverzeichnis

Signaturen

Wenn wir die Schlüssel der asymmetrischen Verschlüsselung umkehren beobachten wir eine interessante Eigenschaft:

Weil nur Alice den private key kennt, ist damit bewiesen, dass Alice ihn verschlüsselt hat.

Damit haben wir nicht nur die Möglichkeit, einen Text so zu verschlüsseln, dass ihn niemand lesen kann (Vertraulichkeit), sondern auch, so, dass er garantiert von einer bestimmten Person kommt (Authentizität).

Hashfunktionen

In der Praxis ist es zu mühsam, den ganzen Text zu verschlüsseln, um eine Signatur zu erstellen. Stattdessen fassen wir den Klartext mit einer Hashfunktion zu einem kürzeren Wert zusammen. Wir signieren (verschlüsseln) dann nur den Hashwert.

Für die Verifikation der Unterschrift müssen wir nur überprüfen, ob die entschlüsselte Signatur mit dem Hashwert der Nachricht übereinstimmt:

Die Hashfunktion soll folgende Eigenschaften haben:

Weshalb?

Aufgabe XOR-Hash

Schreibe eine Funktion, die alle Zahlen einer Liste mit XOR kombiniert.

Lösung:

Teil 2: Schreibe eine Funktion word_hash die alle Zeichen eines Worts in ASCII-Codes übersetzt, bevor sie mit XOR verbunden werden.

Lösung:

Erfüllt die XOR-Hashfunktion die obigen Bedingungen?

Antwort: