Peixe-balão (cifra)

Na criptografia, Blowfish é uma cifra de bloco de chaves simétricas, feita em 1993 por Bruce Schneier e desde 1993 tem sido incluída em um grande número de produtos de criptografia. Blowfish tem uma boa taxa de criptografia em software e até 2008 não foi encontrado nenhum modelo de ataque criptanalítico dele. Entretanto, o algoritmo de criptografia de bloco AES tem agora mais atenção.

Schneier fez o Blowfish como um algoritmo de propósito geral, para ser usado como um substituto do antigo algoritmo DES e para remover os problemas e dificuldades de outros algoritmos de criptografia. Na época do lançamento do Blowfish, muitos outros algoritmos eram proprietários, ou eram segredos. Schneier disse que, "Blowfish não tem patente, e assim permanecerá em todos os países". O algoritmo é colocado em domínio público, e pode ser usado livremente por qualquer pessoa".

As principais características do projeto incluem caixas S dependentes de chaves e um cronograma de chaves muito complexo. Blowfish é uma das cifras de bloco mais rápidas utilizadas por muitas pessoas, exceto quando se muda de chave. Cada nova chave precisa ser pré-processada, o que leva o mesmo tempo que a criptografia de cerca de 4 kilobytes de texto, o que é muito lento em comparação com outras cifras de bloco. Isto pára seu uso em certas aplicações (como nos menores sistemas embutidos como os primeiros smartcards), mas não é um problema em outras aplicações. Em uma das aplicações, na verdade, é bom: o método de captura de senhas usado no OpenBSD usa um algoritmo que vem do Blowfish que faz uso da agenda de teclas lenta; a idéia é que o esforço computacional extra necessário dá proteção contra ataques de dicionários. Veja o reforço da chave.

Blowfish tem um bloco de 64 bits e um comprimento variável de chave de 0 a 448 bits É uma cifra Feistel de 16 voltas e usa grandes caixas S dependentes de chave. É similar em estrutura ao CAST-128, que usa caixas S fixas.

Em 1996, Serge Vaudenay descobriu um ataque de pla-texto conhecido, precisando de 28r + 1 pla-intexto conhecido para quebrar, onde r é o número de rodadas. Além disso, ele também encontrou uma classe de chaves fracas que podem ser detectadas e quebradas pelo mesmo ataque com apenas 24r + 1 plaintexts conhecidos. Este ataque não pode ser usado contra os Blowfish normais; ele assume o conhecimento das caixas S dependentes de chaves. Vincent Rijmen, em seus trabalhos de doutorado, introduziu um ataque diferencial de segunda ordem que pode quebrar quatro rounds e não mais. Ainda não há maneira conhecida de quebrar os 16 rounds completos, além de uma busca por força bruta. Em 1996 foi encontrado um bug de extensão de sinal em um dos códigos C publicados.

Não há uma boa criptanálise na versão completa de Blowfish conhecida publicamente até 2008. Entretanto, em 2007, Bruce Schneier observou que enquanto o Blowfish ainda está em uso, ele recomendou o uso do novo algoritmo Twofish

Páginas relacionadas

Perguntas e Respostas

P: O que é Blowfish?


R: O Blowfish é uma cifra em bloco, simétrica e chaveada, criada em 1993 por Bruce Schneier. Foi incluído em muitos produtos de criptografia desde então.

P: Para que foi feito o Blowfish?


R: Blowfish foi feito como um algoritmo de uso geral para substituir o antigo algoritmo DES e para remover os problemas e dificuldades de outros algoritmos de criptografia.

P: Quanto tempo pode ser o comprimento da chave para o Blowfish?


R: O comprimento da chave para o Blowfish pode variar de 0 a 448 bits.

P: Quais são algumas características do design do Blowfish?


R: Algumas características do desenho incluem caixas S dependentes de chaves e um calendário de chaves muito complexo.

P: Há alguma criptanálise conhecida sobre a versão completa do Blowfish?


R: A partir de 2008, não há nenhuma maneira conhecida de quebrar os 16 rounds completos, à parte de uma busca por força bruta.

P: Que tipo de ataque Serge Vaudenay encontrou contra o Blowfish?


R: Serge Vaudenay achou um ataque de pla plaquetas conhecidas, precisando de 28r + 1 plaintexts conhecidos para quebrar, onde r é o número de assaltos. Ele também encontrou uma classe de chaves fracas que poderiam ser detectadas e quebradas por esse mesmo ataque com apenas 24r + 1 plaintexts conhecidos.

P: O senhor Bruce Schneier recomenda agora o uso do Twofish em vez do Blowfish?


R: Sim, Bruce Schneier recomenda o uso do Twofish em vez do Blowfish agora, devido a suas medidas de segurança melhoradas em comparação com algoritmos mais antigos como o DES ou ainda mais novos como o AES.

AlegsaOnline.com - 2020 / 2023 - License CC3