Насколько надежны хэши MD5?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Pantalone
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 687
Зарегистрирован: 12.11.2005 (Сб) 16:46
Откуда: Сапог

Насколько надежны хэши MD5?

Сообщение Pantalone » 02.03.2006 (Чт) 1:20

Проскочила тут инфа на одном форуме:
Однако хеши нетрудно получать, зная алгоритм, — следовательно вопрос времени, когда генератор левых серийников появиться.

Вот сижу репу чешу как же так. Чем пароли хэшировать для вшития в прогу?

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 02.03.2006 (Чт) 1:58

Имхо ерунду на том форуме пишут.
Заблуждение того же рода, что "если алгоритм шифрования открытый, значит он уязвимый".
Изображение

AjaxVS
Постоялец
Постоялец
 
Сообщения: 506
Зарегистрирован: 01.12.2004 (Ср) 13:12
Откуда: Donetsk, Battle.Net

Сообщение AjaxVS » 02.03.2006 (Чт) 2:13

2 tyomitch
Если мне не изменяет память, то ты в первый раз ошибся! +_+
MD5 действительно ненадежен. Другой вопрос - насколько ненадежен и для кого ненадежен?
Одно дело - для НАСА/НАТО, и совсем другое - для программ by Pantalone (надеюсь, он не обидется +_+). На его то проги врядли будут тратить столько времени, чтоб взломать что-либо типа MD5..

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 02.03.2006 (Чт) 2:30

AjaxVS, дело не в конкретном MD5, а в логике чела, который утверждает, что взлом любого хеша с открытым алгоритмом -- дело времени.
Изображение

AjaxVS
Постоялец
Постоялец
 
Сообщения: 506
Зарегистрирован: 01.12.2004 (Ср) 13:12
Откуда: Donetsk, Battle.Net

Сообщение AjaxVS » 02.03.2006 (Чт) 2:41

Хм.. Вообще-то автор в заголовке четко прописал МД5.. Ну да ладно..

Имхо, "взлом любого хеша с открытым алгоритмом -- дело времени", это все таки правильно. Если логически подумать... Разве можно написать такой код, который был бы "необратимым"? Естесственно, исследование занимает очень много времени, но теоретически открытый алгоритм все-таки ненадежней закрытого. Мне так кажется +_+

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 02.03.2006 (Чт) 2:52

Другими словами, если кейген к проге Pantalone будет работать несколько лет, прежде чем подберёт пароль, -- это свидетельство уязвимости MD5? :roll:


Или есть какие-то сведения, что MD5 взломать существенно легче, чем другие хеши, -- особенно "закрытые", написанные кулхацкерами на коленке за полчаса?
Изображение

AjaxVS
Постоялец
Постоялец
 
Сообщения: 506
Зарегистрирован: 01.12.2004 (Ср) 13:12
Откуда: Donetsk, Battle.Net

Сообщение AjaxVS » 02.03.2006 (Чт) 3:07

Ну, tyomitch, это ты уже придираешься +_+
Давай сравнивать проекты людей одной квалификации.
Неужели ты хочешь сказать, что если бы MD5 был закрытым алгоритмом, то его также быстро взломали (я имею ввиду длительность с момента его создания...)?

Насчет нескольких лет - я и не говорил, что будет быстро +_+ Но есть же проеты более устойчивые, чем MD5. Хотя примеров я тебе сейчас не скажу... Разве что "из другой оперы" - протектор Armadillo, например..
(согласен, Armadillo к теме совсем не относится)

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 02.03.2006 (Чт) 8:57

AjaxVS писал(а):MD5 действительно ненадежен.

Это ты на китайцев намекаешь?
Lasciate ogni speranza, voi ch'entrate.

marvan
Бывалый
Бывалый
 
Сообщения: 269
Зарегистрирован: 22.06.2004 (Вт) 13:26
Откуда: Москва

Сообщение marvan » 02.03.2006 (Чт) 10:59

Есть софтина MD5Inside с русскоязычным интерфейсом.
Есть mdcrack - консольный.

Обе бесплатны, можно лично убедиться в их работоспособности.
Тут спорить неочем.

Желаете повысить стойкость - дополнительно шифруйте результат MD5.

Pantalone
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 687
Зарегистрирован: 12.11.2005 (Сб) 16:46
Откуда: Сапог

Сообщение Pantalone » 02.03.2006 (Чт) 11:23

marvan писал(а):Желаете повысить стойкость - дополнительно шифруйте результат MD5.

