-
Quando duas ou mais string produzem o mesmo hash, temos a ocorrência das chamadas COLISÕES.
"a sequência do hash é limitada, muitas vezes não passando de 512 bits, existem colisões (sequências iguais para dados diferentes). Quanto maior for a dificuldade de se criar colisões intencionais, melhor é o algoritmo."
-
Só completando a Janine com um trecho do livro do Tanenbaum:
"(...) os pontos fracos no MD5 têm levado à capacidade de encontrar colisões, ou então diferentes mensagens com o mesmo hash (..)".
-
a teoria é essa, mas creio que a questão levou em consideração que o md5 foi quebrado
-
A questão cobra o conhecimento de Colisão que, em resumo, é quando duas mensagens distintas, quando aplicadas a um algoritmo, como MD5 ou SHA-1, geram o mesmo hash.
Ou seja, a possibilidade desse fenômeno acontecer, mesmo que ínfima, existe.
Portanto, gabarito errado!
Bons estudos!
-
Não importa qual a função de hash usada SEMPRE haverá colisões, o que queremos é que seja computacionalmente inviável encontrá-las.
Pela própria natureza do hash as colisões são inevitáveis: estamos tentando mapear uma mensagem de tamanho arbitrário em uma mensagem de tamanho fixo e muito menor que a mensagem original - para md5 somente 128 bits.
Como diz Stallings:
"Lembre-se que, para qualquer função de hash, é preciso haver colisões, pois estamos relacionando uma mensagem de tamanho pelo menos igual ao dobro do tamanho do bloco b (porque precisamos anexar um campo contendo o tamanho) a um código de hash de tamanho n, onde b>=n. O que é preciso é que seja computacionalmente inviável encontrar colisões".
Avante!
-
Gabarito Errado
MD5 ou SHA-1 podem gerar o mesmo HASH.
"Retroceder Nunca Render-se Jamais !"
Força e Fé !
Fortuna Audaces Sequitur !
-
Questão trata de colisões. Sempre haverá colisões e o que determina a dificuldade computacional para não encontra-las é o tamanho da chave entregue pelo hash (md5 = 128 bits)
-
Não é impossível que duas mensagens representem o mesmo código.