Я занимался некоторыми предварительными исследованиями в области дайджестов сообщений. В частности, атаки на криптографические хеш-функции, такие как MD5 и SHA-1, такие как Postscript example и X.509 certificate duplicate.Атаки на столкновение, дайджесты сообщений и возможное решение
Из того, что я могу сказать в случае атаки постскриптума, определенные данные были сгенерированы и встроены в заголовок файла postscript (который игнорируется во время рендеринга), что привело к внутреннему состоянию md5 в состояние, такое как что измененная формулировка документа приведет к окончательному значению МД, эквивалентному исходному файлу postscript. X.509 придерживался аналогичного подхода, когда данные вводились в секции комментариев/пробелов сертификата.
Ok так вот мой вопрос, и я не могу найти кто задает этот вопрос:
Почему не длина ТОЛЬКО данных потребляются добавляются в качестве последнего блока к расчету MD?
В случае X.509 - Почему пробелы и комментарии принимаются во внимание как часть MD?
простые процессы, такие как один из следующих быть достаточно, чтобы решить предложенные столкновения атаки:
- MD (M + | M |) = XYZ
- MD (M + | M | + | M | * magicseed_0 + ... + | M | * magicseed_n) = хуг
где:
- M: есть сообщение
- | M | : размер сообщения
- MD: это функция дайджеста сообщения (например: md5, sha, whirlpool и т. д.)
- xyz: является спариванием значения дайджестов сообщения acutal для сообщения M и | M |. < M, | M | >
- magicseed_ {i}: представляет собой набор случайных значений, сгенерированных семенами, на основе внутреннего состояния до добавления размера.
Этот technqiue должен работать, поскольку на сегодняшний день все подобные атаки на столкновение основаны на добавлении большего количества данных в исходное сообщение.
Короче говоря, уровень сложности, участвующих в генерации сообщения столкновений, что:
- Это не только порождает тот же MD
- Но также приемлем/parsible/совместимый
- , а также того же размера, что и исходное сообщение,
очень сложно, если не невозможно. Этот подход когда-либо обсуждался? Любые ссылки на документы и т. Д. Были бы приятными.
Дальнейший вопрос: Какова нижняя граница для столкновений сообщений общей длины для хеш-функции H, выбранной случайным образом из U, где U - множество универсальных хеш-функций?
Это 1/N (где N равно 2^(| M |)) или оно больше? Если это больше, это означает, что имеется более 1 сообщения длины N, которое будет отображаться на одно и то же значение MD для данного H.
Если это так, то насколько практично найти эти другие сообщения? bruteforce будет от O (2^N), существует ли метод временной сложности менее грубой силы?
Поскольку это исследовательский/теоретический вопрос, вы можете перенести его на http://cstheory.stackexchange.com/ –
Только для 5 лучших альтернативных сайтов, к сожалению, cstheory не является одним из них. Тем не менее, у меня есть пол ответа. –