А что толку, любой алгоритм шифрации обратим, разве не так?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 02.03.2006 (Чт) 11:47

У кого-то каша в голове точно...

Во-первых, MD5 не есть алгоритм шифрования.
Во-вторых, стойкость алгоритма шифрования определяется как время, которое уйдёт на расшифровку при условии, что взломщик как раз-таки знает алгоритм шифрования.
В-третьих, http://blogs.gotdotnet.ru/personal/gaidar/CommentView.aspx?guid=5aab0bba-d7ff-4ff0-8d04-f17b27bf6c86.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

marvan
Бывалый
Бывалый
 
Сообщения: 269
Зарегистрирован: 22.06.2004 (Вт) 13:26
Откуда: Москва

Сообщение marvan » 02.03.2006 (Чт) 11:48

2 Pantalone
Толк таков:
Одно дело скопировать значение MD5 ключа из реестра в прогу типа MD5Inside нажать кнопку и уже через час хвастаться какой ты крутой хакер.
Другое дело пытаться найти тот же ключ в памяти таботающего приложения или разбираиться а механизме его шифрования. Тут уже не каждый кнопконажиматель сдюжит.

Pantalone
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 687
Зарегистрирован: 12.11.2005 (Сб) 16:46
Откуда: Сапог

Сообщение Pantalone » 02.03.2006 (Чт) 12:15

Почитал, похоже MD5 забраковали совсем? Какие еще есть алгоритмы, SHA или он слабее?

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 02.03.2006 (Чт) 12:36

GSerg писал(а):У кого-то каша в голове точно...

Во-первых, MD5 не есть алгоритм шифрования.
Во-вторых, стойкость алгоритма шифрования определяется как время, которое уйдёт на расшифровку при условии, что взломщик как раз-таки знает алгоритм шифрования.
В-третьих, http://blogs.gotdotnet.ru/personal/gaidar/CommentView.aspx?guid=5aab0bba-d7ff-4ff0-8d04-f17b27bf6c86.

Интересно, почему уважаемый gaidar даёт ссылку на копию статьи из Википедии, а не на оригинал :roll:
В любом случае, там говорится не о подборе строки с нужным хэшем, а о подборе двух строк с одинаковым хешем, -- согласись, вещи совершенно разные.

2marvan: MD5Inside я не смог найти. mdcrack скачал; он отказывается подбирать пароли длиннее 12 символов. Вроде бы поменять это ограничение в его опциях нельзя -- какой тогда от него толк?

Хорошо, вот я задумал пароль. Вот его MD5: 2e67aefe5bd8efaeea0c2e41cb283e71
Предлагаю кулхацкерам потратить час своего времени (больше ведь им не потребуется?) на его взлом.
Заранее подскажу, что длина больше 12 символов. В несколько раз.
Изображение

marvan
Бывалый
Бывалый
 
Сообщения: 269
Зарегистрирован: 22.06.2004 (Вт) 13:26
Откуда: Москва

Сообщение marvan » 02.03.2006 (Чт) 15:14

tyomitch писал(а):Предлагаю кулхацкерам потратить час своего времени (больше ведь им не потребуется?) на его взлом.

Шутник однако!
Не уверен, но для сложных паролей и недели может быть мало.
За час и 12 значные пароли не подберёш. Но вот беда - большинство пользователей использует пароли меньшей длины.

kif
Постоялец
Постоялец
 
Сообщения: 736
Зарегистрирован: 10.12.2001 (Пн) 18:06
Откуда: Украина, Одесса

Сообщение kif » 02.03.2006 (Чт) 15:28

GSerg писал(а):У кого-то каша в голове точно...

Во-первых, MD5 не есть алгоритм шифрования.
Во-вторых, стойкость алгоритма шифрования определяется как время, которое уйдёт на расшифровку при условии, что взломщик как раз-таки знает алгоритм шифрования.
В-третьих, http://blogs.gotdotnet.ru/personal/gaidar/CommentView.aspx?guid=5aab0bba-d7ff-4ff0-8d04-f17b27bf6c86.


Полность согласен.
Никто мне не мешает взять название организации, для которой пишется продукт, например: Закрытое акционерное общество "Вася Пупкин и К", получить ХЭШ и им пользоваться или в качестве исходной строки фамилию, имя, и отчество своей бабушки вместе с датой ее рождения, в обоих случаях получается строка солидной длинны - есть над чем работать :-)
Братья и сестры, что вы делаете???
Ведь вы же братья и сестры.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 02.03.2006 (Чт) 15:56

