CoderTools

Herramienta de cifrado/descifrado Blowfish

Cifrado de bloques simétrico rápido diseñado por Bruce Schneier

⚠️ Aviso de seguridad

El tamaño de bloque de 64 bits de Blowfish puede ser vulnerable a ataques de cumpleaños para grandes volúmenes de datos. Para máxima seguridad, considere usar AES-256 para nuevos proyectos.

Longitud de clave Blowfish: 4-56 bytes (32-448 bits). Recomendado: 16 bytes (128 bits) o más
Opciones de formato

Acerca del cifrado Blowfish

Blowfish es un cifrado de bloques de clave simétrica diseñado por Bruce Schneier en 1993. Fue uno de los primeros cifrados de bloques seguros no sujetos a patentes y disponible gratuitamente.

Blowfish usa un tamaño de bloque de 64 bits y soporta longitudes de clave variables de 32 a 448 bits. Utiliza una estructura de red Feistel de 16 rondas, haciéndolo rápido y seguro.

Características principales

  • Longitud de clave variable: 32 a 448 bits (4 a 56 bytes), ofreciendo flexibilidad de seguridad
  • Tamaño de bloque de 64 bits: procesa datos en bloques de 8 bytes
  • Red Feistel de 16 rondas: proporciona fuerte difusión y confusión
  • Cifrado rápido: optimizado para procesadores de 32 bits, significativamente más rápido que DES

Modos de cifrado

  • CBC: Cada bloque de texto plano se XOR con el bloque cifrado anterior antes del cifrado. Requiere IV, el más seguro.
  • ECB: Cada bloque se cifra independientemente. No necesita IV, pero el mismo texto plano produce el mismo texto cifrado.
  • CFB: Convierte cifrado de bloques en cifrado de flujo. Requiere IV.
  • OFB: Modo de retroalimentación de salida, convierte cifrado de bloques en cifrado de flujo. Requiere IV.

Comparación de algoritmos

Algoritmo Longitud de clave Tamaño de bloque Seguridad Velocidad
Blowfish 32-448 bits 64 bits Buena Rápida
AES 128/192/256 bits 128 bits Excelente Rápida
DES 56 bits 64 bits Débil Rápida
3DES 112/168 bits 64 bits Media Lenta

Consideraciones de seguridad

  • El tamaño de bloque de 64 bits de Blowfish lo hace vulnerable a ataques de cumpleaños al cifrar grandes cantidades de datos (>32GB) con la misma clave.
  • Para nuevos proyectos que requieren máxima seguridad, considere usar AES o Twofish, el sucesor de Blowfish.
  • Siempre use el modo CBC u otros modos de encadenamiento en lugar de ECB para mejor seguridad.
  • Use un IV único para cada operación de cifrado con la misma clave.

Casos de uso

  • Hash de contraseñas: bcrypt está basado en Blowfish y es ampliamente usado para almacenamiento de contraseñas
  • Cifrado de archivos: adecuado para cifrar archivos individuales y archivos comprimidos
  • VPN y comunicaciones seguras: usado en OpenVPN y otros protocolos de seguridad
  • Compatibilidad con sistemas heredados: mantener compatibilidad con sistemas que usan Blowfish

Referencias