CyberGlossary

Criptografía

Blowfish

Definición

Cifrado Feistel con bloques de 64 bits y clave de longitud variable diseñado por Bruce Schneier en 1993; criptoanalíticamente seguro pero limitado por su bloque pequeño y superado por AES.

Blowfish es un cifrado simétrico de bloque diseñado por Bruce Schneier en 1993 como alternativa rápida y libre de regalías a DES e IDEA. Emplea una red de Feistel de 16 rondas sobre bloques de 64 bits con claves de 32 a 448 bits y grandes cajas S dependientes de la clave. Criptoanalíticamente sigue considerándose intacto en su forma completa, pero el bloque de 64 bits lo hace vulnerable a ataques de cumpleaños como Sweet32 cuando se cifran muchos gigabytes con la misma clave. NIST y los protocolos modernos recomiendan cifrados con bloque de 128 bits como AES. Blowfish conserva valor histórico y pervive en derivados como el hash de contraseñas bcrypt y el diseño Twofish, pero ya no se recomienda para nuevos casos de cifrado.

Ejemplos

  • Versiones antiguas de OpenSSH y OpenVPN admitían Blowfish en modo CBC.
  • El hash de contraseñas bcrypt deriva su programación de claves de Blowfish.

Términos relacionados