tyomitch писал(а):Заранее подскажу, что длина больше 12 символов. В несколько раз.

Тут дело в другом.
Если существует строка 3-4 символов длиной, хеш которой будет совпадать с тем, что ты дал, то эту строку смогут найти относительно быстро.
Поэтому несколько снижается надежность цифровой подписи MD5 (потому что сообщение можно будет подделать, но при этом MD5 не изменится).
Lasciate ogni speranza, voi ch'entrate.

Pantalone
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 687
Зарегистрирован: 12.11.2005 (Сб) 16:46
Откуда: Сапог

Сообщение Pantalone » 02.03.2006 (Чт) 16:19

alibek писал(а):Если существует строка 3-4 символов длиной, хеш которой будет совпадать с тем, что ты дал, то эту строку смогут найти относительно быстро.

И что действительно есть такая возможность? В смысле совпадение хэша 3-4 символьной строки и хэша например 20 символьной?
Как же быть?

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 02.03.2006 (Чт) 17:18

Есть. Например у строк
5FF8DE81-BA2F-4C60-A0FE-8C51923D5775
E6F328DB-6BDA-41B6-B500-B0B9E29BE704
совпадают crc32. Это единственное совпадение на 25к подобных записей. md5 будет подлиннее crc так что вероятностью совпадения, да еще неравных строк, можно пренебречь.
Лучший способ понять что-то самому — объяснить это другому.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 02.03.2006 (Чт) 17:55

alibek писал(а):
tyomitch писал(а):Заранее подскажу, что длина больше 12 символов. В несколько раз.

Тут дело в другом.
Если существует строка 3-4 символов длиной, хеш которой будет совпадать с тем, что ты дал, то эту строку смогут найти относительно быстро.

Так называемые "взломщики" от marvan на самом деле перебирают не все пароли, а только текстовые.
Вероятность, что существует текстовая строка с таким же хешем, причём короче, чем сам мой пароль, пренебрежимо мала.


Итак, какие ещё остались "уязвимости" у MD5? "Теоретическую" возможность "взлома" пароля за неделю суперкомпьютерами NASA оставим в стороне.
Изображение

Pantalone
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 687
Зарегистрирован: 12.11.2005 (Сб) 16:46
Откуда: Сапог

Сообщение Pantalone » 02.03.2006 (Чт) 18:47

Ребята, скажите мне такую вещь, вопрос к тем кто реверсингом занимался. Допустим есть регистрационный ключ, пусть на основе некоего внутреннего ключа, зашитого в программу (назовем его ключем расшифровки) из регистрационного ключа расшифровываются значения переменных нужные для работы программы. Так вот, имея один рабочий регистрационный ключ, можно ли отследить алгоритм, по которому из него декриптуются переменные и соответственно создать кейген? Т.е. разобрав в коде алгоритм расшифровки переменных, можно провести обратную операцию шифровки уже с любым рег ключем, т.е. состряпать кейген.
Это я пр BlowFish и прочие алгоритмы шифровки, насколько такое возможно или так и делают?
Что скажете, спецы?

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 02.03.2006 (Чт) 19:13

Pantalone писал(а):Т.е. разобрав в коде алгоритм расшифровки переменных, можно провести обратную операцию шифровки уже с любым рег ключем, т.е. состряпать кейген.

Что алгоритмы бывают не только симметричные, но и ассиметричные, ты знаешь?
Lasciate ogni speranza, voi ch'entrate.

Mizin Alex
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 50
Зарегистрирован: 12.06.2004 (Сб) 9:46
Откуда: Россия , Ивдель

Сообщение Mizin Alex » 02.03.2006 (Чт) 21:15

