Si j'ai à la fois la clé initiale et le hachage créé, existe-t-il un moyen de déterminer quel algorithme de hachage a été utilisé? P>
Par exemple: P>
5 Réponses :
Pas autre que d'essayer un groupe que vous connaissez et de voir si une correspondance. P>
C'est une bonne idée d'une utilisation occasionnelle, mais si vous avez besoin de rigueur, je ne pense pas que cela fasse. À une hausse, je parie que deux algorithmes de hachage ne peuvent pas ou ne peuvent pas garantir qu'ils n'auront pas de collision entre eux pour une valeur d'entrée.
En regardant la longueur, vous pouvez décider des algorithmes à essayer. MD5 et MD2 produisent des digestions de 16 octets. SHA-1 produit 20 octets de sortie. Etc. Ensuite, effectuez chaque hachage sur l'entrée et voyez s'il correspond à la sortie. Si oui, c'est votre algorithme. P>
Bien sûr, si plus que la "clé" a été hachée, vous devez le savoir aussi. Et en fonction de l'application, les hachages sont souvent appliqués de manière itérative. C'est-à-dire que la sortie du hachage est à nouveau hachée et que la production est hachée ... souvent des milliers de fois. Donc, si vous savez à l'avance, combien d'itérations ont été effectuées, cela peut aider aussi. P>
Il n'y a rien d'autre côté de la longueur dans la sortie d'un hachage cryptographique qui aiderait à réduire l'algorithme qui le produit. P>
La longueur ne vous aide pas beaucoup. Vous pouvez facilement concaténer deux md5 associés pour obtenir une sortie plus grande.
Bien sûr, mais dans le monde réel, je n'ai jamais vu cela, y compris cette question. D'autre part, j'ai eu d'innombrables expériences où je devais savoir quels digestes ont été utilisés dans un protocole et en comptant simplement les octets, j'ai pu vérifier ma première hypothèse. C'est beaucoup d'aide. Bien sûr, ymmv.
@John tout ce qui est trivial comme ça sera battu i>. C'est la cryptographie après tout. La seule façon dont vous allez arrêter une personne de deviner votre algorithme de hachage est d'utiliser un hachage clé (et ne lui donnant pas la clé). Ou en faisant le vôtre, ce qui peut même que cela pourrait être réalisable pour l'attaquant de dériver l'algorithme.
Il y a aussi des cas où vous avez un tronqué i> HASH - par exemple, un hachage qui était à l'origine un hachage SHA1 (48 hex) tronqué à une longueur de la recherche de MD5 (32-hex) , pour lequel la seule façon de se fendre est de le faire passer par SHA1 puis de tronquer à 32 ans. Donc, la seule preuve réelle dans le pudding de craquage de hachage est dans la dégustation: trouver quelques fissures avec un algorithme donné.
ne correspondait à aucun des hachage algorithmes: P>
http://www.fileformat.info/tool/hash.htm ? Texte = plus haut p> blockQuote>
Peut-être un sel em> a été ajouté avant hachage ... p>
Oui, je le vérifiais aussi de certains hachages existants et je suis venu des mains vides. L'exemple ci-dessus que j'ai donné était dans la zone de recherche d'un site Web. J'ai remarqué qu'il ait hashé la valeur de recherche et était curieux si je serais capable de comprendre la méthode de hachage.
Le hachage semble contenir uniquement des caractères hexadécimaux (chaque caractère représente 4bits) p> li>
Nombre total est de 32 caractères -> Il s'agit d'un hachage de longueur de 128 bits. p> li>
Les algorithmes de hachage standard conformes à ces spécifications sont les suivants: HAVAL, MD2, MD4, MD5 et RIPEMD128. p> li>
La probabilité la plus élevée est que le MD5 a été utilisé. p> li>
MD5 ("Supérieur")! = DF072C8AFCF2385B8D34AAB3362020D0 P> LI>
La probabilité la plus élevée est que certains sel ont été utilisés. p> li>
La probabilité la plus élevée reste toujours MD5. p> li> ol>
Eh bien, étant donné qu'il existe un nombre fini d'algorithmes de hachage populaires, peut-être que vous proposez n'est pas si ridicule.
Mais supposons que je vous a posé cela: P>
Si j'ai une entrée et une sortie, peut Je détermine la fonction? P> BlockQuote>
Généralement em>, non, vous ne pouvez pas déterminer le fonctionnement interne de n'importe quelle fonction simplement de connaître une entrée et une sortie forte> sans aucune information supplémentaire. p>
xxx pré> p>