Перейти к содержимому

Фото
- - - - -

Поиметь MD5


  • Закрытая тема Тема закрыта
16 ответов в этой теме

#1 Ferzin

Ferzin
  • Постоялец
  • 1 967 сообщений

Отправлено 04 мая 2010 - 17:58

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

На этот раз я собрался сделать брут словарь MD-5.

допустим.. есть символы.

a-z,A-Z,А-Я,а-я,0-9 и !@#$%^&*()_+-.,"№;:

и того 26*2+33*2+9+18 = 146 уникальных символов.(мб и больше, хз считал устно)

Сколько вариантов будет, мне интересно.
int факториалы такие огромные не считает, long long тоже. BigInteger я ни разу не использовал.

скорость перебора - около 50 значений в секунду.

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

думаю разделить значения на базы SQL по количеству символов.


обешаю, если из моей забавы что то получиться то выложу в публичное использование. :D

Сообщение изменено: Luftwaffe (04 мая 2010 - 17:59 )

  • 0

#2 null

null
  • Постоялец
  • 15 928 сообщений

Отправлено 04 мая 2010 - 17:59

0-9 - это 10 цифр ^_^
  • 0

#3 Ferzin

Ferzin
  • Постоялец
  • 1 967 сообщений

Отправлено 04 мая 2010 - 17:59

ага, поправил.
  • 0

#4 shb

shb

    New life, much more options

  • Постоялец
  • 5 253 сообщений
  • Откуда:Таллинн

Отправлено 04 мая 2010 - 17:59

Не вижу смысла :)

Сообщение изменено: shb (04 мая 2010 - 18:02 )

  • 0
Мыслящий человек просто обязан время от времени поднимать себя за волосы © Тот самый Мюнгхаузен

Joga Bonito!

#5 Ferzin

Ferzin
  • Постоялец
  • 1 967 сообщений

Отправлено 04 мая 2010 - 18:01

Чегоооооо? Где это он открыт?
  • 0

#6 shb

shb

    New life, much more options

  • Постоялец
  • 5 253 сообщений
  • Откуда:Таллинн

Отправлено 04 мая 2010 - 18:17

Ну например вот - статья

А вот и демо

Взял первое попавшееся из гугла
  • 0
Мыслящий человек просто обязан время от времени поднимать себя за волосы © Тот самый Мюнгхаузен

Joga Bonito!

#7 Setor

Setor
  • Постоялец
  • 1 890 сообщений
  • Откуда:Эстония, Таллин

Отправлено 04 мая 2010 - 18:17

Ууу...

для начала вам нужна хеш-таблица в оперативной памяти гигабайт на 100 :) зачем каждый раз считать md5, если это можно сделать 1 раз. хеш таблица самых популярных паролей.

Скорость поиска должна достигать хотябы 1000 в секунду, но лучше 100 000 если вы хотите успеть разгадать пароль в этой жизни ;)
  • 0

#8 shb

shb

    New life, much more options

  • Постоялец
  • 5 253 сообщений
  • Откуда:Таллинн

Отправлено 04 мая 2010 - 18:18

В конце статьи, кстати, тоже есть ссылка
  • 0
Мыслящий человек просто обязан время от времени поднимать себя за волосы © Тот самый Мюнгхаузен

Joga Bonito!

#9 YTPO`

