0Pricing
Cryptology Academy · Lektion

bcrypt: Algorithmus und Kostenfaktor

Lernen Sie die Interna von bcrypt, den Arbeitsfaktor und die richtige Abstimmung der Kosten kennen.

bcrypt: Algorithmus und Kostenfaktor ist eine kostenlose Cryptology Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Cryptology Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Cryptology Academy-Kurs umfasst insgesamt 4 Lektionen.

Willkommen

bcrypt ist ein Passwort-Hashing-Algorithmus, der 1999 speziell entwickelt wurde, um langsam und widerstandsfähig gegen Hardwareangriffe zu sein. Er ist weiterhin der am weitesten verbreitete Passwort-Hashing-Algorithmus.

Ursprünge von bcrypt

bcrypt wurde von Niels Provos und David Mazières entwickelt und basiert auf der Blowfish-Chiffre. Das „b“ steht für Blowfish. Die zentrale Idee besteht darin, die aufwendige Schlüsselinitialisierung von Blowfish gezielt für eine langsame Berechnung zu nutzen.

bcrypt-Hashformat

$2b$12$saltsaltsaltsaltsaltsalthashhashhashhashhashhashhash $2b$: Algorithmusversion 12: Kostenfaktor (log2 der Iterationen) salt: 22 Base64-Zeichen (16 Bytes) hash: 31 Base64-Zeichen (24 Bytes)

Kostenfaktor

Kostenfaktor 12 = 2^12 = 4096 Iterationen. Kostenfaktor 13 = 8192 Iterationen. Jede Erhöhung verdoppelt die Berechnungszeit. Passen Sie den Wert so an, dass das Hashing auf Ihrer Hardware etwa 100–300 ms dauert. Die Geschwindigkeit des Angreifers skaliert identisch.

bcrypt in Python

import bcrypt password = b'my_password' salt = bcrypt.gensalt(rounds=12) # generates random salt hashed = bcrypt.hashpw(password, salt) # Verify: bcrypt.checkpw(password, hashed) # True

Integriertes Salt

bcrypt generiert und speichert das Salt immer automatisch. gensalt() erzeugt ein kryptografisch zufälliges 16-Byte-Salt. Sie müssen das Salt nie separat verwalten – es ist in der Hash-Zeichenfolge enthalten.

bcrypt: 72-Zeichen-Limit

bcrypt kürzt Eingaben nach 72 Byte ab. Passwörter mit mehr als 72 Zeichen werden nach den ersten 72 Byte als identisch behandelt. Workaround: Vor dem bcrypt-Hashing zunächst SHA-512 verwenden (Ansatz jedoch validieren).

Ablauf der Passwortüberprüfung

Anmeldung: 1. Benutzer übermittelt das Passwort 2. Gespeicherten Hash aus der Datenbank abrufen 3. bcrypt.checkpw(submitted, stored_hash) 4. checkpw extrahiert den Salt aus dem gespeicherten Hash und berechnet den Hash erneut 5. Gibt True/False zurück Speichern Sie niemals das Klartextpasswort.

Benchmarks

bcrypt-Kostenfaktor 12: - Consumer-CPU: ~150 ms pro Hash - GPU (RTX 4090): ~50.000 Hashes/Sekunde (gegenüber 10 Mrd. bei SHA-256) Der Vorteil eines Angreifers sinkt mit dem bcrypt-Kostenfaktor 12 von 1 Milliarde auf etwa 300.

Empfehlungen für den Kostenfaktor

OWASP 2024: bcrypt-Kostenfaktor ≥ 10. Empfehlung: 12. Jährlich überprüfen – wenn die Hardware leistungsfähiger wird, den Faktor erhöhen. Implementieren Sie ein Re-Hashing während der Anmeldung: Hash prüfen und bei Bedarf aktualisieren.

Einschränkungen von bcrypt

Schwäche von bcrypt: nicht speicherintensiv. Angreifer können speziell für bcrypt optimierte ASICs einsetzen. Für neue Anwendungen sollten Sie Argon2id bevorzugen, da es speicherintensiv und ASIC-resistent ist.

Schnelltest

Was bedeutet der Kostenfaktor 12 in einem bcrypt-Hash?

Zusammenfassung

bcrypt ist solide, aber nicht speicherintensiv. Als Nächstes untersuchen wir Argon2 – den modernen Spitzenreiter beim Passwort-Hashing mit konfigurierbaren Speicheranforderungen.

Häufig gestellte Fragen

Ist die Lektion „bcrypt: Algorithmus und Kostenfaktor“ kostenlos?

Ja — der vollständige Text von „bcrypt: Algorithmus und Kostenfaktor“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Cryptology Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Cryptology Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „bcrypt: Algorithmus und Kostenfaktor“?

Lernen Sie die Interna von bcrypt, den Arbeitsfaktor und die richtige Abstimmung der Kosten kennen. Du übst Cryptology Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Cryptology Academy zu starten?

Keine Vorkenntnisse erforderlich. Cryptology Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.

Wie lange dauert die Lektion „bcrypt: Algorithmus und Kostenfaktor“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Cryptology Academy-Lektion Code schreiben und ausführen?

Ja. Jede Cryptology Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Warum einfaches SHA-256 für Passwörter ungeeignet ist
  2. bcrypt: Algorithmus und Kostenfaktor
  3. Argon2: speicherintensives Passwort-Hashing
  4. PBKDF2 und die Wahl des richtigen Algorithmus
← Zurück zu Cryptology Academy