Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Симметричное шифрование
 
 автор: Mookapek   (09.03.2009 в 23:30)   письмо автору
 
 

Собственно почему обычно для шифрования паролей используется md5, а не симметричное шифрование? Ведь, как мне кажется, подобрать пароль, зашифрованный при помощи симметричного шифрования, невозможно.

  Ответить  
 
 автор: Саня   (10.03.2009 в 09:32)   письмо автору
 
   для: Mookapek   (09.03.2009 в 23:30)
 

Во-первых md5 — это не шифрование. Во-вторых для симметричного шифрования нужен ключ, который прийдётся хранить внутри скрипта (или в любом другом, доступном для скрипта, месте). И если взломают скрипт, то получить этот ключ не составит труда. В-третьих — шифрование паролей зачастую не нужно и используется лишь для восстановления пароля. С md5 ничего восстанавливать не нужно — достаточно задать новый пароль заместо старого.

  Ответить  
 
 автор: Mookapek   (10.03.2009 в 18:23)   письмо автору
 
   для: Саня   (10.03.2009 в 09:32)
 

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

  Ответить  
 
 автор: ddhvvn   (10.03.2009 в 18:42)   письмо автору
 
   для: Mookapek   (10.03.2009 в 18:23)
 

>...а при симметричном шифровании - невозможно
Почему?

  Ответить  
 
 автор: Mookapek   (10.03.2009 в 18:59)   письмо автору
 
   для: ddhvvn   (10.03.2009 в 18:42)
 

Хорошо, практически невозможно.
Ну попробуйте, не зная, ключа подобрать.

  Ответить  
 
 автор: ddhvvn   (10.03.2009 в 19:05)   письмо автору
 
   для: Mookapek   (10.03.2009 в 18:59)
 

О_О вот это аргумент.
Во-первых, причем ту "ключ" и "подобрать" (правда, возможно, что мы по-разному воспринимаем этот глагол :)
Во-вторых, а попробуйте подобрать хеш, который в принцип не может быть получен в первоначальном виде, кроме как способом подбора...

  Ответить  
 
 автор: Mookapek   (10.03.2009 в 19:12)   письмо автору
 
   для: ddhvvn   (10.03.2009 в 19:05)
 

Ну а что, хеш не подобрать что-ли?
Если читали "Головоломки на PHP для хакера", то там такой скрипт найдете.

При симметричном шифровании наличие ключа сводит шансы злоумышленника к нулю, как мне кажется.

  Ответить  
 
 автор: ddhvvn   (10.03.2009 в 19:21)   письмо автору
 
   для: Mookapek   (10.03.2009 в 19:12)
 

Если говорить именно про "подбор", то тут думаю способы в одинакаковых условиях, но возможно, md5 даже чуть проигрывает (из-за ограниченного набора символов, правда я не сильно знаком с симметричным шифрованием и не знаю как там).
Но подождем, может зайдут эксперты и дадут компетентную оценку =)

  Ответить  
 
 автор: Саня   (10.03.2009 в 23:34)   письмо автору
 
   для: Mookapek   (10.03.2009 в 19:12)
 

> Важно то, что пароль, зашифрованный с помощью md5...
Опять мимо.

> При симметричном шифровании наличие ключа сводит шансы злоумышленника к нулю,
> как мне кажется.
Вы хотите сказать что брутфорс на симметричное шифрование не распространяется?

> ...а надежно укрыть ключ не сложно
И как?

  Ответить  
 
 автор: Mookapek   (11.03.2009 в 02:00)   письмо автору
 
   для: Саня   (10.03.2009 в 23:34)
 

Опять мимо.
Что мимо? Я вас не понимаю.

Вы хотите сказать что брутфорс на симметричное шифрование не распространяется?
Придется подбирать сразу пару ключ+пароль, на расшифровку 100 лет уйдет.

А как может злоумышленник узнать ключ, если он будет храниться в какой-нибудь переменной внутри скрипта? Не понятно...

  Ответить  
 
 автор: Саня   (11.03.2009 в 03:12)   письмо автору
 
   для: Mookapek   (11.03.2009 в 02:00)
 

> Что мимо?
md5 — это не шифрование!

> Придется подбирать сразу пару ключ+пароль
А пароль-то тут причём? У нас есть зашифрованая строка. Нам нужно получить исходную строку, находящуюся под этим шифром. Мы последовательно пробуем все возможные ключи для расшифровки этой строки. Данное действие называется брутфорсом.
Допустим мы брутфорсом подобрали ключ. Этим ключём мы можем вскрыть все остальные зашифрованные пароли, тогда как подбор одного md5-хеша не означает автоматический взлом всех остальных захешированных паролей.

  Ответить  
 
 автор: STEVER   (13.03.2009 в 15:25)   письмо автору
 
   для: Саня   (11.03.2009 в 03:12)
 

Повеселили =)
На таком серьезном уровне обсуждать такую мелкую тему.
Я бы еще ради смеха предложил использовать ассиметричное шифрование.

Ведь смотря какие цели мы ставим, то и нужно использовать!
В нашем случае чтобы хранить пароли на сайте достаточно хранить "соленый" хэш, и это будет гораздо надежнее чем использовать шифрование и хранить ключ в скрипте. Подумайте сами: взломали сайт, стали известны исходники и записи в базе - все что нужно у злоумышленника в руках - произвел дешифровку вуа-ля.

Саня,
На вашем месте я бы не был так категоричен. Во многих книжках по программированию мд5 называют именно шифрованием, правда необратимым.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования