Blowfish
Blowfish es un cifrador simétrico por bloques diseñado por Bruce Schneier en 1993, con claves de longitud variable (32-448 bits) y bloques de 64 bits; es rápido y está libre de patentes.
Propósito
Ofrecía una alternativa segura a DES con claves largas y sin restricciones de licencia.
Mecanismo
Es una red Feistel de 16 rondas. El calendario de claves construye un array P (18 palabras de 32 bits) y cuatro S-boxes (256 entradas cada una), inicializados con la clave y constantes fijas (dígitos hexadecimales de π). El cifrado itera las dos mitades mediante XOR con la función F.
Casos de uso
- Algoritmo opcional de OpenPGP
- Cifrador subyacente del hashing de contraseñas bcrypt
- Cifrado embebido y por software
- Ejemplos didácticos
Ejemplos
- entrada
key=128bit, data=8bytesOutput8-byte ciphertextThe 64-bit block is now considered small
Errores comunes
- The 64-bit block invites Sweet32 attacks on large data volumes
- Use AES or Twofish with 128-bit blocks
Términos relacionados
AES
AES (Advanced Encryption Standard) es un cifrado de bloques simétrico establecido por NIST en 2001, soporta claves de 128/192/256 bits y es el estándar de facto del cifrado moderno. GLOSARIO
Twofish
Twofish es un cifrado de bloques simétrico diseñado por Bruce Schneier y otros para el concurso de AES; usa bloques de 128 bits con claves de 128/192/256 bits y fue uno de los finalistas de AES. GLOSARIO
DES
DES (Data Encryption Standard) es el cifrado de bloques simétrico estandarizado en 1977, que usa una clave de 56 bits y bloques de 64 bits; está obsoleto por su clave corta. GLOSARIO
Block Cipher
Un cifrador por bloques es un cifrado simétrico que cifra y descifra bloques de longitud fija (p. ej., 128 bits) y necesita un modo de operación para procesar datos de longitud arbitraria. GLOSARIO