2013-06-22 3 views
-1

Se lancer dans un argument sur IRC en 2013.Cryptographiquement sécurisé pour utiliser un double md5?

[05:54] <Minus> i use md5* 2 
[05:55] <notCIA> you mean you put it back into the md5? 
[05:55] <Minus> then sha1 it 
[05:55] <notCIA> like md5(md5($pw))? 
[05:55] <Minus> yep 
[05:55] <notCIA> youre feeding 32 bytes into an output of 32 bytes 
[05:55] <notCIA> you have only made it less secure 
[05:55] <Minus> md5 is nots weak 

Je sais que je ne me trompe pas, que cela est tout à fait précaire, mais je ne peux pas correctement mis en mots et parle longuement sur le sujet et je suis curieux apprendre plus merci.

+1

Il devrait être évident que le simple fait de renvoyer la sortie d'un hachage dans le hachage ne fait rien sauf augmenter les risques de collision. Si vous voulez en apprendre plus par vous-même, alors, google, ou visitez security.se. Se disputer avec quelqu'un qui pense que md5 n'est pas faible est inutile. – Jon

+0

"youre alimentant 32 octets en une sortie de 32 octets" <- MD5 sort 16 octets, pas 32. – CodesInChaos

+0

@Jon L'augmentation des collisions est sans importance. Peu importe si vous avez 2^128 ou seulement ~ 2^127 sorties joignables. C'est encore suffisant. Les attaques de collision contre MD5 ne s'appliquent pas non plus, donc MD5 est seulement un peu pire que SHA2 dans ce contexte. – CodesInChaos

Répondre

3

Réponse courte est que MD5 (MD5 (pw)) comme hash suce parce que:

  1. Vous n'êtes pas à l'aide d'un sel
  2. Il est rapide

Si vous itérer MD5 pas deux fois mais un million de fois et vous incluez un sel, ce serait un hachage de mot de passe décent.

Ce qui compte très peu sont les faiblesses cryptographiques de MD5, puisque celles-ci ne s'appliquent pas au hachage par mot de passe. En particulier, les attaques par collision ne comptent pas ici, un attaquant doit être en mesure de retirer une première attaque pré-image. Échanger simplement MD5 pour SHA-2 ne vous rapportera pas grand-chose non plus car il est toujours rapide et non salé.

La bonne réponse est d'utiliser une construction standard passe de hachage tels que PBKDF2, bcrypt ou scrypt.

Quelques questions connexes:


Hachage ne deux fois réparer une chose: Il empêche les attaques longueur d'extension qui travaillent contre tous Merkle–Damgård hachages. C'est pourquoi certaines personnes préconisent SHA256 (SHA256 (m)). Mais généralement HMAC est un meilleur choix dans ces situations, et cela ne s'applique pas au hachage de mot de passe.

Questions connexes