История изменений
Исправление Qasta, (текущая версия) :
Специально TL;DR; не хешируйте сообщения ДЛИННЕЕ 2^105 йобибайтов и будет вам счастье.
Теперь чуть подробнее.
Кароч, вспомним молодость :)
Текст ниже не претендует на полноту понимания вспоминания крипты и прочяго.
Алгоритмически идеальная хеш функция должна требовать сложности вычислений для взлома пропорционально 2^n, где n - длина хеша (в данном случае 512). Взломом алгоритма считается всё, что позволяет уменьшить сложность хотя бы в 2 раза (на практике это всё равно будет овердохренакаксложно, но все математики - идеалисты).
Серьезных претензий к стрибогу по сути две:
1. Константы, которые должны быть вроде как сгенерированы абсолютнорандомно согласно белому шуму центра вселенной вроде как «подозрительно не белошумнорандомны». Кароч - подозревают, что вместо cat /dev/random кто-то сделал cat /dev/urandom. Печаль. Даже если действительно сгенерированные случайно константы на самом деле окажутся результатом какой-то хитромудрой функции (что вполне себе может быть на самом деле) - никого не интересует. Есть ли здесь «закладка» и можно ли ей реально пользоваться - никто не скажет.
2. Парни смогли сломать стрибог (вместо 2^512 можно сломать за 2^342 - если сообщение длиннее 2^185 байт и даже «всего лишь» за 2^266 для письма в 2^265 байт). Ну там правда по-пути надо решить её пару плёвых задач - вроде поиска конкретной коллизии на сообщениях длинной в 512 килобайт - ну чтобы атаку «запустить». Кстати, найти её пока получится только полным перебором всех вариантов таких сообщений (или теоретическим перебором всех хешей, что «короче» - 2^512 вместо 2^522), ибо по collision resistance описанной атаки нет - в статье есть лишь ссылка на общее описание атаки на использованный фреймворк, а можно ли его будет применить - хз. Ладно, пусть будет 2^256, как в статье на поиск мультиколлизии.
P.S. Я уже старый и примеры сложнее 2+2 считать без калькулятора разучился. Поправьте, парни, кто «в теме».
Исходная версия Qasta, :
Специально TL;DR; не хешируйте сообщения ДЛИННЕЕ 2^105 йобибайтов и будет вам счастье.
Теперь чуть подробнее.
Кароч, вспомним молодость :)
Текст ниже не претендует на полноту понимания вспоминания крипты и прочяго.
Алгоритмически идеальная хеш функция должна требовать сложности вычислений для взлома пропорционально 2^n, где n - длина хеша (в данном случае 512). Взломом алгоритма считается всё, что позволяет уменьшить сложность хотя бы в 2 раза (на практике это всё равно будет овердохренакаксложно, но все математики - идеалисты).
Серьезных претензий к стрибогу по сути две:
1. Константы, которые должны быть вроде как сгенерированы абсолютнорандомно согласно белому шуму центра вселенной вроде как «подозрительно не белошумнорандомны». Кароч - подозревают, что вместо cat /dev/random кто-то сделал cat /dev/urandom. Печаль. Даже если действительно сгенерированные случайно константы на самом деле окажутся результатом какой-то хитромудрой функции (что вполне себе может быть на самом деле) - никого не интересует. Есть ли здесь «закладка» и можно ли ей реально пользоваться - никто не скажет.
2. Парни смогли сломать стрибог (вместо 2^512 можно сломать за 2^342 - если сообщение длиннее 2^185 байт и даже «всего лишь» за 2^266 для письма в 2^265 байт). Ну там правда по-пути надо решить её пару плёвых задач - вроде поиска конкретной коллизии на сообщениях длинной в 512 килобайт - ну чтобы атаку «запустить». Кстати, найти её пока получится только полным перебором всех вариантов таких сообщений (или теоретическим перебором всех хешей, что «короче» - 2^512 вместо 2^522), ибо по collision resistance описанной атаки нет - в статье есть лишь ссылка на общее описание атаки на использованный фреймворк, а можно ли его будет применить - хз. Ладно, пусть будет 2^256, как в статье на поиск мультиколлизии.
P.S. Я уже старый и примеры сложнее 2+2 считать без калькулятора разучился. Поправьте, парни, кто «в теме».