2016-07-13 2 views
0

Я пытаюсь решить задачу keygenme. Я обнаружил, что значение ulong хранится как string. Хэш вычисляется с использованием SHA512Managed и имеет значение только 16 байтов из 128 байтов. Мне нужно найти такое значение ulong, которое хранится как string, которое дает хэш, который имеет 16 конкретных байтов. Как я понимаю, алгоритм SHA нельзя отменить, поэтому единственным возможным решением является подход с грубой силой. Есть 18,446,744,073,709,551,616 возможных значений улунга, что довольно много. Итак, вопрос: «Можно ли вычислить только 16 байт о хэш для уменьшения времени вычисления?». P.S. Если вы знаете другой способ решить мою задачу, скажите мне. Спасибо!Можно ли вычислить только часть хэша SHA512? (C#)

ответ

0

Нет, это не так. Алгоритм вращает значения, поэтому вы не можете оставить какую-либо часть его при вычислении.

Теоретически вы можете оставить небольшую часть из последнего раунда, но это не имело бы никакого реального значения для времени, затрачиваемого на грубое форсирование.

Смежные вопросы