Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
gf_informatik:verschluesselung:signaturen [2022-03-17 22:01] hofgf_informatik:verschluesselung:signaturen [2022-03-25 15:28] (aktuell) – [Aufgabe XOR-Hash] hof
Zeile 7: Zeile 7:
 Weil nur Alice den _private key_ kennt, ist damit bewiesen, dass Alice ihn verschlüsselt hat. Weil nur Alice den _private key_ kennt, ist damit bewiesen, dass Alice ihn verschlüsselt hat.
  
-{{:gf_informatik:verschluesselung:pasted:20220317-224040.png?600}}+{{:gf_informatik:verschluesselung:pasted:20220317-224040.png?nolink&600}}
  
 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**). 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**).
Zeile 15: Zeile 15:
 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. 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.
  
-{{:gf_informatik:verschluesselung:pasted:20220317-224856.png?600}}+{{:gf_informatik:verschluesselung:pasted:20220317-224856.png?nolink&600}}
  
 Für die Verifikation der Unterschrift müssen wir nur überprüfen, ob die entschlüsselte Signatur mit dem Hashwert der Nachricht übereinstimmt: Für die Verifikation der Unterschrift müssen wir nur überprüfen, ob die entschlüsselte Signatur mit dem Hashwert der Nachricht übereinstimmt:
  
-{{:gf_informatik:verschluesselung:pasted:20220317-225211.png?600}}+{{:gf_informatik:verschluesselung:pasted:20220317-225211.png?nolink&600}}
  
 Die Hashfunktion soll folgende Eigenschaften haben: Die Hashfunktion soll folgende Eigenschaften haben:
Zeile 35: Zeile 35:
 Schreibe eine Funktion, die alle Zahlen einer Liste mit `XOR` kombiniert. Schreibe eine Funktion, die alle Zahlen einer Liste mit `XOR` kombiniert.
  
-<nodisp 2>+<nodisp 1>
 ++++Lösung:| ++++Lösung:|
 +<code python>
 def xor_hash(numbers): def xor_hash(numbers):
     hash = 0     hash = 0
Zeile 44: Zeile 45:
  
 print(xor_hash([42, 13, 28, 135, 42])) print(xor_hash([42, 13, 28, 135, 42]))
 +</code>
 +++++
 +</nodisp>
 +
 +**Teil 2:** Schreibe eine Funktion `word_hash` die alle Zeichen eines Worts in ASCII-Codes übersetzt, bevor sie mit XOR verbunden werden.
 +
 +
 +<nodisp 1>
 +++++Lösung:|
 +<code python>
 +def word_hash(text):
 +    hash = 0
 +    for letter in text:
 +        hash = hash ^ ord(letter)
 +    return hash
 +
 +print(word_hash("Hallo, good morning"))
 +</code>
 ++++ ++++
 </nodisp> </nodisp>
  • gf_informatik/verschluesselung/signaturen.1647554473.txt.gz
  • Zuletzt geändert: 2022-03-17 22:01
  • von hof