Есть прога c открытым исходным кодом: MD4/MD5 Collision Generation. Со слов разработчика генератора Патрика Стэча ,на компе Pentium 4 1.6 ГГц одна коллизия(идентичная пара) MD5 формируется в среднем за 45 минут,а MD4 -мгновенно... Так ,что суперкомп и неделя уже не нужны...:(( Кстати SHA-0 тоже сдался...
Про MD5 статью 'How to Break MD5 and Other Hash Functions' можно читануть : www.infosec.sdu.edu.cn/paper/md5-attack.pdf

С ув. Alex

Pantalone
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 687
Зарегистрирован: 12.11.2005 (Сб) 16:46
Откуда: Сапог

Сообщение Pantalone » 02.03.2006 (Чт) 21:32

Mizin Alex
Не понял, пара формируется или к одному известному хэшу подбирается другой такой же?

Mizin Alex
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 50
Зарегистрирован: 12.06.2004 (Сб) 9:46
Откуда: Россия , Ивдель

Сообщение Mizin Alex » 02.03.2006 (Чт) 22:28

Pantalone
Подбирается пара для заданного хэша.

С ув. Alex

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 02.03.2006 (Чт) 23:01

Mizin Alex писал(а):Pantalone
Подбирается пара для заданного хэша.

Неправда. Подбирается пара с (непредсказуемым заранее) совпадающим хешем.

Из китайского pdf-а:
In this paper we present a new powerful attack that can effciently find a collision of MD5. From H. Dobbertin’s attack, we were motivated to study whether it is possible to find a pair of messages, each consists of two blocks, that produce collisions after the second block. More specifically, we want to find a pair (M0,M1) and (M0',M1') such that
(a,b,c,d) = MD5(a0,b0,c0,d0,M0),
(a',b',c',d') = MD5(a0,b0,c0,d0,M0'),
MD5(a,b,c,d,M1) = MD5(a',b',c',d',M1'),
where a0, b0, c0, d0 are the initial values for MD5. We show that such collisions of MD5 can be found effciently, where finding the first blocks (M0,M0') takes about 2^39 MD5 operations, and finding the second blocks (M1,M1') takes about 2^32 MD5 operations.


Очень обидно, что столько людей слышали звон, и больше ничего. Что им лень даже заглянуть в документы, на которые они дают ссылки :evil:
Изображение

AjaxVS
Постоялец
Постоялец
 
Сообщения: 506
Зарегистрирован: 01.12.2004 (Ср) 13:12
Откуда: Donetsk, Battle.Net

Сообщение AjaxVS » 03.03.2006 (Пт) 1:29

alibek писал(а):
AjaxVS писал(а):MD5 действительно ненадежен.

Это ты на китайцев намекаешь?

Может быть, в том смысле, что если каждому китайцу дать по одному коду, то кто-то да взломает? Или на 1,300,000,000-ый раз MD5 согласится, что правильный код: "Мао Дзинь"? +_+

Mizin Alex
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 50
Зарегистрирован: 12.06.2004 (Сб) 9:46
Откуда: Россия , Ивдель

Сообщение Mizin Alex » 03.03.2006 (Пт) 21:19

Tyomitch,что статью не читал это верно!Очень обидно ,что в печатных изданиях дают неверные сведения и опираются на статьи которые сами толком не читали.И я не собираюсь проверять все статьи которые прочитал,если мне это пока не нужно. Сожалею,что информация была преподнесена в статье несколько неверно.Ссылку я дал намеренно,чтобы заинтересованные люди могли уточнить при необходимости ,что и сделали. Так ,что звон слышал автор статьи ,а не я. :evil:

С ув. Alex

Eduard
Бывалый
Бывалый
 
Сообщения: 254
Зарегистрирован: 31.08.2003 (Вс) 17:12
Откуда: Эстония

Сообщение Eduard » 09.03.2006 (Чт) 18:34

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

Код: Выделить всё
Private Const S11 = 7
Private Const S12 = 12
Private Const S13 = 17
Private Const S14 = 22
Private Const S21 = 5
Private Const S22 = 9
Private Const S23 = 14
Private Const S24 = 20
Private Const S31 = 4
Private Const S32 = 11
Private Const S33 = 16
Private Const S34 = 23
Private Const S41 = 6
Private Const S42 = 10
Private Const S43 = 15
Private Const S44 = 21


если их чудка поменять, хотяб некоторые, то и хэш уже абсолютно другой генерируеться, и у меня даж MD5Inside не пробивал его, и уже пиши даж кулхаскеры не сообразять в чем же дело :lol:
и вооще по мне так кажеться, что МД5 даж оч-оч и хороший, и как бы его не броковали везде, на сегодня восстановление инфы из мд5 тока достигаеться одним путем - подборкой. Специально, сколько я програм не пересмотрел по воссановлению паролей - все на одну тематику - перебор. Так что нет ещё и не будет никагого алгоритма который бы напрямую из хэша генерировал начальное его значение - просто нереально из говна получить конфетку.
On Fatal Error Resume Next

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 09.03.2006 (Чт) 18:38

Бред.
Lasciate ogni speranza, voi ch'entrate.

След.

Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 121

    TopList