Question

Je me demandais si je pouvais raisons ou des liens vers des ressources expliquant pourquoi SHA512 est un algorithme de hachage supérieure à MD5.

Était-ce utile?

La solution

Cela dépend de votre cas d'utilisation. Vous ne pouvez pas demander largement « supériorité ». (Je veux dire, oui, vous pouvez, dans certains cas, mais d'être stricte à ce sujet, vous ne pouvez pas vraiment).

Mais il y a des zones où MD5 a été cassé:

  1. Pour commencer: MD5 est vieux et commun. Il y a des tonnes de tables arc-en-contre, et ils sont faciles à trouver. Donc, si vous êtes des mots de passe de hachage (sans sel - honte à vous!) - en utilisant md5 - vous pourriez aussi bien ne pas être les tables de hachage, ils sont si faciles à trouver. Même si vous hachant avec des sels simples vraiment.
  2. Deuxième arrêt, MD5 n'est plus sûr en fonction de hachage cryptographique (en effet, il est même pas considéré comme une fonction de hachage cryptographique plus comme Forked On rappelle). Vous pouvez générer différents messages hachage à la même valeur. Donc, si vous avez un certificat SSL avec un hachage MD5, je peux générer un certificat en double qui dit ce que je veux, qui produit le même hachage . Ceci est généralement ce que les gens veulent dire quand ils disent MD5 est cassé -. Choses comme ça
  3. En troisième lieu, semblable à des messages, vous pouvez également générer différents fichiers ce hachage à la même valeur donc l'utilisation comme une somme de contrôle MD5 du fichier est cassé.

Maintenant, SHA-512 est un SHA-2 Famille de l'algorithme de hachage. SHA-1 est une sorte de considéré comme « eh » ces jours-ci, je vais l'ignorer. SHA-2 a cependant des attaques relativement peu contre elle. Les principaux un wikipedia parle est une pré-image réduit toute attaque ce qui signifie que si vous utilisez de manière horriblement mal SHA-512, je peux le briser. Obivously vous n'êtes pas susceptible de l'utiliser de cette façon, mais les attaques seulement mieux, et il est un bon tremplin vers d'autres recherches pour briser SHA-512 de la même manière MD5 est brisée.

Cependant, de toutes les fonctions de hash, la famille SHA-2 est actuellement amoung le plus fort, et le meilleur choix compte tenu commonness, l'analyse et la sécurité. (Mais pas nécessairement la vitesse. Si vous êtes dans les systèmes embarqués, vous devez effectuer une autre analyse tout.)

Autres conseils

MD5 a été cassé pour cryptographiquement un certain temps maintenant. Cela signifie que certaines des propriétés généralement garantis par des algorithmes de hachage, ne tiennent plus. Par exemple, il est possible de trouver des collisions de hachage dans beaucoup moins de temps que potentiellement nécessaire à la longueur de sortie.

SHA-512 (de la famille SHA-2 des fonctions de hachage) est, pour l'instant, assez en sécurité, mais peut-être pas beaucoup plus pour l'avenir prévisible. Voilà pourquoi le NIST a lancé un concours pour SHA-3.

En général, vous voulez des algorithmes de hachage pour être à sens unique les fonctions . Ils transforment un entrée à une sortie. Habituellement, la sortie est d'une longueur fixe, fournissant ainsi une « digestion » de l'entrée d'origine. Les propriétés courantes sont, par exemple que de petits changements dans l'entrée produisent de grandes variations dans la sortie (qui aide à détecter la falsification) et que la fonction ne sont pas facilement réversible. Pour cette dernière propriété de la longueur de la sortie aide grandement, car il fournit une limite supérieure théorique de la complexité d'une attaque de collision. Cependant, des défauts dans la conception ou la mise en œuvre se traduisent souvent par une complexité réduite pour les attaques. Une fois ceux-ci sont connus, il est temps d'évaluer si l'utilisation encore une fonction de hachage. Si la complexité d'attaque tombe assez loin des attaques pratiques facilement obtenir dans la gamme de personnes sans équipement informatique spécialisé.

Note: J'ai parlé seulement une sorte d'attaque ici. La réalité si beaucoup plus nuancée, mais aussi beaucoup plus difficile à saisir. Étant donné que les fonctions de hachage sont très couramment utilisés pour la vérification de l'intégrité des fichiers / message la chose de collision est probablement le plus facile à comprendre et à suivre.

