Расшифровать хэш, или подобрать фразу с таким же хэшем

Рейтинг: 0Ответов: 1Опубликовано: 05.09.2014

Доброго времени суток, уважаемые гики и простые обыватели этого форума. Мне нужна ваша помощь!

Есть у меня хэш некой фразы (длина не известна), зашифрованный методом crypt(). Есть соль, с помощью которой шифровалась. Требуется сделать расшифровку, или подобрать фразу таким образом, чтоб с использованием этой соли хэши совпали.

Что я уже сделал: написал php-скрипт, который делает последовательный перебор символов [a-zA-Z0-9] от одного символа в фразе до десяти. Запустил скрипт в терминале линукса. В общей сложности за 15 часов работы продвинулся только до gaaa. Я так буду бесконечно подбирать.

Есть ли какие-то более быстрые способы, не обязательно на PHP. Работаю на линуксе (CentOS 7).

Буду благодарен за любую помощь. Лучшие ответы награждаются лайками, а полезные принятыми! :)

С уважением, Юрий.

Ответы

▲ 4Принят

Все 6 алгоритмов шифрования, на которых основана функция crypt() (а это DES, Extended DES, MD5, Blowfish, SHA256 и SHA512) являются необратимыми, поэтому получить из зашифрованной строки исходную любым способом, отличным от перебора, невозможно. В MD5 и DES используются относительно короткие ключи, поэтому перебор может дать результат за разумное время. Остальные алгоритмы ломать перебором при текущих вычислительных мощностях нецелесообразно. Если у вас нет знакомых в АНБ, которые могут подсказать, какие именно "закладки" заложены в перечисленные алгоритмы, то лучшим советом будет забить. Если же вы всё ещё упорно желаете сломать шифр перебором, то стоит задуматься о запуске распределённого перебора на нескольких машинах (ботнет?), причём не в интерпретаторе PHP, а на видеокарте с помошью CUDA и подобных технологий.