Письмо, которое я написал в список рассылки SHA-3 в 2010 году: От: Зуко О'Уилекронкс Кому: hash-forum Дата: 2010-10-14 03:46 UTC Друзья: Если хеш имеет 32-битную стойкость к предобразам, это означает, что злоумышленник может потратить около 2³² ресурсов, чтобы найти предобраз. Если хеш имеет 64-битную стойкость к предобразам, это означает, что злоумышленник может потратить около 2⁶⁴ ресурсов, чтобы найти предобраз. Что если хеш имеет 512-битную стойкость к предобразам? Что это будет означать? Что злоумышленник может потратить около 2⁵¹² ресурсов, чтобы найти предобраз в нем? Это бессмысленная возможность для обсуждения, поскольку 2⁵¹² ресурсов никогда не будет в жизни этой вселенной, так что это не может означать этого, или если это действительно так, то нет смысла говорить о "512-битной стойкости к предобразам". Может быть, это означает что-то другое? По аналогии, предположим, вы рассматриваете строительство моста, который выдерживает 10³ тонн давления. Вы также можете рассмотреть мост, который может выдержать 10⁶ тонн давления. Если мост будет развернут в ситуации, где на него может давить более 10³ тонн, но менее 10⁶ тонн, тогда это будет очень важное различие. Но что будет означать обсуждение дизайна моста, который мог бы выдержать 10¹⁵⁰ тонн давления? Такое количество давления никогда не может быть приложено к мосту. Будет ли какая-либо ценность в различии между одним дизайном моста, который выдержит 10¹⁵⁰ тонн давления, и другим, который выдержит 10³⁰⁰? Хотя ни один из них никогда не сможет испытать давление в 10¹⁵⁰ тонн, возможно, последний мост все равно будет безопаснее против какой-то другой угрозы — ошибки со стороны строителей или проектировщиков или стрессового события, которое не было включено в модель, которую мы использовали для оценки наших мостов в первую очередь. Или, возможно, нет. Возможно, мост, который спроектирован для выдерживания 10³⁰⁰ тонн давления, на самом деле более вероятно потерпит неудачу, чем другой, когда столкнется с этим непредсказанным, немоделируемым событием. Кто может сказать? Одной разумной позицией является то, что было ошибкой для NIST указать, что некоторые из хешей SHA-3 должны иметь 512-битную стойкость к предобразам. (Если это была ошибка, то я действительно не знаю, что с этим делать на данном этапе!) Эта позиция говорит о том, что существует необходимость в хеш-функции, которая требует гораздо больше времени ЦП, чем SHA-3-256, чтобы обеспечить гораздо меньшую вероятность того, что злоумышленник сможет найти предобраз в ней, чем в SHA-3-256, но что эта "гораздо меньшая вероятность" не имеет никакого значимого смысла, связанного с идеей "512-битной стойкости к предобразам". Еще одной разумной позицией является то, что хеш-функция, которая известна как имеющая не более 384-битной стойкости к предобразам, более вероятно потерпит неудачу, чем та, которая известна как имеющая не более 512-битной стойкости к предобразам. Здесь заканчивается мое ограниченное понимание криптоанализа хеш-функций. Это правдоподобно? Если я дам вам две такие хеш-функции, уверены ли вы, что сможете научиться находить предобразы в первой, прежде чем найдете предобразы во второй? Насколько вы уверены? Возможно ли, что все будет наоборот — что вы обнаружите метод нахождения предобразов во второй, прежде чем обнаружите метод нахождения предобразов в первой? Если кто-то, кто действительно обладает экспертизой в криптоанализе хеш-функций и кто занимает последнюю позицию, мог бы объяснить, что они имеют в виду под "более вероятно потерпеть неудачу", тогда мне было бы интересно это услышать. В любом случае, я довольно уверен, что как пользователь хеш-функций, меня интересует "более вероятно потерпеть неудачу" (и эффективность), а не "биты безопасности" для любого уровня битов больше примерно 128 (включая рассмотрение квантовых атак, многотаргетных атак и т. д.). Спасибо, что нашли время это прочитать. С уважением, Зуко Уилкокс-О'Хирн
4,78K