YTPO`

    Dancing Banana

  • Постоялец
  • 1 849 сообщений
  • Откуда:дровишки?

Отправлено 04 мая 2010 - 18:48

скорость перебора - около 50 значений в секунду.


Скорость поиска должна достигать хотябы 1000 в секунду, но лучше 100 000 если вы хотите успеть разгадать пароль в этой жизни


С такими скоростями можно на полжизни ставить перебор. Будущее за GPU просчетами http://www.insidepro.com/eng/egb.shtml
Например на моей GF8600GT мд5 просчитывается со скоростью 60 миллионов комбинаций в секунду -)))
  • 0
"It's even more important than reading the bible six times or becoming a pope"

#10 Ferzin

Ferzin
  • Постоялец
  • 1 967 сообщений

Отправлено 04 мая 2010 - 19:00

блин, насколько я жалок.


http://pastebin.com/gCtnvr5s

кстати, вот на обозрение выставлю недавно написал функцию, вот чо она делает.

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

Сообщение изменено: Luftwaffe (04 мая 2010 - 19:10 )

  • 0

#11 shb

shb

    New life, much more options

  • Постоялец
  • 5 253 сообщений
  • Откуда:Таллинн

Отправлено 04 мая 2010 - 19:44

if(type == type1) { string2[i] = (string[i]-key1)+key2-key3+key4+key5; } // Code
if(type == type0) { string2[i] = (string[i]+key1)-key2+key3-key4-key5; } // Decode

Это же обычный сдвиговый шифр - шифр цезаря :) Ничего защищенного тут нет. Сдвиг от одного до миллиона расшифровывается меньше чем за секунду силой. Если применить частотный анализ символов - то элементарно вручную расшифровывается (но времени займет).

Зы. В чем идея пяти ключей? :) Точно так же можно одним сдвинуть:
if(type == type1) { string2[i] = string[i]+(-key1+key2-key3+key4+key5); } // эти действия и дадут одну цифру, которая и будет сдвигом
if(type == type0) { string2[i] = string[i]-( key1-key2+key3-key4-key5); } //

Зы2 - ты только в 11том, учи математику, пригодится сильно, когда будешь заниматься любимым делом:)

Сообщение изменено: shb (04 мая 2010 - 19:46 )

  • 0
Мыслящий человек просто обязан время от времени поднимать себя за волосы © Тот самый Мюнгхаузен

Joga Bonito!

#12 Ferzin

Ferzin
  • Постоялец
  • 1 967 сообщений

Отправлено 04 мая 2010 - 19:56

Это же обычный сдвиговый шифр - шифр цезаря :) Ничего защищенного тут нет. Сдвиг от одного до миллиона расшифровывается меньше чем за секунду силой. Если применить частотный анализ символов - то элементарно вручную расшифровывается (но времени займет).

эхехе, ок, расшифровывается.

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

А теперь представь что несколько миллионов таких значений.

У тебя есть которое надо раскодировать, но ты не знаешь ключей.

Ты будешь вручную сверять или как?

пусть особо защищённого тут нет, но увы, быдло в восторге, особенно на форумах где все косят под программеров-экспертов )))

Сообщение изменено: Luftwaffe (04 мая 2010 - 19:56 )

  • 0

#13 shb

shb

    New life, much more options

  • Постоялец
  • 5 253 сообщений
  • Откуда:Таллинн

Отправлено 04 мая 2010 - 20:04

Ну вот например для твоих ключей точно такой же результат дадут ключи -69261 0 0 0 0 или -69262 1 0 0 0. Таких пятерок бесконечное множество. Самое легкое силой найти это значение (-69261 в случае твоих ключей). (считал быстро, мог ошибится на пару единиц)

А если надо вручную - то поможет частотный анализ. Если текст достаточно длинный то получится расшифровать

Сообщение изменено: shb (04 мая 2010 - 20:12 )

  • 0
Мыслящий человек просто обязан время от времени поднимать себя за волосы © Тот самый Мюнгхаузен

Joga Bonito!

#14 Gangblang

Gangblang
  • Пользователь
  • 203 сообщений

Отправлено 11 июня 2010 - 11:35

В ЛС.

С такими скоростями можно на полжизни ставить перебор. Будущее за GPU просчетами http://www.insidepro.com/eng/egb.shtml
Например на моей GF8600GT мд5 просчитывается со скоростью 60 миллионов комбинаций в секунду -)))



а сколько у тя потоковых видеопроцессоров ? У меня больше 60 лямов вышло,но предел вроде 6 миллиардов...никто пока ещё не добился,а вот 2-3 млд вполне есть).Это без распараллелливания работы видюх ещё))Ток я сомневаюсь,что карта долго протянет от таких потуг).
Интересно,чем ATI удивят )

Сообщение изменено: Gangblang (11 июня 2010 - 11:36 )

  • 0

#15 YTPO`

YTPO`

    Dancing Banana

  • Постоялец
  • 1 849 сообщений
  • Откуда:дровишки?

Отправлено 11 июня 2010 - 11:50

Gangblang,

Не знаю, в таких тонкостях не разбираюсь. Вообще, скорость перебора мд5 меня уже давно не удивляет, а вот скорость перебора WPA2 на GPU - это да :)) Наглядно видно насколько CPU отстают в этом деле -))
  • 0
"It's even more important than reading the bible six times or becoming a pope"

#16 Gangblang

Gangblang
  • Пользователь
  • 203 сообщений

Отправлено 11 июня 2010 - 12:08

Зато там коллизий больше... Да вот с настройками такой прикол : в количестве потоков я поставил количество процессоров,указанное в описание видюхи своей на каком-то сайте.Думал,что больше нельзя,а на самом деле можно...)Так и вышло больше 60 лямов,но вот если меняю количество паролей на поток больше 1к,то ноут начинает жутко мучиться от болей в цпу).
  • 0

#17 Junk1e

Junk1e
  • Постоялец
  • 793 сообщений
  • Откуда:Тарту

Отправлено 11 июня 2010 - 23:45

Будущее за GPU просчетами

+1 и за распределёнными вычислительными системами ;)

Самая толковая ломалка MD5 хэшей, которую приходилось юзать - BarsWF (есессьна 64-бит и с CUDA ^_^ )

Сообщение изменено: Junk1e (11 июня 2010 - 23:46 )

  • 0