Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Посоветуйте крипто-алгоритм. 
:(
    Опции темы
En_t_end
Дата 18.1.2007, 17:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2074
Регистрация: 4.12.2004

Репутация: нет
Всего: 20



Задача:
Аутентификация и работа с пользователями приватно по сети.
Проблемы:
1. Хранение паролей пользователей на машине аутентифицирующей пользователей.
2. Соб-венно сам алгоритм крипто-обмена.
Подробнее:
1. У меня было желание хранить пароли пользователей в виде однозначно сгенирированных хешей. Но, почитал в инете, оказывается хеш-методы крайне неусточивы к BruteForce-методам взлома.
2. Хочу, чтобы алгоритм работал блочно, т.е. если был блок информации 128 бит то после приминения крипто-алгоритма, он на другом конце имел тот же размер.
Я задал эти два вопроса в одной теме, потому что хочу решить их близко к друг другу, если это возможно.Посоветуйте какой алгоритм выбрать.

PM MAIL ICQ Skype GTalk Jabber   Вверх
Snowy
Дата 18.1.2007, 17:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 2
Всего: 484



Цитата(En_t_end @  18.1.2007,  17:26 Найти цитируемый пост)
Хранение паролей пользователей на машине аутентифицирующей пользователей.
Храниение паролей всегда небезопасно.
Варианта 3: хранить хэш / хранить шифрованный пароль / хранить в открытом виде

Цитата(En_t_end @  18.1.2007,  17:26 Найти цитируемый пост)
Хочу, чтобы алгоритм работал блочно, т.е. если был блок информации 128 бит то после приминения крипто-алгоритма, он на другом конце имел тот же размер.
Непонятно...
При дешифровке информация восстанавливается один к одному.
Или ты имел ввиду, что шифрованные данные должны иметь тот же размер, что и не шифрованные?
PM MAIL   Вверх
En_t_end
Дата 18.1.2007, 17:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2074
Регистрация: 4.12.2004

Репутация: нет
Всего: 20



Snowy, 
Цитата(Snowy @  18.1.2007,  21:38 Найти цитируемый пост)
Варианта 3: хранить хэш / хранить шифрованный пароль / хранить в открытом виде

3-ий отсекается точно. А вот что лучше хранить хеш или шифрованный пароль, всё же ?
Цитата(Snowy @  18.1.2007,  21:38 Найти цитируемый пост)
Или ты имел ввиду, что шифрованные данные должны иметь тот же размер, что и не шифрованные?

да

Добавлено @ 17:44 
Цитата(Snowy @  18.1.2007,  21:38 Найти цитируемый пост)
Храниение паролей всегда небезопасно

Из всех зол мне нужно выбрать меньшее.
PM MAIL ICQ Skype GTalk Jabber   Вверх
Snowy
Дата 18.1.2007, 17:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 2
Всего: 484



Ну тогда, что касается хранения - самый параноидальный вариант - хранить шифрованный хэш smile

Что касается алгоритма, то в твоём случае это явно не блочный, а как раз поточный алгоритм.
ИМХО RC4 - самое оно.
PM MAIL   Вверх
En_t_end
Дата 18.1.2007, 18:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2074
Регистрация: 4.12.2004

Репутация: нет
Всего: 20



Snowy, 
Спасибо!
Цитата(Snowy @  18.1.2007,  21:58 Найти цитируемый пост)
 хранить шифрованный хэш

А в чем хранить ключ к шифрованному хешу ? smile тут блин кольцевая проблема... наверное выберу просто хеш, только больший по размеру.
Цитата(Snowy @  18.1.2007,  21:58 Найти цитируемый пост)
ИМХО RC4 - самое оно.

уже читаю http://ru.wikipedia.org/wiki/RC4.
Жду ещё варианты.


PM MAIL ICQ Skype GTalk Jabber   Вверх
Snowy
Дата 18.1.2007, 18:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 2
Всего: 484



Цитата(En_t_end @  18.1.2007,  18:04 Найти цитируемый пост)
А в чем хранить ключ к шифрованному хешу
В программе! Зашить насмерть smile

Вот, буквально с утра тема была: http://forum.vingrad.ru/topic-132588.html
PM MAIL   Вверх
En_t_end
Дата 18.1.2007, 18:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2074
Регистрация: 4.12.2004

Репутация: нет
Всего: 20



Snowy, 
млин RC4 под лицензией. А тут ещЁ
http://bugtraq.ru/cgi-bin/forum.mcgi?type=...=15&m=18553
Получается совсем как-то плохо.

Добавлено @ 18:25 
Цитата(Snowy @  18.1.2007,  22:06 Найти цитируемый пост)
В программе! Зашить насмерть

Издеваешься ? даже я смогу выдрать из программы ключ. 
Нет уж, лучше просто хеш.

PM MAIL ICQ Skype GTalk Jabber   Вверх
Snowy
Дата 18.1.2007, 18:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 2
Всего: 484



Цитата(En_t_end @  18.1.2007,  18:19 Найти цитируемый пост)
RC4 под лицензией
Это не страшно.
За его использование уже уплочено при покупке винды.
Возьми тот же SSL. Он бесплатен. А юзает тот же RC4 и RSA.
Возможно, что патент уже и не действует вовсе.
PM MAIL   Вверх
sergejzr
Дата 18.1.2007, 18:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 4
Всего: 360



Цитата(En_t_end @  18.1.2007,  16:26 Найти цитируемый пост)
У меня было желание хранить пароли пользователей в виде однозначно сгенирированных хешей. Но, почитал в инете, оказывается хеш-методы крайне неусточивы к BruteForce-методам взлома.

Неустойчивые? Есть алгоритмы поиска корреляций, но не забываем, что совпадения только у очень длинных строк. Да и то, что даст похожий хэш вряд ли будет состоять из букв и чисел.

Я к чему клоню. Если сделаешь ограничение на пароль, чтобы был  не длиннее А и не короче Б, и будешь длину пароля всегда проверять, то вероятность найти корреляцию практически равна нулю. А если подумать, что хэш - слово из 32 букв, то любое другое слово < 32 букв даст практически однозначный результат, если прогнать его через хэш функцию. А это означает перебор и несколько десятков лет для атакующего.

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

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


Короче говоря можешь со спокойной душой использовать нижеприведённую схему (На псевдоязыке):
Код

bool register(name,parol)
{
  if(!parolCheck(parol)) return false
  putInDatabase(user, generate_hash(parol));
  return true;
}
bool isAuthorised(name, parol)
{
  return parolCheck(parol) && ( generate_hash(parol) == getHashFromDatabase(name) );
}

bool parolCheck(parol)
{
  min_parol=4
  max_parol=8
  return parolContainsOnlyAllowedCharacters(parol) && length(parol)<min_parol && length(parol)>max_parol;
 
}
generate_hash(parol)
{
salt="xxx1234";
return hash=md5(parol+salt);
}



--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
En_t_end
Дата 18.1.2007, 18:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2074
Регистрация: 4.12.2004

Репутация: нет
Всего: 20



Цитата(Snowy @  18.1.2007,  22:25 Найти цитируемый пост)
За его использование уже уплочено при покупке винды.

хы-хы...
PM MAIL ICQ Skype GTalk Jabber   Вверх
Snowy
Дата 18.1.2007, 18:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 2
Всего: 484



Цитата(En_t_end @  18.1.2007,  18:19 Найти цитируемый пост)
Издеваешься ? даже я смогу выдрать из программы ключ. 
ну это ещё спорно. Много ньюансов.
Можно в качестве ключа взять любые данные. Например серийник биоса или любую стандартную ветку из реестра.

Цитата(En_t_end @  18.1.2007,  18:19 Найти цитируемый пост)
Нет уж, лучше просто хеш.
Чем же просто хэш лучше, чем скрытый хэш?

Добавлено @ 18:30 
Цитата(En_t_end @  18.1.2007,  18:29 Найти цитируемый пост)
хы-хы...
А это уже проблема того, кто будет юзать сервер.
Если винда не куплена, то это бОльшая проблема, чем юзанье RC4 smile
В любом случае это уже проблема не софта, а юзера.
PM MAIL   Вверх
En_t_end
Дата 18.1.2007, 18:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2074
Регистрация: 4.12.2004

Репутация: нет
Всего: 20



sergejzr, 
спасибо.
PM MAIL ICQ Skype GTalk Jabber   Вверх
sergejzr
Дата 18.1.2007, 18:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 4
Всего: 360



Я немного подправил. Добавил проверку на символы.


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
En_t_end
Дата 18.1.2007, 18:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2074
Регистрация: 4.12.2004

Репутация: нет
Всего: 20



Snowy, 
я следую философии независимости от платформы(посему разные интересные вещи, типа получения значений веток реестра и серийника харда мне не помогут). Стараюсь следовать. Windows меня интересует, только как friendly-user платформа. Но это тема отдельного треда.
Цитата(sergejzr @  18.1.2007,  22:29 Найти цитируемый пост)
salt

Спасибо, я что-то подобное себе и представлял. Однако псевдокод не помешает

PM MAIL ICQ Skype GTalk Jabber   Вверх
Snowy
Дата 18.1.2007, 18:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 2
Всего: 484



Кстати. Сходил на сайт  RSA Security Inc.
Никакого упоминания о лицензии вообще нет.
Возможно в вики устаревшие данные.
Сколько его юзаю, ни разу не слышал о лицензионных ограничениях.
Только об ограничении на длину ключа.
Но это ограничения законодательные, а не алгоритма.
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0587 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.