Saltar al contenido
uencoder

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=8bytes
    Output
    8-byte ciphertext

    The 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

Herramientas relacionadas

References