Прошел экстерном экзамен по курсу перепордготовки "Информационная безопасность". Хочу получить диплом, но не вижу где оплатить? Ну и соответственно , как с получением бумажного документа? |
Алгоритмы симметричного шифрования. Часть 3. Разработка Advanced Encryption Standard (AES)
Резерв безопасности
NIST планирует оценить вероятность того, что будут найдены короткие аналитические атаки на рассматриваемые алгоритмы со всеми указанными для них раундами в ближайшие несколько десятилетий или атаки на ключ с помощью простого перебора станут практически возможными. Тем не менее, достаточно трудно экстраполировать данные для вариантов с уменьшенным числом раундов для реальных алгоритмов. Атаки на варианты с уменьшенным числом раундов не представляют практического интереса для атакующего, так как требуют большого количества ресурсов и поэтому более трудны для выполнения, чем экстенсивный перебор всех ключей. Более того, даже если короткая атака на упрощенный вариант имеет успех, исходный алгоритм может оставаться в безопасности.
Тем не менее, техника атак будет совершенствоваться, и ресурсов, доступных для их выполнения, будет больше, поэтому следует проявлять большую осмотрительность при выборе алгоритмов, предпочитая больший резерв безопасности. Если уже незначительное упрощение допускает атаку на некоторый алгоритм, а другой алгоритм может быть атакован при большем упрощении, то это говорит о том, что второй алгоритм имеет больший резерв безопасности. Упрощение, состоящее в уменьшении числа раундов, вполне целесообразно, потому что большинство атак, дифференциальный и линейный криптоанализ могут быть эффективно остановлены, если число раундов будет достаточно большим. Следовательно, полное число раундов, указанное для алгоритма, сравнивается с наибольшим числом раундов, для которого в настоящий момент существует атака. Отношение этих чисел определяется как "фактор безопасности" и вычисляется для каждого кандидата.
Существует несколько проблем, касающихся данной метрики. В общем случае результаты оказывают влияние на алгоритмы, для которых была проведена большая проверка в ограниченный период анализа. Это, вероятно, может произойти, если конкретный алгоритм является или, по крайней мере, кажется более простым при проверке на определенные атаки. Другим фактором может быть происхождение алгоритма и выбранные им технологии, а также существование ранее разработанных атак. Предложенная метрика может быть недостаточно хорошим критерием относительно сопротивляемости алгоритмов новым и неизвестным технологиям атак.
Разработка метрики основана на небольшом числе раундов, атаки на которые в настоящий момент технически возможны. Не существует исходного определения количества анализируемых раундов или даже общего числа раундов, определенного для каждого алгоритма. Например, должно ли забеливание в MARS, Twofish, RC6 и Rijndael считаться раундом или частью раунда? MARS имеет 16 раундов перемешивания без использования ключа и 16 раундов ядра с использованием ключа: является MARS 16-раундовым алгоритмом, 32-раундовым или чем-то промежуточным? Должны ли атаки игнорировать раунды перемешивания? Должны ли варианты с уменьшенным числом раундов Serpent или Rijndael требовать какой-либо модификации заключительного раунда? Другим неопределенным фактором является длина ключа, особенно для Rijndael, в котором число раундов зависит от длины ключа.
Какие типы атак должны анализироваться? Одни атаки будут успешными только против небольшой доли ключей; для других требуются операции шифрования для неизвестных ключей; третьи определяют различия для выходов случайных перестановок без явного метода восстановления ключа; некоторые атаки основаны на экспериментальных предположениях. Более того, атаки требуют различных ресурсов; многие даже предполагают, что атакующему доступен весь codebook.
Таким образом, NIST не пытался сократить свои исследования ресурсов безопасности финалистов до единственной метрики. Были рассмотрены все предложенные данные и использовано исходное число анализируемых раундов относительно общего числа раундов, указанного для алгоритма. Результат приведен ниже для каждого финалиста.
Заметим, что раунды, определенные для кандидатов, не обязательно сопоставимы друг с другом. Например, алгоритмы, основанные на сети Фейстеля, т.е. MARS, RC6 и Twofish, требуют двух раундов для изменения полного слова данных, в то время как для Rijndael и Serpent это выполняется в единственном раунде.
MARS: результаты для MARS зависят от обработки "wrapper", например, pre- и post-whitening и 16 раундов перемешивания без использования ключа, которые окружают 16 раундов ядра с использованием ключа. Без подобного wrapper 11 из 16 раундов ключа могут быть атакованы. С wrapper MARS имеет намного больше раундов, чем то количество, которое может быть атаковано: только 5 из 16 раундов ядра или 21 из 32 общего числа раундов может быть атаковано. Либо, если wrapper считать как часть раунда с ключом, то 7 из 18 раундов может быть атаковано. Для любого из этих случаев MARS демонстрирует достаточно большой резерв безопасности.
RC6: атаки созданы для 12, 14 и 15 из 20 раундов RC6, в зависимости от длины ключа. Тем самым RC6 показывает адекватный резерв безопасности.
Rijndael: для 128-битных ключей 6 или 7 из 10 раундов Rijndael могут быть атакованы, атака на 7 раундов требует полного codebook. Для 192-битных ключей 7 из 12 раундов могут быть атакованы. Для 256-битных ключей 7, 8 или 9 из 14 раундов могут быть атакованы. Атака на 8 раундов требует полного codebook и атака на 9 раундов требует шифрования для неизвестных ключей. Rijndael демонстрирует адекватный резерв безопасности.
Serpent: атаки созданы для 6, 8 или 9 из 32 раундов Serpent, в зависимости от длины ключа. Serpent показывает адекватный резерв безопасности.
Twofish: предпринята атака на 6 из 16 раундов Twofish, которая требует операций шифрования для неизвестных ключей. Другая атака, предложенная для 6 раундов для 256-битного ключа, является более эффективной, чем экстенсивный поиск ключа. Twofish демонстрирует адекватный резерв безопасности.
Принципы разработки и происхождение алгоритмов
Исторические корни, лежащие в основе принципов разработки, влияют на доверие к алгоритму и на анализ его безопасности. Это также применимо к составным элементам алгоритма, таким как S-boxes. Требуется много времени для разработки атак на неизвестные технологии, традиционные технологии обычно анализируются больше, особенно если уже существует атака на них. Например, сеть Фейстеля хорошо изучена, т.к. она применяется в DES, и три финалиста используют варианты этой конструкции. Другим элементом, способным повлиять на доверие к алгоритму, является разработка S-boxes, которые могут содержать различные скрытые "люки". Это обсуждается далее для каждого финалиста.
MARS: разнородная структура раунда MARS не исследована. Как раунд перемешивания, так и раунд ядра основаны на сети Фейстеля со значительными изменениями. MARS использует много различных операций, большинство из которых традиционны. Материал ключа и данные применяются для регулирования различных операций ротации. S-box создается детерминировано с учетом требуемых свойств; таким образом, спецификация MARS утверждает, хотя это маловероятно, что MARS содержит какую-либо структуру, которая может использоваться в качестве люка для атаки. Спецификация MARS не рассматривает какой-либо алгоритм в качестве своего предшественника.
RC6: разработка RC6 развивалась из разработки RC5, который анализировался несколько лет. Безопасность обоих алгоритмов основана на переменных ротациях как основной источник нелинейности; S-boxes в алгоритме не существует. Операция переменной ротации в RC6, в отличие от RC5, регулируется квадратичной функцией от данных. Управление ключом в RC6 и RC5 не отличается. Структура раунда RC6 является вариантом сети Фейстеля. Спецификация RC6 утверждает, что в RC6 не существует люков, потому что при вычислении ключа используется только часть RC6, которая математически хорошо изучена.
Rijndael: Rijndael является байт-ориентированным алгоритмом шифрования, основанным на "Квадрате (Square)". Представляется, что Square-атака является отправной точкой для дальнейшего анализа. Типы операций подстановки и перестановки, используемые в Rijndael, являются стандартными. S-box имеет математическую структуру, основанную на комбинации инверсии в поле Галуа и аффинного преобразования. Хотя данная математическая структура может помочь в осуществлении атаки, структура не является скрытой. Спецификация Rijndael утверждает, что если есть подозрение, что S-box содержит люк, то S-box может быть заменен.
Serpent: Serpent является байт-ориентированным алгоритмом. Типы операций подстановки и перестановки являются стандартными. S-boxes создаются детерминировано, как и в случае DES, и обладают теми же свойствами; спецификация Serpent устанавливает, что при такой конструкции нет опасения, что существуют люки. Спецификация Serpent не рассматривает какой-либо алгоритм в качестве своего предшественника.
Twofish: Twofish использует незначительную модификацию сети Фейстеля. Спецификация не рассматривает какой-либо алгоритм в качестве своего предшественника, но существует несколько предшествующих алгоритмов, которые разделяют важные свойства Twofish, такие как зависящие от ключа S-boxes и подходы к их разработке. Спецификация Twofish предполагает, что Twofish не имеет люков и доказывает это утверждение несколькими аргументами, включая переменные S-boxes.