id: Гость   вход   регистрация
текущее время 13:54 23/10/2018
Автор темы: Гость, тема открыта 04/02/2015 23:35 Печать
Категории: криптография, хэширование, случайные числа
http://www.pgpru.com/Форум/Криптография/ИспользованиеХешаВКачествеПроля
создать
просмотр
ссылки

Использование хеша в качестве проля


В другом месте это было бы ОТ, поэтому решился спросить в отдельной теме.


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


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



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


Что думаете?


 
На страницу: 1, 2, 3, 4 След.
Комментарии
— Гость (10/02/2015 17:28)   <#>
В частности, это следует из того, что новая информация не может быть получена из ничего, см. wwwнеравенство обработки данных (DPI). На эту тему wwwстатьи есть:

Во-первых, речь идет за энтропию, или вы таки будете отрицать эффективность конструкции sponge?
Если у вас есть кусок данных, как бы вы его ни меняли и не обрабатывали, вы не сможете увеличить количество информации, которое в нём содержится.
Этим утверждением вы отрицаете возможность получения новых знаний на основе уже имеющихся :)))))
— Гость (10/02/2015 17:51)   <#>

Настоящая энтропия — это и есть информация.


Да, что-то в этом есть. Кажется, в каких-то серьёзных работах от Реннера и Co. этот вопрос обсуждался. Но нужно понимать, что это касается только полностью закрытой изолированной системы. Если мы примем за неё Вселенную, то так и будет.

can we trust ourselves, our freedom of choice, our free will?
— Гость (10/02/2015 18:17)   <#>
Настоящая энтропия — это и есть информация.
Тогда выходит, что sponge самым возмутительным образом способно генерить произвольное количество информации из опять же произвольного количества информации.
это касается только полностью закрытой изолированной системы. Если мы примем за неё Вселенную, то так и будет.
Предлагаю в этом случае исходить из фактических данных.
— Гость (10/02/2015 18:33)   <#>

Не выходит. Там энтропия не настоящая, а вычислительная.
— Гость (10/02/2015 18:39)   <#>
Не выходит. Там энтропия не настоящая, а вычислительная.
Значит этот аргумент здесь приводить не следует, поскольку в данном случае это не правомерно.
— Гость (11/02/2015 09:07)   <#>

Всё тоньше. Если вы не придерживаетесь принципа security through obscurity и потому раскрываете методику генерации паролей, то всё так, DPI даёт вам ответ: невозможно. Если же вы всё же играете в безопасность через неясность, то можно спекулировать об увеличении стойкости, но все аргументы против такого подхода уже сказаны unknown'ом [1], [2]. Если быть более точным, то для второго способа нужно чётко формализовывать, что знает атакующий, что не знает, какая у него будет оптимальная стратегия по взлому и т.д. Если предположить, что это нагромождение предположений сколь-нибудь сносно моделирует реальность, то ответ ищется как оптимальная стратегия в рамках теории игр.

Понятно, что если есть возможность не играться в это полуиллюзорное и зыбкое увеличение безопасности, то это лучше. Здесь используются ровно те же аргументы, как и при подборе словарных паролей [3], [4], [5]: противник составляет игровую стратегию как «перебор от наиболее часто встречающихся трюков при придумывании паролей к более редким», а защищающийся пытается придумать стратегию, которая позволит придумать пароль, который не будет учтён на ранних стадиях перебора атакующим. Каждый пытается перехитрить другого. Итоговые оценки стойкости получаются очень спекулятивными. Именно поэтому настоятельно рекомендуется не обманывать самого себя, а взять RNG, сгенерировать пароль заранее заданной стойоксти, а потом, при необходимости, перекодировать его в более удобно запоминаемый вид (стойкость при этом сохраняется).
— unknown (11/02/2015 09:27, исправлен 11/02/2015 09:29)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664

Энтропия на выходе Sponge ограничена двумя параметрами: энтропией на входе и размером внутреннего состояния хэша (1600 бит в случае Keccak). Т.е., больше 1600 бит энтропии на выходе не бывает в любом случае, а если на вход подали менее 1600 бит, то энтропия выхода будет равна энтропии входа. Всё остальное — вычислительная неразличимость от реальной энтропии. В любом случае, максимум, что потребуется противнику — это сбрутфорсить эти 1600 бит. А во многих сценариях и допущениях и меньше этого.

— Гость (11/02/2015 10:08)   <#>
security through obscurity
тут вовсе не при чем, т.к. пароль это секрет, и как мы его генерим – это наше личное дело, генерация пароля ни разу не является частью криптосхемы. Утечку метода генерации пароля можно считать частичным раскрытием самого пароля.
1600 бит.
Да, конечно. Просто теоретически возможно создать функцию, у которой не будет подобных ограничений.
— Гость (11/02/2015 10:19)   <#>

С бесконечным размером внутреннего состояния хэша? :-)


Системы стараются делать настолько открытыми, насколько это возможно. Метод генерации пароля также полностью раскрывается. Если вы начинаете ещё и его засекречивать, вы двигаетесь в сторону securty thorough obscurity, которая, как уже выше сказал unknown, не масштабируется [1], [2].
— unknown (11/02/2015 10:20, исправлен 11/02/2015 10:23)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664

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



RO нельзя представить реально вычислимой функций, но некоторым хочется считать, что абстракция — это реальность на всех уровнях :-)

— Гость (11/02/2015 11:09)   <#>
Это будет просто экстрактор энтропии (или близкие ему конструкции), а не вычислитель её из ничего.
Если это сделает перебор невыгодным (экономически, энергетически и т.д.) то цель достигнута.
[1], [2].
Ссылки хорошие, но если размер внутреннего состояния защищает ХФ от перебора, то этот подход не канает.
P.S. "защищает ХФ от перебора" = делает перебор невыгодным даже по множеству, много меньшему мощности полного перебора.
— unknown (11/02/2015 11:24)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
Тогда вам надо PBKDF, Scrypt, Lyra и всё такое. Но это только добавляет несколько десятков бит фиктивной вычислительной энтропии к плохому паролю за счёт затруднения перебора.
— gegel (11/02/2015 11:41)   профиль/связь   <#>
комментариев: 391   документов: 4   редакций: 0
нужно чётко формализовывать, что знает атакующий, что не знает, какая у него будет оптимальная стратегия по взлому и т.д.

Это можно рассматривать как дополнительную энтропию, добавляемую к исходной. Отсюда получаем увеличение результирующей энтропии, отмеченное в начале темы. Но, учитывая, что секретность любого алгоритма не кошерна в криптографии, данный путь ведет в никуда.
— Гость (11/02/2015 12:00)   <#>
Но, учитывая, что секретность любого алгоритма не
ну давайте ещё раз – механизм выработки пароля пользователемм НЕ является частью криптосхемы. Если вам так угодно, возьмём тройной хэш и прибавим единичку.
— unknown (11/02/2015 12:09, исправлен 11/02/2015 12:11)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664

Пусть обычная схема: K = H(P) (1)



Пусть такая схема: K = H(H(H(P))) ║ 0x01 (2)


И что даёт (2) по сравнению с (1)?

На страницу: 1, 2, 3, 4 След.
Ваша оценка документа [показать результаты]
-3-2-1 0+1+2+3