Опубликован: 19.11.2003 | Уровень: для всех | Доступ: свободно | ВУЗ: Московский государственный университет имени М.В.Ломоносова

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

< Лекция 4 || Лекция 5: 123 || Лекция 6 >

Заключительные оценки финалистов

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

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

На основании выполненного анализа безопасности можно утверждать, что не существует известных атак безопасности ни на одного из финалистов, и все пять финалистов проявили необходимый для AES уровень безопасности. В терминах резерва безопасности MARS, Serpent и Twofish показали самый высокий резерв безопасности, хотя резерв RC6 и Rijndael также можно назвать адекватным. Ряд критических замечаний вызвала математическая структура Rijndael и свойство разделения ключа Twofish ; однако это не приводит к атакам.

Программные реализации

RC6 и Rijndael демонстрируют скорость шифрования и дешифрования выше средней для 128-битных ключей, при этом RC6 имеет особенно хорошие показатели на 32-битных платформах, а Rijndael выполняется более ровно на всех платформах. MARS имеет среднее выполнение шифрования и дешифрования на всех платформах, в зависимости от того, выполняет ли процессор 32-битные умножения и переменные ротации. Twofish демонстрирует смешанные результаты среди различных платформ для шифрования и дешифрования, но в целом имеет средние показатели по сравнению с другими финалистами. Serpent при шифровании и дешифровании несколько медленнее остальных финалистов.

Установление ключа Rijndael выполняет быстрее всех. Для MARS, RC6 и Serpent этот показатель является средним, а Twofish здесь на последнем месте.

MARS, RC6 и Serpent демонстрируют одинаковое выполнение шифрования и дешифрования для всех трех длин ключа. Выполнение шифрования и дешифрования Rijndael возрастает с увеличением длины ключа из-за увеличения числа раундов. Выполнение шифрования/дешифрования или установления ключа Twofish уменьшается при большей длине ключа в зависимости от используемых опций ключа.

RC6 является лучшим среди финалистов, если использует режим, обеспечивающий interleaving.

Окружения с ограничениями пространства

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

Serpent имеет низкие требования к RAM и ROM и очень хорошо соответствует окружениям с ограничениями пространства, когда реализовано либо шифрование, либо дешифрование. Как и у Rijndael, у Serpent требования к ROM возрастают, если шифрование и дешифрование реализованы одновременно, но, тем не менее, алгоритм остается соответствующим окружениям с ограничениями пространства.

Требования RAM и ROM Twofish соответствуют окружениям с ограничениями пространства.

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

MARS недостаточно соответствует окружению с ограничениями пространства вследствие требований к ROM, самых высоких среди финалистов. Кроме того, управление ключом MARS включает операции сравнения с образцом, которые требуют дополнительных ресурсов.

Аппаратные реализации

Serpent и Rijndael имеют лучшую аппаратную производительность среди финалистов как для режимов feedback, так и для других. Serpent демонстрирует самую высокую производительность среди финалистов в не-feedback режимах, и его эффективность (производительность/пространство) обычно очень высокая. Rijndael показал лучшую производительность среди финалистов в feedback-режимах. При большей длине ключа производительность Rijndael падает. Эффективность Rijndael также обычно заслуживает самой высокой оценки.

RC6 и Twofish обычно проявляют среднюю производительность. Производительность RC6 возрастает в не-feedback режимах. Производительность Twofish иногда понижается при больших размерах ключа. MARS имеет средние требования к памяти, его производительность выше средней, и эффективность также.

Шифрование vs. дешифрование

Twofish, MARS и RC6 нуждаются в небольшом дополнительном пространстве для одновременной реализации в аппаратуре как шифрования, так и дешифрования в противоположность реализации одного только шифрования. Функции шифрования и дешифрования для Twofish почти не отличаются , а для MARS и RC6 являются аналогичными.

Шифрование и дешифрование Rijndael отличаются больше, чем у Twofish, MARS и RC6, хотя Rijndael может быть реализован таким способом, чтобы разделять некоторые аппаратные ресурсы.

Для Serpent функции шифрования и дешифрования отличаются, что позволяет разделять только очень ограниченные аппаратные ресурсы.

Все финалисты показывают очень небольшие различия в скорости между шифрованием и дешифрованием для данной длины ключа. Установление ключа Rijndael для дешифрования выполняется медленнее, чем для шифрования.

Свойства ключа

Twofish поддерживает вычисление подключей на лету как для шифрования, так и для дешифрования. О Serpent можно сказать то же самое, однако процесс дешифрования требует одного дополнительного вычисления. Rijndael поддерживает вычисление подключей на лету для шифрования, но требует вычисления за один раз всего управления ключом до выполнения первого дешифрования. MARS имеет характеристики, аналогичные Rijndael, за исключением того, что 10 ключей должны вычисляться и храниться одновременно. Их размещение требует дополнительных ресурсов при реализации MARS. RC6 поддерживает вычисление ключей на лету только для шифрования, создавая при этом промежуточные значения.

Другие возможности настройки

MARS поддерживает длину ключа в диапазоне от 128 до 448 бит.

RC6 имеет параметризуемые размеры блока и ключа и параметризуемое число раундов, включая поддержку размеров ключа более 256 бит.

Rijndael поддерживает дополнительные размеры блока и ключа с приращением в 32 бита, число раундов также может быть изменено.

Serpent поддерживает любую длину ключа более 256 бит, и bitslice-реализация может обеспечить его выполнение на многих процессорах.

Twofish поддерживает произвольный размер ключа более 256 бит, и спецификация алгоритма предлагает дополнительно четыре опции.

Заключение

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

В качестве предлагаемого AES алгоритма в результате длительного и сложного процесса оценки специалисты NIST выбрали Rijndael.

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

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

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

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

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

Александр Паршаков
Александр Паршаков
Россия, Пермский край