CyberGlossary

Criptografia

Blowfish

Definição

Cifra de Feistel com blocos de 64 bits e chave de comprimento variável, projetada por Bruce Schneier em 1993; criptanaliticamente segura, mas limitada pelo bloco pequeno e ultrapassada pelo AES.

O Blowfish é uma cifra simétrica de bloco desenhada por Bruce Schneier em 1993 como alternativa rápida e livre de royalties ao DES e ao IDEA. Usa uma rede de Feistel de 16 rondas sobre blocos de 64 bits com chaves de 32 a 448 bits e grandes S-boxes dependentes da chave. Criptanaliticamente, o Blowfish na sua forma completa continua intacto, mas o bloco de 64 bits torna-o vulnerável a ataques de aniversário como o Sweet32 quando se cifram muitos gigabytes sob a mesma chave. O NIST e os protocolos modernos recomendam, por isso, cifras com bloco de 128 bits como o AES. Mantém relevância histórica e sobrevive em derivados, sobretudo o hash de palavras-passe bcrypt e o Twofish, mas já não é recomendado para novos sistemas.

Exemplos

  • Versões antigas do OpenSSH e do OpenVPN suportavam Blowfish em modo CBC.
  • O hash de palavras-passe bcrypt deriva o seu key schedule do Blowfish.

Termos relacionados