Использование хеша в качестве проля
В другом месте это было бы ОТ, поэтому решился спросить в отдельной теме.
Был задан вопрос и получен отрицательный ответ, включающий нужные ссылки (премного благодарен).
Но позвольте, пожалуйста, все-таки, развить вопрос о том, насколько безопасно использовать в качестве пароля к контейнеру следующий хеш
Исхожу из того, что хеш необратим. Тогда на входе у нас есть, как минимум, полный словарный фонд всех языков, а на выходе 128 знаков в шестнадцатиричной системе. Помоему, противник замучается взламывать хоть вход, хоть выход.
Что думаете?
Во-первых, речь идет за энтропию, или вы таки будете отрицать эффективность конструкции sponge?
Этим утверждением вы отрицаете возможность получения новых знаний на основе уже имеющихся :)))))
Настоящая энтропия — это и есть информация.
Да, что-то в этом есть. Кажется, в каких-то серьёзных работах от Реннера и Co. этот вопрос обсуждался. Но нужно понимать, что это касается только полностью закрытой изолированной системы. Если мы примем за неё Вселенную, то так и будет.
Предлагаю в этом случае исходить из фактических данных.
Не выходит. Там энтропия не настоящая, а вычислительная.
Всё тоньше. Если вы не придерживаетесь принципа security through obscurity и потому раскрываете методику генерации паролей, то всё так, DPI даёт вам ответ: невозможно. Если же вы всё же играете в безопасность через неясность, то можно спекулировать об увеличении стойкости, но все аргументы против такого подхода уже сказаны unknown'ом [1], [2]. Если быть более точным, то для второго способа нужно чётко формализовывать, что знает атакующий, что не знает, какая у него будет оптимальная стратегия по взлому и т.д. Если предположить, что это нагромождение предположений сколь-нибудь сносно моделирует реальность, то ответ ищется как оптимальная стратегия в рамках теории игр.
Понятно, что если есть возможность не играться в это полуиллюзорное и зыбкое увеличение безопасности, то это лучше. Здесь используются ровно те же аргументы, как и при подборе словарных паролей [3], [4], [5]: противник составляет игровую стратегию как «перебор от наиболее часто встречающихся трюков при придумывании паролей к более редким», а защищающийся пытается придумать стратегию, которая позволит придумать пароль, который не будет учтён на ранних стадиях перебора атакующим. Каждый пытается перехитрить другого. Итоговые оценки стойкости получаются очень спекулятивными. Именно поэтому настоятельно рекомендуется не обманывать самого себя, а взять RNG, сгенерировать пароль заранее заданной стойоксти, а потом, при необходимости, перекодировать его в более удобно запоминаемый вид (стойкость при этом сохраняется).
комментариев: 9796 документов: 488 редакций: 5664
Энтропия на выходе Sponge ограничена двумя параметрами: энтропией на входе и размером внутреннего состояния хэша (1600 бит в случае Keccak). Т.е., больше 1600 бит энтропии на выходе не бывает в любом случае, а если на вход подали менее 1600 бит, то энтропия выхода будет равна энтропии входа. Всё остальное — вычислительная неразличимость от реальной энтропии. В любом случае, максимум, что потребуется противнику — это сбрутфорсить эти 1600 бит. А во многих сценариях и допущениях и меньше этого.
Да, конечно. Просто теоретически возможно создать функцию, у которой не будет подобных ограничений.
С бесконечным размером внутреннего состояния хэша? :-)
Системы стараются делать настолько открытыми, насколько это возможно. Метод генерации пароля также полностью раскрывается. Если вы начинаете ещё и его засекречивать, вы двигаетесь в сторону securty thorough obscurity, которая, как уже выше сказал unknown, не масштабируется [1], [2].
комментариев: 9796 документов: 488 редакций: 5664
И у неё будет квадратичный рост памяти и количества вычислений в зависимости от размера входных данных? Даже если и (не) так, то энтропия выхода будет равна энтропии входа (или даже чуть меньше). Это будет просто экстрактор энтропии (или близкие ему конструкции), а не вычислитель её из ничего.
RO нельзя представить реально вычислимой функций, но некоторым хочется считать, что абстракция — это реальность на всех уровнях :-)
Ссылки хорошие, но если размер внутреннего состояния защищает ХФ от перебора, то этот подход не канает.
P.S. "защищает ХФ от перебора" = делает перебор невыгодным даже по множеству, много меньшему мощности полного перебора.
комментариев: 9796 документов: 488 редакций: 5664
комментариев: 393 документов: 4 редакций: 0
Это можно рассматривать как дополнительную энтропию, добавляемую к исходной. Отсюда получаем увеличение результирующей энтропии, отмеченное в начале темы. Но, учитывая, что секретность любого алгоритма не кошерна в криптографии, данный путь ведет в никуда.
комментариев: 9796 документов: 488 редакций: 5664
Пусть обычная схема: K = H(P) (1)
Пусть такая схема: K = H(H(H(P))) ║ 0x01 (2)
И что даёт (2) по сравнению с (1)?