Рейтинг:0

Как выбираются круглые константы в блочном шифре?

флаг cn

Блочные шифры, которые НЕ ЛЕГКИЙ использовать относительно сложные алгоритмы планирования ключей для повышения их безопасности и предотвращения некоторых известных криптографических атак. В таких шифрах также добавляются константы раунда для устранения симметрий в структуре (если они существуют), но никогда не упоминаются критерии выбора констант раунда.

Как следует выбирать эти константы для любого блочного шифра?

kelalaka avatar
флаг in
Это вопрос удаления поверхности атаки слайд-атак. Однако нужно видеть действие в их расписании.
Рейтинг:0
флаг fr

Константы, используемые в блочном шифре, как и во многих других симметричных криптографических алгоритмах, зависят от того, что требуется алгоритму с точки зрения безопасности. Для блочных шифров в наиболее распространенных конструкциях используются S-блоки и константы округления.

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

Обычно, если не предоставлено объяснение, константы обычно генерируются из какой-то известной константы или шаблона. Например, MD5 использует $ грех (х) $, SHA-2 использует квадратные и кубические корни, а многочисленные алгоритмы используют $ \пи $, $ е $, или же $ \ фи $, и ожидается, что читатель узнает эти константы. (Ни MD5, ни SHA-2 не являются блочными шифрами, но применяется тот же принцип.) Например, SEED использует $ \ фи $.

В некоторых алгоритмах, таких как перестановка Sparkle (которая также не является блочным шифром), константы выбираются дополнительно, поскольку они обладают некоторым полезным свойством (в данном случае устойчивостью к дифференциальным атакам), и таким образом генерируются константы и те, которые не t удовлетворяют требованиям, отклоняются до тех пор, пока не будет найдено достаточное количество. Читатель статьи обычно имеет то же программное обеспечение, которое используется для проверки этих констант, и может убедиться, что выбранные константы действительно являются первыми, которые соответствуют критериям.

Для S-блоков все обычно аналогично, за исключением того, что в некоторых случаях может быть желательно избегать фиксированных точек или чтобы период орбиты был максимальным. Иногда полезно эффективно вычисляемое обратное (как в SAFER). Опять же, они обычно генерируются из какой-то известной константы, и если генерация нетривиальна, обычно включается программное обеспечение или алгоритм, чтобы продемонстрировать отсутствие лазеек.

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

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.