Einführung
Willkommen in der Welt der Kryptographie! In diesem Lab sammeln Sie praktische Erfahrungen mit einem der fundamentalsten Konzepte der modernen Sicherheit: dem kryptographischen Hashing. Speziell werden wir mit dem SHA-256-Algorithmus arbeiten.
Eine kryptographische Hashfunktion ist ein mathematischer Algorithmus, der eine Eingabe (oder „Nachricht“) beliebiger Größe entgegennimmt und eine Zeichenfolge fester Größe von Bytes zurückgibt. Diese Ausgabe ist typischerweise ein „Digest“ oder „Hash“. SHA-256 erzeugt beispielsweise immer einen 256-Bit (32-Byte) langen Hash.
Diese Funktionen weisen mehrere wichtige Eigenschaften auf:
- Deterministisch: Dieselbe Eingabe erzeugt immer dieselbe Ausgabe.
- Einwegfunktion (One-way): Es ist rechnerisch unmöglich, die Funktion umzukehren und die ursprüngliche Eingabe aus ihrem Hash zu ermitteln.
- Lawineneffekt (Avalanche Effect): Eine kleine Änderung der Eingabe (wie das Ändern eines einzelnen Zeichens) erzeugt einen drastisch unterschiedlichen Ausgabe-Hash.
Im Laufe dieses Labs werden Sie das Befehlszeilen-Tool openssl und ein einfaches Python-Skript verwenden, um diese Eigenschaften zu untersuchen und zu verstehen, wie Hashing in realen Szenarien wie der Überprüfung der Dateiintegrität und der Sicherung von Passwörtern eingesetzt wird.



