Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Алгоритмы > Быстрая хеш-функция |
Автор: REZiaMIX 29.5.2008, 20:40 |
По сети передается пара login/pass от клиента к серверу. Сервер соответственно должен найти в списке login проверить pass (дальше по усмотрению). Задумал реализовывать так : На сервере хешировать пары login/pass. Клиент посылает хеш , сервер сверяет из списка. Будет ли это правильной реализацией?(Расчет идет на большое кол-во записей) Если это в большей степени правильно,подскажите хеш-функцию с достаточной устойчивостью к коллизиям (поиск будет происходить по большой базе, немалую важность играет производительность). |
Автор: ksili 30.5.2008, 07:54 |
Насколько я знаю, самыми распространёнными являются хэш-функции SHA, MD4, MD5. Думаю все они удовлетворяют вашим требованиям |
Автор: RockClimber 30.5.2008, 18:53 |
"Хотя функция хэширования MD4 очень быстрая, она довольно легко взламывается [24], поэтому не стоит ее использовать." Брюс Шнаер, Нильс Фергюсон, "Практичсекая криптография", ISBN 5-8459-0733-0, стр. 108. [24] - это Dobbertin H. Cryptoanalysis of MD4 // J. Cryptology. - 1998. 11(4). - P. 253-271. Пару лет назад в "Компьютерре" писали о найденной уязвимости MD5 на основе коллизий, но она на тот момент была далека от практического применения. |
Автор: Alexandr87 31.5.2008, 05:48 |
судя из описанной ситуации здесь вообще не нужен криптографический хэш: хэш применяется исключительно для ускорения поиска, и никаких функций безопасности не несет. |
Автор: ksili 31.5.2008, 06:15 | ||
Как раз в описанной ситуации (хэширование паролей) нужен именно криптографический хэш. |
Автор: Alexandr87 31.5.2008, 11:48 | ||
ksili,
и чтоже нам даст криптографический хэш в данной ситуации. |
Автор: v2v 31.5.2008, 11:53 | ||
в данной ситуации на скорость больше повлияет перебор/поиск по базе нужных логина / пароля чем сама операция хеширования.
а вообще ты плохо придумал. почитай темы из раздела "Технология защиты". твой протокол обмена очень легко взламывается... |
Автор: REZiaMIX 31.5.2008, 17:46 |
Спасибо за ответы |
Автор: ksili 2.6.2008, 07:40 |
Ну я думаю он помешает сбрутить перехваченный хэш. |
Автор: Alexandr87 2.6.2008, 07:53 |
а зачем его брутить, когда им (непосредственно дайджестом) можно воспользоваться для аутентификации на сервисе. ЗЫ. Вероятнее всего, что хэш подразумевалось использовать не для защиты (потому как защитных функций он не предоставляет), а для уменьшения требуемого машинного времени на сервере при аутентификации. Как проходит поиска по бд: данные хэшируются и на основе их хэша производится быстрый поиск по БД. В данном случае не нужно производить хэш на сервере. В теории это позволяет несущественно уменьшить нагрузку на сервер, в чем по-моему и заключась суть этих манипуляций. |
Автор: ksili 2.6.2008, 09:06 |
в некоторых случаях нужен и сам пароль (когда его будет использовать человек, например, чтобы зайти под чужим логином) С остальным согласен |
Автор: REZiaMIX 8.6.2008, 17:35 | ||
Мне нужен был хеш , 1) Для ускорения поиска 2) Чтобы логин/пасс не передавались "голышом". На данный моммент выбрал MD5
В точку) |