Московский государственный университет имени М.В.Ломоносова
Опубликован: 19.11.2003 | Доступ: свободный | Студентов: 12450 / 4913 | Оценка: 4.36 / 4.13 | Длительность: 13:09:00
ISBN: 978-5-9556-0102-1
Лекция 4:

Алгоритмы симметричного шифрования. Часть 3. Разработка Advanced Encryption Standard (AES)

< Лекция 3 || Лекция 4: 12345 || Лекция 5 >

Технические детали второго этапа обсуждений

Общая безопасность

Представленный здесь анализ был выполнен с использованием исходных спецификаций финалистов, полученных до начала второго этапа.

Безопасность являлась самым важным фактором при оценке финалистов. В отношении какого-либо из алгоритмов никаких атак не зафиксировано.

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

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

Одним из возможных критериев резерва безопасности является число, на которое полное число раундов алгоритма превышает наибольшее число раундов, при котором возможна атака. Существует ряд причин, объясняющих, почему не следует полагаться исключительно на подобную метрику для определения силы алгоритма; тем не менее, данная метрика резерва безопасности может быть полезна.

NIST рассмотрел и другие характеристики финалистов, которые могут повлиять на их безопасность. Уверенность в анализе безопасности, выполненном при разработке AES, зависит от происхождения алгоритмов и принципов их разработки, а также от трудности анализа конкретных комбинаций операций, используемых в каждом алгоритме.

Атаки на варианты с уменьшенным числом раундов

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

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

В столбце "Байты памяти" указано наибольшее число байтов памяти, которые требуются в любой точке осуществления атаки; это необязательно эквивалентно хранению всей необходимой информации.

Столбец "Операции" содержит ожидаемое число операций, которое необходимо для осуществления атаки. Трудно преобразовать данное число в оценку времени, так как время зависит от вычислительных возможностей, а также от возможности параллельного выполнения процедур. Природа операций также является определенным фактором; обычно рассматриваются операции полного шифрования, но операцией может быть также частичное шифрование или другая операция. Даже в случае полного шифрования для выполнения может требоваться различное время. Следовательно, число операций, необходимых для атаки, должно рассматриваться только как приблизительная основа для сравнения различных атак.

Могут использоваться различные наборы тестов, обеспечивающие полный перебор ключей. В принципе, таким способом может быть атакован любой блочный алгоритм шифрования. Для трех вариантов размера ключа AES полный перебор ключей требует в среднем 2127, 2191 или 2255 операций. Даже наименьшее из этих чисел говорит о том, что на сегодняшний день атака посредством перебора всех ключей не имеет практического значения.

Таблица 4.1. Атаки на варианты с уменьшенным числом раундов
Алгоритм, раунды Раунды (длина ключа) Тип атаки Текст Байты памяти Операции

MARS 16 Core (C)

16 Mixing (M)

11C Amp. Boomerang 265 270 2229
16M, 5C Meet-in-Middle 8 2236 2232
16M, 5C Diff. M-i-M 250 2197 2247
6M, 6C Amp. Boomerang 269 273 2197
RC6 20 14 Stat. Disting. 2118 2112 2122
12 Stat. Disting. 294 242 2119
14 (192,256) Stat. Disting. 2110 242 2135
14 (192,256) Stat. Disting. 2108 274 2160
15 (256) Stat. Disting. 2119 2138 2215

Rijndael

10 (128)

4 Truncated Diff. 29 Small 29
5 Truncated Diff. 211 Small 240
6 Truncated Diff. 232 7*232 272
6 Truncated Diff. 6*232 7*232 244
7 (192) Truncated Diff. 19*232 7*232 2155
7 (256) Truncated Diff. 21*232 7*232 2172
7 Truncated Diff. 2128 - 2199 261 2120
8 (256) Truncated Diff. 2128 - 2199 2101 2204
9 (256) Related Key 277 NA 2224

Rijndael

12 (192)

7 (192) Truncated Diff. 232 7*232 2184
7 (256) Truncated Diff. 232 7*232 2200

Rijndael

14 (256)

7 (192, 256) Truncated Diff. 232 7*232 2140
Serpent 32 8 (192, 256) Amp. Boomerang 2113 2119 2179
6 (256) Meet-in-Middle 512 2246 2247
6 Differential 283 240 290
6 Differential 271 275 2103
6 (192, 256) Differential 241 245 2163
7 (256) Differential 2122 2126 2248
8 (192, 256) Amp. Boomerang 2128 2133 2163
8 (192, 256) Amp. Boomerang 2110 2115 2175
9 (256) Amp. Boomerang 2110 2212 2252
Twofish 16 6 (256) Impossible Diff. NA NA 2256
6 Related Key NA NA NA
NA - информация недоступна.

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

