Cifrado y descifrado Blowfish

Cifra o descifra con Blowfish (claves de 4 a 56 bytes) en CBC, CFB, OFB o ECB. Formato de contraseña bf-cbc de OpenSSL o clave y IV hex en bruto. Gratis, en tu navegador.

Blowfish es un cifrado heredado: su bloque de 64 bits hace que los mensajes largos sean vulnerables a ataques de cumpleaños (Sweet32). Usa AES para datos nuevos.

La salida usa el formato "Salted__" de OpenSSL en Base64: una sal aleatoria de 8 bytes seguida del texto cifrado. La clave y el IV se derivan de la contraseña y la sal, así que el mismo texto da un resultado distinto cada vez. Comando equivalente:

openssl enc -bf-cbc -md md5 -a -A -provider legacy -provider default -k '…'

Se ejecuta completamente en tu navegador. Tus datos nunca se suben.

¿Qué es Cifrar y descifrar Blowfish?

Cifra y descifra datos con Blowfish, el cifrado por bloques de Bruce Schneier de 1993 con un bloque de 64 bits y una longitud de clave variable (de 4 a 56 bytes). Usa las pestañas Cifrar / Descifrar para cambiar de sentido, de modo que también puedes descifrar tu propia salida o datos de bf-cbc de OpenSSL.

Cómo usar Cifrar y descifrar Blowfish

  1. Elige la pestaña Cifrar o Descifrar.
  2. Selecciona Contraseña (compatible con OpenSSL) y escribe una contraseña, o Clave + IV en bruto (hex) con una clave de 4 a 56 bytes y un IV de 8 bytes.
  3. Elige el Modo y el Relleno (CBC + PKCS#7 coincide con bf-cbc de OpenSSL).
  4. Introduce el texto plano o el texto cifrado, haz clic en el botón y copia el resultado.

Ejemplo

Entrada
Raw key 0000000000000000, mode ECB, padding None, hex plaintext 0000000000000000
Salida
4ef997456198dd78

El primer vector de prueba Blowfish de Schneier, salida Hex.

Cuándo usar Cifrar y descifrar Blowfish

Úsalo para leer o producir datos para software heredado que usa Blowfish, o para generar vectores de prueba. Su bloque de 64 bits lo hace inadecuado para grandes cantidades de datos (Sweet32). Para trabajos nuevos usa AES. Ten en cuenta que los hashes de contraseña bcrypt se basan en Blowfish pero no son datos cifrados: no se pueden descifrar aquí.

Cómo funciona Cifrar y descifrar Blowfish

Blowfish expande la clave en 18 entradas del P-array y cuatro S-boxes de 256 entradas, y luego ejecuta 16 rondas Feistel sobre cada bloque de 8 bytes. Las claves de cualquier longitud entre 4 y 56 bytes se recorren byte a byte cíclicamente sobre el P-array, como en la implementación de referencia (verificado con los vectores de prueba de clave variable de Eric Young). El modo contraseña deriva una clave de 16 bytes y un IV de 8 bytes de la contraseña y una sal aleatoria (EVP_BytesToKey MD5 o PBKDF2-SHA256) y escribe el formato Salted__ de OpenSSL compatible con openssl enc -bf-cbc. CBC/ECB usan relleno PKCS#7, que se verifica al descifrar.

Casos de Uso Comunes

  • Descifrar la salida de openssl enc -bf-cbc
  • Crear vectores de prueba Blowfish con claves de longitud poco habitual
  • Interoperar con código heredado de PHP mcrypt o Blowfish de Java
  • Enseñar los cifrados Feistel con un algoritmo clásico

Nota de Seguridad

Blowfish no está roto, pero su bloque de 64 bits es vulnerable a ataques de cumpleaños tras unos pocos gigabytes con la misma clave. Para datos nuevos, prefiere AES.

Preguntas Frecuentes

¿Puedo descifrar con esta página?

Sí: haz clic en la pestaña Descifrar, introduce la misma contraseña o clave/IV y los mismos ajustes, y pega el texto cifrado.

¿Puede descifrar un hash bcrypt?

No. bcrypt es un hash de contraseñas unidireccional que solo usa Blowfish internamente; no se puede descifrar, solo verificar.

¿La salida es compatible con OpenSSL?

Sí. En el modo contraseña el resultado es exactamente lo que produce openssl enc -bf-cbc -md md5 -a -A -k <passphrase> (EVP_BytesToKey con MD5), o -pbkdf2 -iter N si eliges PBKDF2-HMAC-SHA256. Añade -d para descifrar. La página muestra el comando correspondiente bajo el campo de contraseña.

¿Qué longitudes de clave se permiten?

De 4 a 56 bytes (de 8 a 112 caracteres hex). El modo contraseña siempre deriva una clave de 128 bits, como OpenSSL.

Explora más categorías