| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Алгоритмы > Посоветуйте крипто-алгоритм. |
| Автор: En_t_end 18.1.2007, 17:26 |
| Задача: Аутентификация и работа с пользователями приватно по сети. Проблемы: 1. Хранение паролей пользователей на машине аутентифицирующей пользователей. 2. Соб-венно сам алгоритм крипто-обмена. Подробнее: 1. У меня было желание хранить пароли пользователей в виде однозначно сгенирированных хешей. Но, почитал в инете, оказывается хеш-методы крайне неусточивы к BruteForce-методам взлома. 2. Хочу, чтобы алгоритм работал блочно, т.е. если был блок информации 128 бит то после приминения крипто-алгоритма, он на другом конце имел тот же размер. Я задал эти два вопроса в одной теме, потому что хочу решить их близко к друг другу, если это возможно.Посоветуйте какой алгоритм выбрать. |
| Автор: En_t_end 18.1.2007, 17:43 | ||||
Snowy,
3-ий отсекается точно. А вот что лучше хранить хеш или шифрованный пароль, всё же ?
да Добавлено @ 17:44 Из всех зол мне нужно выбрать меньшее. |
| Автор: Snowy 18.1.2007, 17:58 |
| Ну тогда, что касается хранения - самый параноидальный вариант - хранить шифрованный хэш Что касается алгоритма, то в твоём случае это явно не блочный, а как раз поточный алгоритм. ИМХО RC4 - самое оно. |
| Автор: En_t_end 18.1.2007, 18:04 |
| Snowy, Спасибо! А в чем хранить ключ к шифрованному хешу ? уже читаю http://ru.wikipedia.org/wiki/RC4. Жду ещё варианты. |
| Автор: Snowy 18.1.2007, 18:06 |
| В программе! Зашить насмерть Вот, буквально с утра тема была: http://forum.vingrad.ru/topic-132588.html |
| Автор: En_t_end 18.1.2007, 18:19 |
| Snowy, млин RC4 под лицензией. А тут ещЁ http://bugtraq.ru/cgi-bin/forum.mcgi?type=sb&b=15&m=18553 Получается совсем как-то плохо. Добавлено @ 18:25 Издеваешься ? даже я смогу выдрать из программы ключ. Нет уж, лучше просто хеш. |
| Автор: Snowy 18.1.2007, 18:25 |
| Это не страшно. За его использование уже уплочено при покупке винды. Возьми тот же SSL. Он бесплатен. А юзает тот же RC4 и RSA. Возможно, что патент уже и не действует вовсе. |
| Автор: sergejzr 18.1.2007, 18:29 | ||||
Неустойчивые? Есть алгоритмы поиска корреляций, но не забываем, что совпадения только у очень длинных строк. Да и то, что даст похожий хэш вряд ли будет состоять из букв и чисел. Я к чему клоню. Если сделаешь ограничение на пароль, чтобы был не длиннее А и не короче Б, и будешь длину пароля всегда проверять, то вероятность найти корреляцию практически равна нулю. А если подумать, что хэш - слово из 32 букв, то любое другое слово < 32 букв даст практически однозначный результат, если прогнать его через хэш функцию. А это означает перебор и несколько десятков лет для атакующего. Т.е проверяй длину пароля, чтобы небыло спецсимволов и используй обыкновенный md5. А насчёт шифрования, так одна проблема - где хранить ключи. А самая большая проблема - если кто нибудь пароли из базы в чистом виде опубликует, доказать, что это не ты опубликовал. Поэтому надо пользовать хэш, да и желательно прибавлять какой нибудь salt, для того чтобы однозначно показать, что настоящие пароли ты при всём желании восстановить не сможешь. Короче говоря можешь со спокойной душой использовать нижеприведённую схему (На псевдоязыке):
|
| Автор: En_t_end 18.1.2007, 18:29 |
хы-хы... |
| Автор: Snowy 18.1.2007, 18:29 |
| ну это ещё спорно. Много ньюансов. Можно в качестве ключа взять любые данные. Например серийник биоса или любую стандартную ветку из реестра. Чем же просто хэш лучше, чем скрытый хэш? Добавлено @ 18:30 А это уже проблема того, кто будет юзать сервер. Если винда не куплена, то это бОльшая проблема, чем юзанье RC4 В любом случае это уже проблема не софта, а юзера. |
| Автор: En_t_end 18.1.2007, 18:31 |
| sergejzr, спасибо. |
| Автор: sergejzr 18.1.2007, 18:32 |
| Я немного подправил. Добавил проверку на символы. |
| Автор: En_t_end 18.1.2007, 18:40 |
| Snowy, я следую философии независимости от платформы(посему разные интересные вещи, типа получения значений веток реестра и серийника харда мне не помогут). Стараюсь следовать. Windows меня интересует, только как friendly-user платформа. Но это тема отдельного треда. Спасибо, я что-то подобное себе и представлял. Однако псевдокод не помешает |
| Автор: Snowy 18.1.2007, 18:43 |
| Кстати. Сходил на сайт RSA Security Inc. Никакого упоминания о лицензии вообще нет. Возможно в вики устаревшие данные. Сколько его юзаю, ни разу не слышал о лицензионных ограничениях. Только об ограничении на длину ключа. Но это ограничения законодательные, а не алгоритма. |
| Автор: En_t_end 19.1.2007, 15:56 | ||
Появилась какая-то псевдопроблема с пересылкой информации для установления защищенного соединения. Вообщем, как мне наиболее безболезненно послать пароль по сети серверу. Не в чистом ведь виде ?
|
| Автор: W4FhLF 19.1.2007, 16:12 |
| Продолжение... http://forum.vingrad.ru/topic-132852/0.html#entry1004194 |