То же относится к информации, необходимой для выполнения атак на варианты с уменьшенным числом раундов. Почти все такие атаки требуют более 230 шифрований выбранного текста; другими словами, более биллиона шифрований, а иногда даже больше. Даже если один и тот же ключ используется такое количество раз, не представляется реальным для противника собрать такое количество информации. Например, в случае линейной или дифференциальной атаки на DES требуется 243 известного незашифрованного текста и 247 шифрований выбранного незашифрованного текста. Тем не менее, случаи подобных атак против DES известны.

Одна из моделей для сбора такого большого количества информации требует от противника физического доступа к одному или нескольким устройствам шифрования, которые используют тот же самый секретный ключ. В этом случае другим полезным набором тестов является набор, который не требует хранить всю "codebook", т.е. таблица содержит только блоки зашифрованного текста, соответствующие каждому возможному блоку незашифрованного текста. Такая таблица требует для хранения 2132 байт памяти.

MARS

Существует много способов упростить MARS для анализа, так как он имеет гетерогенную структуру, состоящую из четырех различных типов раундов. 16 раундов с ключом криптографического ядра разделены 16 раундами перемешивания без использования ключа, а также pre- и post-whitening.

Известны четыре атаки на три упрощенных варианта MARS. Первый вариант включает 11 раундов ядра без раундов перемешивания и забеливания. Предложен новый тип урезанной дифференциальной атаки, названной boomerang-amplifier. Второй вариант включает забеливание и все 16 раундов перемешивания, но снижает количество раундов ядра с 16 до 5. В данном варианте предложены две различные атаки meet-in-the-middle; для такой атаки противнику не требуется выбирать незашифрованные тексты. Третий вариант включает забеливание, но снижает как число раундов перемешивания, так и число раундов ядра с 16 до 6.

RC6

Известны две атаки на варианты RC6, представляющие небольшие, но итерационные статистические предположения относительно функции раунда. Полученные статистические взаимосвязи между определенной формой входов и соответствующими им выходами могут быть использованы для нахождения отличия определенного числа раундов RC6 от случайной перестановки. Предполагается, что различие подключей является равномерно случайным. Атака представляет собой метод восстановления секретного ключа для 12-, 14- и 15-раундовых вариантов.

Rijndael

Спецификация Rijndael описывает урезанную дифференциальную атаку для 4-, 5- и 6-раундовых вариантов Rijndael на основе 3-раундовых отличий Rijndael. Данная атака названа Square, по имени алгоритма шифрования, к которому она впервые была применена.

Возможно также создание атак на варианты Rijndael, непосредственно полученных из Square-атаки. Square-атака может быть расширена на 7-раундовый вариант Rijndael с помощью дополнительного раунда для подключей. В таблице были приведены результаты для 192- и 256-битных ключей, когда общее число операций остается меньше, чем требуется для экстенсивного перебора.

Serpent

Используется amplified boomerang технология для создания 7 раундов отличий в Serpent, что приводит к атаке на вариант Serpent с 8 раундами для 192- и 256-битных ключей. Уточнение основано на экспериментальном наблюдении уменьшения текстов, памяти и обработки, требуемых для атаки; также предлагается расширение атаки на 9-раундовый вариант. Кроме того, возможна стандартная атака meet-in-the-middle и дифференциальные атаки на 8-раундовый вариант Serpent, что требует полного codebook.

Twofish

Обнаружены две атаки на варианты Twofish. Пять раундов дифференциала используются для атаки 6-раундового варианта Twofish при 256-битном ключе, что требует количества выполняемых операций, эквивалентного тому, которое необходимо для экстенсивного поиска. Если pre- и post-whitening из варианта удалить, то атака может быть расширена на 7 раундов; в качестве альтернативы вариант из 6 раундов может быть атакован со сложностью, меньшей чем экстенсивный перебор для каждой длины ключа. Также возможны атаки на Twofish с уменьшенным числом раундов, для которого упрощения сделаны другими способами, например с помощью фиксированных S-boxes, посредством удаления забеливания или подключей или допуская частичное угадывание ключа.

Пока не известны атаки на Twofish с помощью простого уменьшения числа раундов. Известны дифференциальные характеристики 6 раундов, которые применимы только к определенным зависящим от ключа S-boxes, таким образом атака оказывается возможной только на определенное подмножество ключей. Данное конкретное подмножество ключей может рассматриваться как класс слабых ключей, так как авторы утверждают, что характеристики, подобные этим, непосредственно приводят к атакам на 7- и 8-раундовые варианты Twofish.

< Лекция 3 || Лекция 4: 12345 || Лекция 5 >
Евгений Виноградов
Евгений Виноградов

Прошел экстерном экзамен по курсу перепордготовки "Информационная безопасность". Хочу получить диплом, но не вижу где оплатить? Ну и соответственно , как с получением бумажного документа?

Илья Сидоркин
Илья Сидоркин

Добрый день! Подскажите пожалуйста как и когда получить диплом, после сдичи и оплаты?????