Blowfish ist eine symmetrische 64-Bit-Blockchiffre mit einer variablen Schlüssellänge von 32 bis 448 Bit. Für Ver- und Entschlüsselung wird derselbe Schlüssel verwendet. Dieses Werkzeug unterstützt CBC und ECB und wendet PKCS#7-Padding an.
bcrypt verwendet eine abgeleitete Konstruktion namens EksBlowfish, um die Passwortprüfung zu verlangsamen. Ein bcrypt-Hash ist kein Blowfish-Chiffretext und kann nicht entschlüsselt werden. Die bcrypt-Seite bleibt der Passworterzeugung und -überprüfung vorbehalten.
Blowfish ist heute hauptsächlich für die Kompatibilität mit Altsystemen und zu Lernzwecken nützlich. Seine 64-Bit-Blockgröße eignet sich weniger für große Datenmengen. Neue Anwendungen sollten eine moderne authentifizierte Chiffre ihrer Plattform verwenden, etwa AES-GCM oder ChaCha20-Poly1305.
Blowfish verwendet 8-Byte-Blöcke. Ein CBC-IV muss daher genau 8 Byte beziehungsweise 16 hexadezimale Zeichen enthalten.
Schlüssel, IV, Modus oder Chiffretext stimmen wahrscheinlich nicht überein. Beschädigte Daten verursachen dasselbe Symptom.
ECB ist für Kompatibilitätstests und bekannte Testvektoren enthalten. Wiederholte Blöcke werden nicht verborgen.
Blowfish ist eine ältere symmetrische Chiffre mit einer Blockgröße von 64 Bit. Diese Seite ver- und entschlüsselt im CBC- oder ECB-Modus mit einem Schlüssel von 4 bis 56 Byte.
Blowfish bleibt für Altsysteme nützlich, doch seine Blockgröße von 64 Bit begrenzt neue Entwürfe. Im Allgemeinen werden AES oder ChaCha20-Poly1305 bevorzugt.
Der IV sorgt dafür, dass sich der erste Block unterscheidet, wenn derselbe Schlüssel mehrere Nachrichten verschlüsselt. Er sollte für jede Verschlüsselung eindeutig und nicht vorhersagbar sein.
ECB macht Wiederholungen zwischen identischen Blöcken sichtbar und sollte strukturierte Daten nicht schützen.