The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Быстрая хеш-функция HighwayHash и развитие SipHash от Google"
Отправлено Аноним, 04-Мрт-16 11:32 
> а кто вас просит один ключ использовать?, я же привёл пример тупо
> шифровать пароль самим паролем в виде ключа шифрования.

Ты это серьезно? Выше уже все расписали, но все равно я не могу мимо этого пройти (вдруг кто-то не поймет сказанное выше).

Два юзера с одинаковым паролем, например abc123. Мы знаем алгоритм шифрования, знаем и ключ. Для одинаковых паролей будет одинаковый результат шифрования. Строим радужную таблицу по словарику и вытягиваем ~60% паролей за один проход.

> Хорошо давайте иначе
> посмотрим на проблему - генерить случайные ключи шифрования, но их придётся
> где то хранить как и в случае с вашей солью -
> она также хранится в базе в месте с хешом, и брутфорс
> тем самым работает обычным методом, как если бы не было бы
> соли у хеша. Разница лишь в том, что в моём случае
> это алгоритм симметричного шифрования, в вашем случае - односторонняя (хеш) функция,
> и оба ломаются брутфорсом.

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

А если использовать "случайные" ключи шифрования - опять таки, если они утекут, то собственно всё, никакого брутфорса не нужно. Дописывать "открытую" соль к "секретному" ключу шифрования? Тут нужно проводить исследования, насколько это безопасно. В таких тонких вопросах мелочей не бывает, поэтому я предпочитаю не изобретать велосипед и использовать рекомендованный подход, против которого я пока аргументов не слышал (динамическая, соль хранится рядом с хешом пароля). Да и собственно зачем хранить заведомо обратимые данные (да, при соблюдении многих условий, но все же), если нам по сути нужно их только сравнивать для авторизации?

> Существование односторонних функций до сих пор не доказано. Так, что вся ваша
> мат сложность упрётся в железо.

Вопросов нет, через 1000 лет, если человечество выживет, современные крипто-хеши будут взламываться за миллисекунды контроллером USB 100500.3.rev12. Вопрос стоит - насколько сложно это сделать в обозримом будущем. Для этого и нужна медленная хеш-функция, чтобы подбор одного пароля занимал непозволительно много времени.

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

Взломали конечно не видеокарты. Но время на "взлом" сократилось ЕМНИП не на один порядок.


> Тот же шифр  Вернама никакой брутфорс вам его не взломает ) и доказана его
> стойкость.

угу, только нужно каждый раз использовать новый ключ. Если используется один ключ и мы знаем переданное и зашифрованное сообщение, то раскрыть все остальные сообщения - задача для 7-го класса (вопрос с паролями, например). Плюс сегодняшние технологии, КМК, не оставляют данному шифру шансов - мы получаем большое количество потенциальных расшифровок, и уже методами лингвистического анализа можно попробовать отсеять большинство неверных. Далее наверно все-таки "ручная фильтрация", т.к. осмысленность текста пока машина не в состоянии определить. Т.е. при наличии ресурсов (не таких уж и больших, кстати) вполне можно добиться результата. Но заметь, на криптостойкость алгоритма я не покушаюсь.

> приведите пример как можно а+б состоящей из одной операции превратить в довольнно
> сложную конструкцию операций, чтобы не было возможности сокращения всей конструкции формул
> до простого а+б.

Значит нужно делать не a+b, а например (a+b)^a*sqrt(b%sin(a)) и т.д.

> плюс один из важных моментов - атака по времени, её тож нуно
> учитывать.

sleep(random(100,500)) например

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру