Означает ли безопасность Skein как хеша безопасность Threefish как блочного шифра? - PullRequest
4 голосов
/ 06 мая 2009

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

Ответы [ 2 ]

5 голосов
/ 09 мая 2009

Неа. Безопасность Скейна не подразумевает безопасность Трифиша. Положительно говоря, если кто-то обнаружит слабость в Threefish, то это не означает, что Скейн также небезопасен.

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

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

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

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

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

0 голосов
/ 06 мая 2009

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

...