Пытаюсь решить задачу keygenme. Я обнаружил, что значение ulong
хранится как string
. Хэш вычисляется с использованием SHA512Managed
, и только 16 байтов из 128-байтового результата имеют значение. Мне нужно найти такое значение ulong
, хранящееся как string
, которое дает хэш с 16 определенными байтами. Насколько я понимаю, алгоритм SHA не может быть отменен, поэтому единственно возможным решением является подход грубой силы. Существует 18 446 744 073 709 551 616 возможных значений ulong, что довольно много. Итак, вопрос: «Можно ли вычислить только 16 байт хэша, чтобы уменьшить время вычисления?». P.S. Если вы знаете другой способ решить мою задачу, пожалуйста, сообщите мне. Благодарю вас!
Можно ли вычислить только часть хэша SHA512? (С#)
Ответы (1)
Нет. Алгоритм вращает значения, поэтому вы не можете пропустить какую-либо его часть при расчете.
Теоретически вы можете оставить небольшую часть последнего раунда, но это не будет иметь никакого реального значения для времени, потраченного на брутфорс.
person
Sami Kuhmonen
schedule
13.07.2016