Combien sont plus susceptibles de collisions de hachage si je hachage un tas de hash?

StackOverflow https://stackoverflow.com/questions/1706461

  •  19-09-2019
  •  | 
  •  

Question

Disons que je suis à l'aide d'un hachage pour identifier les fichiers, donc je ne pas besoin d'être sûr, je juste besoin de réduire au minimum les collisions. Je pensais que je pouvais accélérer le hachage par quatre cours d'exécution hash en parallèle en utilisant SIMD puis hachant le résultat final. Si le hachage est conçu pour un bloc de 512 bits, je fais un pas seulement à travers le fichier prenant des blocs de bits 4x512 un seul coup et générer quatre hash sur cela; puis à la fin du fichier, je hachage les quatre hash résultant ensemble.

Je suis assez sûr que cette méthode produirait hash pauvres ... mais combien plus pauvres? Tout retour des calculs d'enveloppe?

Était-ce utile?

La solution

L'idée que vous pouvez lire des blocs du fichier à partir du disque plus rapide que vous pouvez les hachage est, bien, une hypothèse non vérifiée? Disk IO - même SSD - est plusieurs ordres de grandeur plus lent que la RAM que le hash va bien.

Assurer faible collisions est un critère de conception pour tous les hash, et tous hash mainstream faire un bon travail de celui-ci - il suffit d'utiliser un hachage grand public par exemple MD5.

spécifique à la solution l'affiche envisage, ne est pas un étant donné que le hachage parallèle affaiblit le hachage. Il y a hash spécialement conçus pour le hachage parallèle des blocs et en combinant les résultats que l'affiche dit, mais peut-être pas encore dans l'adoption généralisée (par exemple MD6 , qui se retire sans interruption depuis SHA-3)

De manière plus générale, il y a implémentations traditionnelles des fonctions de hachage qui n'utilisent SIMD. implémenteurs sont très performance conscients et prennent du temps pour optimiser leur mise en œuvre ; vous auriez un travail difficile égaler leurs efforts. Le meilleur logiciel pour forte est d'environ 6 hash à 10 cycles / octet. hash accélération matérielle est également disponible si le hash est véritable goulot d'étranglement.

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