Graças à uma conversa informal com o meu amigo Pepê (Pedro Paschoal Neto), iniciei um estudo sobre um substituto do MD5SUM (valeu Pedro.PAS). O MD6 É um algoritmo criptográfico de função hash desenvolvida pela MIT (Instituto Tecnológico de Massachusetts) e liderada pela equipe do professor Ronald Rivest em resposta ao convite do concurso SHA-3 anunciado no dia 2 de novembro de 2007, o vencedor do novo padrão esta programado para acontecer em 2012. O MD6 utiliza um estrutura de dados denominada Hash trees ou Merkle trees para permitir a computação paralela na criação de vários hashes à partir da entrada de informações. Em contra-partida, em 1 de julho de 2009 o professor Rivest mencionou em público que o MD6 ainda não esta pronto para ser um forte candidato ao concurso. O principal fator é a velocidade e também a falta de conhecimento de ataque eficaz contra o algoritmo.

Logo:”[…] a ausência de evidência de deficiências não corresponde a evidência de ausência de deficiências”. E  após esta colocação, parece que o MD6 não avançou para a segunda fase do concurso SHA-3;

Veja a seguir a diferença do hash:

$ md6sum dados
b5acb10458fcb441e0f8763da3771f81296b42efde649690c5d281c5e6af844a dados
$ md5sum dados
20f316b651930a5dc915ec4ae01ed68a  dados

Indepente destes fatos, já estou utilizando a implementação do MD6 e disponibilizo a seguir as verões Linux, Mac e Windows do utilitário md6sum.

PS: Ressalto que acabo de testar o recurso de compilação cruzada para o MacOS. Sendo assim, o feedback sobre este binário é bem-vindo.

Para finalizar a versão openSUSE