Como a função sha1sum pode fornecer um hash exclusivo? [fechadas]

4

Eu li que usar o comando sha1sum executará o algoritmo SHA-1 e fornecerá um resultado "exclusivo", mas como isso pode ser?

sha1sum fornece um hash de 40 caracteres, assim:

e5fa44f2b31c1fb553b6021e7360d07d5d91ff5e

Ele tem 40 caracteres e possui caracteres hexadecimais, portanto, o hash pode ter no máximo 16 combinações 40 .

Isso deve significar que, para quaisquer dois arquivos aleatórios, existe uma pequena chance de que seu hash sum seja exatamente o mesmo, certo?

    
por iamAguest 21.08.2018 / 10:53

1 resposta

10

Um hash SHA-1, como qualquer hash, não é exclusivo; de fato, colisões foram encontradas (e, mais importante, criadas).

A propriedade desejável de uma função hash é que é difícil construir dois arquivos que produzam o mesmo hash, não que os hashes produzidos sejam exclusivos (como você menciona, uma soma SHA-1 tem 160 bits, portanto, há apenas 2 160 hashes diferentes); difícil significado que você não pode encontrar uma colisão mais rápido do que a pesquisa de força bruta. Se você escolher um arquivo, outro arquivo escolhido aleatoriamente terá uma chance de 160 de ter o mesmo hash. O SHA-1 é considerado inseguro desde 2005 ; você verá as probabilidades dadas como one-in-2 80 , graças ao ataque de aniversário (as chances são de encontrar dois arquivos colidindo em um grande palheiro, não aqueles de encontrar um colidindo arquivo para um alvo específico).

    
por 21.08.2018 / 10:55

Tags