Как подсчитать время которое потребуется на перебор пароля?

Допустим есть железо, которое перебирает 33100000000 вариантов в секунду и на перебор дали md5 хэш, о котором ничего не известно.
Но известно то что все возможным значений md5 максимум 2^128 тоесть: 340282366920938463463374607431768211456

Как правильно посчитать сколько времени придется потратить на полный перебор md5 ?

И как подсчитать с учетом коллизии, потому что один хэш может иметь несколько строк, а нужно узнать все строки которые подпадают под этот md5 хэш ?
  • Вопрос задан
  • 4151 просмотр
Пригласить эксперта
Ответы на вопрос 3
MaxDukov
@MaxDukov
впишусь в проект как SRE/DevOps.
ну так разделите одно на другое - и получите количество секунд.
с коллизиями аналогично. у Вас есть длина строки и сомвольный набор. Считаете количество комбинаций, делите на скорость перебора - профит.
Ответ написан
Комментировать
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
потому что одна строка может иметь несколько хэшей
Неправильно, это множество строк могут иметь одинаковый хэш

нужно узнать все строки которые подпадают под этот md5 хэш
Таких строк бесконечное количество, все узнать невозможно в принципе
Ответ написан
@komjaga
Программист встроенного ПО
2^128/33100000000=1,028043405×10²⁸/(3600*24*365)=3,259904251×10²¹ лет велком

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

habrahabr.ru/post/110809
https://github.com/VladX/md5-bruteforcer

если предположить что пароль ASCII, то для 20 символьного пароль значений чуть поменьше, 64^20=1,329227996×10³⁶

есть словари, на несколько гигабайт, где собраны типичные пароли
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы