Was Sind Hash-Funktionen?
Kryptografische Hash-Funktionen sind mathematische Algorithmen, die Eingabedaten beliebiger Größe in eine Ausgabe fester Größe transformieren, den sogenannten Digest oder Hash. Sie sind deterministisch — dieselbe Eingabe erzeugt immer denselben Hash. Gute Hash-Funktionen sind schnell berechenbar, praktisch nicht umkehrbar und erzeugen drastisch unterschiedliche Ausgaben bei kleinsten Eingabeänderungen, bekannt als Lawineneffekt.
MD5 und SHA-1: Veraltete Algorithmen
MD5 würde 1991 entwickelt und erzeugt einen 128-Bit-Hash. SHA-1 würde von der NSA entwickelt und erzeugt einen 160-Bit-Hash. Beide haben sich als anfällig für Kollisionsangriffe erwiesen, bei denen zwei verschiedene Eingaben denselben Hash erzeugen. Sie sollten nicht für digitale Signaturen verwendet werden, bleiben aber nützlich für nicht-sicherheitsrelevante Prüfsummen und Deduplizierung.
SHA-256 und SHA-512: Moderne Standards
SHA-256 und SHA-512 gehören zur SHA-2-Familie der NSA. SHA-256 erzeugt einen 256-Bit-Hash und wird beim Bitcoin-Mining, TLS-Zertifikaten und digitalen Signaturen verwendet. SHA-512 erzeugt einen 512-Bit-Hash und wird auf 64-Bit-Systemen bevorzugt, wo er schneller als SHA-256 sein kann. Beide bleiben kryptografisch sicher ohne bekannte praktische Angriffe.
Praktische Anwendungen des Hashings
Hashing wird überall in der modernen Informatik eingesetzt: Passwortspeicherung (gesalzene Hashes), digitale Signaturen, Blockchain-Technologie, Dateiintegritätsprüfung, Datendeduplizierung und Hash-Tabellen in der Programmierung. Bei der Passwortspeicherung verwenden Sie immer spezialisierte Funktionen wie bcrypt oder Argon2 mit Salting und Key-Stretching.





