Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
gf_informatik:verschluesselung:signaturen [2022-03-17 22:01] – hof | gf_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. | ||
- | {{: | + | {{: |
Damit haben wir nicht nur die Möglichkeit, | Damit haben wir nicht nur die Möglichkeit, | ||
Zeile 15: | Zeile 15: | ||
In der Praxis ist es zu mühsam, den ganzen Text zu verschlüsseln, | In der Praxis ist es zu mühsam, den ganzen Text zu verschlüsseln, | ||
- | {{: | + | {{: |
Für die Verifikation der Unterschrift müssen wir nur überprüfen, | Für die Verifikation der Unterschrift müssen wir nur überprüfen, | ||
- | {{: | + | {{: |
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. | ||
- | < | + | < |
++++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, | print(xor_hash([42, | ||
+ | </ | ||
+ | ++++ | ||
+ | </ | ||
+ | |||
+ | **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(" | ||
+ | </ | ||
++++ | ++++ | ||
</ | </ |