Costuma-se dizer que, ao usar o algoritmo MD5 para assinar algumas informações arbitrárias, o segredo compartilhado deve estar no final. Por quê?
hash-function
cr.crypto-security
Hendrik Brummermann
fonte
fonte
Respostas:
Veja "ataques de extensão" na construção Merkle-Damgard . Esse problema surge no uso de funções de hash para autenticação de mensagens .
Em resumo, colocar o segredo no início permite que o invasor, dada uma mensagem e seu hash, forje qualquer mensagem que tenha a mensagem especificada como prefixo. Esse é um problema para códigos ingênuos, mas é evitado por códigos conhecidos como HMAC .
fonte