Il y a deux points non abordés ici, et je pense qu'il est d'un manque de compréhension de ce qu'est un hachage est, comment il fonctionne, et combien de temps il faut pour les attaquer avec succès, en utilisant rainbow ou toute autre méthode actuellement connu de l'homme ...

Mathématiquement parlant, MD5 est pas « cassé » si vous salez le hachage et papillon tentatives (même par 1 seconde), votre sécurité serait tout aussi « cassé », comme il par un attaquant bombardant lentement à votre acier solide 1ft mur avec une cuillère en bois:

Il faudra des milliers d'années, et alors toutes les personnes impliquées seront morts; il y a des choses plus importantes à se soucier.

Si vous verrouillez leur compte le 20 tentative ... problème résolu. 20 visites sur votre mur = 0,0000000001% de chances qu'ils ont obtenu à travers. Il y a littéralement une meilleure chance statistique que vous êtes en Jésus fait.

Il est également important de noter que absolument toute fonction de hachage va être vulnérable aux collisions en vertu de ce hachage est:. « Un (petit) identifiant unique de quelque chose d'autre »

Lorsque vous augmentez l'espace bit vous réduisez les taux de collision, mais vous pouvez également augmenter la taille de l'identifiant et le temps qu'il faut pour le calculer.

Faisons une petite expérience de pensée ...

SHA-2, si elle existait, aurait un total de 4 possibles ID uniques pour quelque chose d'autre ... 00, 01, 10 et 11. Il produira des collisions, évidemment. Ne voyez-vous la question ici? Un hachage est juste un identifiant généré de ce que vous essayez d'identifier.

MD5 est en fait vraiment, vraiment bon à choisir au hasard un nombre basé sur une entrée. SHA est en fait pas beaucoup mieux à elle; SHA juste a plus d'espace énorme pour ID.

La méthode utilisée est d'environ 0,1% de la raison pour laquelle les collisions sont moins probables. La vraie raison est l'espace peu plus grand.

Ceci est littéralement la seule raison pour SHA-256 et SHA-512 sont moins vulnérables aux collisions; car ils utilisent un plus grand espace pour un identifiant unique.

Les méthodes actuelles SHA-256 et SHA-512 utiliser pour générer le hachage sont en fait mieux, mais pas par beaucoup; les mêmes attaques arc-en-travailleraient sur eux si elles avaient moins de bits dans leurs papiers d'identité, et les fichiers et même des mots de passe peuvent avoir des ID identiques à l'aide de SHA-256 et SHA-512, il est juste beaucoup moins probable car il utilise plus de bits.

  

La question est de savoir comment vous mettre en œuvre votre sécurité

Si vous autorisez les attaques automatisées pour frapper votre point final d'authentification 1000 fois par seconde, vous allez être cassé en. Si vous manette des gaz à 1 tentative par 3 secondes et verrouiller le compte pendant 24 heures après le 10 tentative, vous n'êtes pas.

Si vous stocker les mots de passe sans sel (un sel est juste un secret ajouté au générateur, ce qui rend plus difficile d'identifier les mauvais mots de passe comme « 31337 » ou « mot de passe ») et un grand nombre d'utilisateurs, vous allez se piraté. Si vous salez, même si vous utilisez MD5, vous n'êtes pas.

Compte tenu MD5 utilise 128 bits (32 octets HEX, 16 octets en binaire) et SHA 512 est 4x seulement l'espace mais élimine pratiquement le rapport de collision en vous donnant 2 ^ 384 ID plus possibles ... Aller avec SHA- 512, chaque fois.

Mais si vous êtes inquiet de ce qui va vraiment se produire si vous utilisez MD5, et vous ne comprenez pas les vraies différences réelles, vous êtes toujours va probablement se piraté, sens?

lire cette

  

Cependant, il a été démontré que MD5 n'est pas collision résistant

plus d'informations sur la collision

MD5 a une chance de collision ( http: //www.mscs.dal. ca / ~ Selinger / md5collision / ) et il existe de nombreuses tables arc-en-MD5 pour consultation par mot de passe inverse sur le web et disponible en téléchargement.

Il a besoin d'un à la carte en arrière beaucoup plus grand dictionnaire, et a une moindre chance de collision.

Il est simple, MD5 est cassé;) (voir Wikipedia )

  

Bruce Schneier a écrit de l'attaque que « [l] e savait déjà que MD5 est une fonction de hachage cassée » et que « personne ne devrait utiliser MD5 plus. »

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top