2016-07-13 4 views
0

J'essaie de résoudre une tâche keygenme. J'ai trouvé qu'il y a une valeur ulong stockée comme string. Le hachage est calculé en utilisant SHA512Managed et seulement 16 octets d'un résultat de 128 octets sont importants. J'ai besoin de trouver une telle valeur ulong stockée comme string qui donne un hachage qui a 16 octets spécifiques. Si je comprends bien, l'algorithme SHA ne peut pas être inversé, donc la seule solution possible est une approche par force brute. Il y a 18,446,744,073,709,551,616 valeurs ulong possibles, ce qui est beaucoup. Donc, la question est "est-il possible de calculer seulement 16 octets oh hash afin de diminuer le temps de calcul?". P.S. Si vous connaissez une autre façon de résoudre ma tâche, dites-moi s'il vous plaît. Je vous remercie!Est-il possible de calculer seulement une partie du hachage SHA512? (C#)

Répondre

0

Non, ce n'est pas le cas. L'algorithme fait pivoter les valeurs de sorte que vous ne pouvez en laisser aucune partie lors du calcul. Théoriquement, vous pourriez laisser une petite partie hors de la dernière ronde, mais cela n'aurait aucune signification réelle au temps passé à forcer brutalement.