2015-03-28 2 views
-4

Возможно ли написать код, который может взломать хеш sha256, когда вы знаете форму пароля? Например, форма пароля *-**********, который имеет длину 12-13 символов и:Crack sha256, когда вы знаете форму пропуска

  1. Первый полукокс одно число от 1 до 25
  2. второй является дефис
  3. В каждом полукокса от третьего до конец, вы можете положить a...z, A...Z и 0...9

После угадывая каждый проход, код преобразует пропуск sha256 и посмотреть, является ли результат хэш равен нашей хэш или нет, а затем напечатать правильный проход.

Я знаю, что все возможные номера является большим количеством (26+26+10)^10, но я хочу знать, что:

  1. Можно ли написать такой код?
  2. Если да, можно ли запустить весь код менее чем за один день (потому что я думаю, что для завершения всего кода требуется много времени)?
  3. Поскольку я не могу попросить вас написать код для меня, как и где я могу запросить этот код?
+0

не пробуйте ломать satoshimines. – Keddy1201

ответ

4

Вы не можете «взломать» хэш SHA256 независимо от того, сколько информации вы знаете об открытом тексте (предполагая, что по трещине вы имеете в виду вывод из текста хэша). Даже если вы знаете пароль, вы не можете определить какую-либо процедуру для отмены хэша. С технической точки зрения, нет известного способа выполнить preimage attack в хешировании SHA256.

Это означает, что вы должны прибегнуть к догадкам или брута пароль:

У вас есть префикс, который может быть любым значением в [1-25]- и 10 дополнительных символах в [a-zA-Z0-9]. Это означает, что общее количество возможных паролей: 25 * 62^10 или 20,982,484,146,708,505,600.

Если вы смогли вычислить и проверить миллиард паролей в секунду, вам понадобится 20,982,484,146 секунд для генерации всех возможных хэшей. Если вы начнете сейчас, вы закончите примерно через 665 лет.

Если вы можете использовать некоторую вычислительную мощность и генерировать триллион хэшей в секунду, это займет всего несколько с половиной лет. Хорошей новостью является то, что компьютерные хэши могут выполняться параллельно, поэтому легко использовать несколько машин. Плохая новость заключается в том, что вычислительная мощность не будет дешевой.

Чтобы ответить на ваши вопросы:

  1. Можно ли написать такой код? Можно написать программу, которая будет перебирать весь диапазон возможных паролей и проверять ее на хэш (ы), для которого вы хотите определить открытый текст.
  2. Если да, возможно ли запустить весь код менее чем за один день. Да, если вы можете вычислить и проверить около 10^15 хешей в секунду.
  3. Как и где я могу запросить этот код? Это наименьшая из ваших проблем.

К счастью, поскольку биткойн использует sha256, довольно легко найти грубые цифры по количеству вычислительной мощности, необходимой для генерации количества необходимых хэшей.

Если цифры в this article верны, то малина может генерировать 2*10^5 хешей в секунду. Я считаю, что более новая малина Pis более мощная, чем это, поэтому я собираюсь удвоить это до 4*10^5. Вам нужно сгенерировать около 10^15 хешей в секунду, которые будут выполняться менее чем за день.

Вам понадобится 250,000,000 Малиновый пиз.

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