Подразумевает ли безопасность Skein в качестве хэша безопасность Threefish в качестве блочного шифра?

StackOverflow https://stackoverflow.com/questions/827989

Вопрос

Тот Самый Моток окрошки предложенный для SHA-3, может похвастаться некоторыми впечатляющими результатами по скорости, которые, как я подозреваю, были бы применимы для блочного шифра Threefish, лежащего в его основе, - но, если Skein одобрен для SHA-3, будет ли это означать, что Threefish также считается безопасным?То есть будет ли какая-либо уязвимость в Threefish подразумевать уязвимость в SHA-3?(и, таким образом, отсутствие известных проблем и общее доверие к SHA-3 подразумевают то же самое для Threefish)

Это было полезно?

Решение

Нет.Безопасность мотка не означает безопасность Threefish.Положительно, если кто-то находит слабое место в Threefish, то это не означает, что Skein тоже небезопасен.

Вопрос, однако, весьма интересен и применим и к другим хэш-функциям.Скейн использует конструкцию Дэвиса-Мейера с некоторыми изменениями.MD5, SHA1 и многие другие хэш-функции также используют эту конструкцию Дэвиса-Мейера и, следовательно, в принципе основаны на блочном шифре.На всякий случай MD5 или SHA1 у этого блочного шифра нет имени, и я не знаю большого количества исследований о том, насколько подходят эти конструкции.

Требования к хорошему блочному шифру и к хорошей хэш-функции различны.Несколько упрощенный, если E является блочным шифром и невозможно найти два ключа K, K' и два сообщения M, M', такие, что EK(M) xor M = EК'(M') xor M', тогда E подходит для построения хэш-функции с использованием Davis-Meyer.Но для обеспечения безопасности в качестве блочного шифра E потребовались бы другие свойства.E должен был бы противостоять атакам с выбранным зашифрованным текстом, атакам с выбранным открытым текстом и т.д.

Кроме того, если E является хорошим блочным шифром, то это также не означает, что он дает хорошую хэш-функцию.Microsoft пришлось научиться этому на собственном горьком опыте с помощью хэша, который они использовали в XBOX.Этот хэш был основан на блочном шифре TEA, который имел слабое место, незначительное для блочного шифра, но оказавшееся фатальным при использовании для хэш-функции.

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

Позвольте мне также добавить, что некоторые предложения по SHA-3 основаны на AES.До сих пор я не видел большой поддержки в пользу хэш-функций на основе AES, просто потому, что AES уже является стандартом.Эти хэш-функции анализируются так же, как и любое другое предложение SHA-3.

Другие советы

Не обращайте внимания на мой предыдущий ответ. Я неправильно понял отношения между Скейном и Трифишем. Я до сих пор не думаю, что одобрение Skein абсолютно доказывает, что Threefish в целом безопасен (возможно, Threefish безопасен только при использовании определенным образом), но это будет указанием.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top