openssl blowfish key limitado a 256 bits?

3

Eu recebo o seguinte erro se eu der uma chave maior que 64 caracteres hexadecimais (64 * 4 = 256 bits).

Deacordocomeste documento oficial , o blowfish é capaz de suportar chaves de 32 a 448 bits.

Variable key length: 32 bits to 448 bits

É possível contornar essa limitação? O que há de errado?

O tamanho real da chave é grande o suficiente, mas eu gostaria de ter o máximo de segurança possível.

Obrigado,

    
por Jonas 13.12.2012 / 16:39

3 respostas

1

Na verdade, existe um pequeno bug no programa openssl. Permite chave de comprimento até 256 bits, mas, na verdade, apenas os primeiros 128 bits são usados para a chave blowfish. A única maneira de usar uma chave mais longa é escrever um programa usando o lib.

Usando a opção -p no enc, podemos verificar que a chave usada é uma chave de 128 bits:

echo toto | openssl enc -bf-cbc -K 000000000000000000000000000000000000000000000000000000 -iv 0 -a -p

Resultado:

salt=801D670000000000
key=00000000000000000000000000000000
iv =0000000000000000
5XAXlTvP0ZE=

Recentemente descobri o site de segurança do stackexchange e fiz a mesma pergunta. Brendan me deu as seguintes resposta . / p>

Devo excluir esta pergunta?

    
por 14.12.2012 / 09:55
3

Enquanto o próprio algoritmo suporta um tamanho de chave variável de até 448 bits, a implementação do OpenSSL é limitada a 256 bits. Eu encontrei várias páginas referentes a essa limitação; este tem uma boa mesa: link

    
por 13.12.2012 / 17:13
3

Não há diferença criptográfica significativa entre uma chave simétrica de 256 bits e 448 bits. Ninguém sã tentará forçar brutalmente uma cifra simétrica de baiacu de 256 bits.

Isso foi escrito em 1999, mas ainda é válido: link

    
por 13.12.2012 / 17:18