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.
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
Herramientas Relacionadas
Cifrado/Descifrado AES
Cifrar y descifrar texto de forma segura usando el algoritmo AES
Cifrado/Descifrado DES/3DES
Cifrar y descifrar con algoritmos DES y 3DES, múltiples modos y opciones de relleno
Cifrado/Descifrado RSA
Usar cifrado asimétrico RSA para cifrado con clave pública, descifrado con clave privada, firma digital y verificación