Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Разработка Advanced Encryption Standard (AES)
Обзор процесса разработки AES Инициатива в разработке AES принадлежит NIST. Основная цель состояла в создании федерального стандарта (FIPS), который бы описывал алгоритм шифрования, используемый для защиты информации как в государственном, так и в частном секторе. Конкуренция среди финалистов была достаточно серьезной, и в результате длительного процесса оценки NIST выбрал Rijndael в качестве алгоритма AES. Мы кратко рассмотрим этот процесс и суммируем различные характеристики алгоритмов, которые были описаны на данном этапе. Следующий раздел представляет собой обзор разработки AES и обсуждение деталей алгоритмов. Историческая справка 2 января 1997 года NIST объявил о начале разработки AES, и 12 сентября 1997 года были представлены официальные требования к алгоритмам. В этих требованиях указывалось, что целью NIST является разработка неклассифицированного, хорошо проанализированного алгоритма шифрования, доступного для широкого применения. Как минимум алгоритм должен быть симметричным и блочным и поддерживать длину блока 128 бит и длину ключа 128, 192 и 256 бит. 20 августа 1998 года NIST анонсировал пятнадцать кандидатов на алгоритм AES на первой конференции кандидатов AES (AES1), и было предложено прокомментировать их характеристики. Данные алгоритмы были разработаны промышленными и академическими кругами двенадцати стран. Вторая конференция кандидатов AES (AES2) была проведена в марте 1999 года с целью обсуждения результатов анализа предложенных алгоритмов. В августе 1999 года были представлены выбранные NIST пять финалистов. Ими стали MARS, RC6, Rijndael, Serpent и Twofish. Обзор финалистов Все пять финалистов являются итерационными блочными алгоритмами шифрования: они определяют преобразование, которое повторяется определенное число раз над блоком шифруемых или дешифруемых данных. Шифруемый блок данных называется plaintext; зашифрованный plaintext называется ciphertext. Для дешифрования в качестве обрабатываемого блока данных используется ciphertext. Каждый финалист также определяет метод создания серии ключей из исходного ключа, называемый управлением ключом. Полученные ключи называются подключами. Функции раунда используют в качестве входа различные подключи для конкретного блока данных. У каждого финалиста первая и последняя криптографические операции являются некоторой формой перемешивания подключей и блока данных. Такие операции, используемые на начальном шаге первого раунда и заключительном шаге последнего раунда, называются pre - и post-забеливанием (whitening) и могут быть определены отдельно.
Существуют также некоторые другие технические особенности финалистов. Четыре финалиста определяют таблицы подстановки, называемые S-box: AxB-битный S-box заменяет А входных битов на В выходных битов. Три финалиста определяют функции раунда, являющиеся сетью Фейштеля. В классической сети Фейштеля одна половина блока данных используется для модификации другой половины блока данных, затем половины меняются местами. Два финалиста не используют сеть Фейштеля, в каждом раунде обрабатывают параллельно весь блок данных, применяя подстановки и линейные преобразования; таким образом, эти два финалиста являются примерами алгоритмов, использующих линейно-подстановочное преобразование. Далее рассмотрим каждый из алгоритмов в алфавитном порядке; профили и оценки будут представлены в следующих разделах. MARS выполняет последовательность преобразований в следующем порядке: сложение с ключом в качестве pre - whitening, 8 раундов прямого перемешивания без использования ключа, 8 раундов прямого преобразования с использованием ключа, 8 раундов обратного преобразования с использованием ключа, 8 раундов обратного перемешивания без использования ключа и вычитание ключа в качестве post- whitening. 16 раундов с использованием ключа называются криптографическим ядром. Раунды без ключа используют два 8х16-битных S-boxes и операции сложения и XOR. В дополнение к этим элементам раунды с ключом используют 32-битное умножение ключа, зависимые от данных циклические сдвиги и добавление ключа. Как раунды перемешивания, так и раунды ядра являются раундами модифицированной сети Фейштеля, в которых четверть блока данных используется для изменения остальных трех четвертей блока данных. MARS предложен корпорацией IBM. RC6 является параметризуемым семейством алгоритмов шифрования, основанных на сети Фейштеля; для AES было предложено использовать 20 раундов. Функция раунда в RC6 задействует переменные циклические сдвиги, которые определяются квадратичной функцией от данных. Каждый раунд также включает умножение по модулю 32, сложение, XOR и сложение с ключом. Сложение с ключом также используется для pre - и post- whitening. RC6 был предложен лабораторией RSA.
Rijndael представляет собой алгоритм, использующий линейно-подстановочные преобразования и состоящий из 10, 12 или 14 раундов в зависимости от длины ключа. Блок данных, обрабатываемый с использованием Rijndael, делится на массивы байтов, и каждая операция шифрования является байт-ориентированной. Функция раунда Rijndael состоит из четырех слоев. В первом слое для каждого байта применяется S-box размерностью 8х8 бит. Второй и третий слои являются линейными перемешиваниями, в которых строки рассматриваются в качестве сдвигаемых массивов и столбцы перемешиваются. В четвертом слое выполняется операция XOR байтов подключа и каждого байта массива. В последнем раунде перемешивание столбцов опущено. Rijndael предложен Joan Daemen (Proton World International) и Vincent Rijmen (Katholieke Universiteit Leuven). Serpent является алгоритмом, использующим линейно-подстановочные преобразования и состоящим из 32 раундов. Serpent также определяет некриптографические начальную и заключительную перестановки, которые облегчают альтернативный режим реализации, называемый bitslice. Функция раунда состоит из трех слоев: операция XOR с ключом, 32-х параллельное применение одного из восьми фиксированных S-boxes и линейное преобразование. В последнем раунде слой XOR с ключом заменен на линейное преобразование. Serpent предложен Ross Anderson (University of Cambridge), Eli Biham (Technion) и LarsKnudsen (University of California San Diego). Twofish является сетью Фейштеля с 16 раундами. Сеть Фейштеля незначительно модифицирована с использованием однобитных ротаций. Функция раунда влияет на 32-битные слова, используя четыре зависящих от ключа S-boxes, за которыми следуют фиксированные максимально удаленные отдельные матрицы в GF(28), преобразование псевдо-Адамара и добавление ключа. Twofish был предложен Bruce Schneier, John Kelsey и Niels Ferguson (Counterpane Internet Security, Inc.), Doug Whiting (Hi/fn, Inc.), David Wagner (University of California Berkley) и Chris Hall (Princeton University). При объявлении финалистов представители NIST предложили обсудить и прокомментировать алгоритмы. На третьей конференции кандидатов AES (AES3), состоявшейся в апреле 2000 года, представленные комментарии были рассмотрены. Период открытого обсуждения был завершен 15 мая 2000 года. Критерий оценки В сентябре 1997 года, объявив об алгоритмах кандидатов, специалисты NIST определили общий критерий, который должен использоваться при сравнении алгоритмов. Критерий оценки был разделен на три основных категории: 1. Безопасность. 2. Стоимость. 3. Характеристики алгоритма и его реализации. Безопасность является важнейшим фактором при оценке и сравнении таких возможностей как стойкость алгоритма к криптоанализу, исследование его математической основы, случайность выходных значений алгоритма и относительная безопасность по сравнению с другими кандидатами. Стоимость является второй важной областью оценки, которая характеризует лицензионные требования, вычислительную эффективность (скорость) на различных платформах и требования к памяти. Так как одной из целей NIST была возможность широкой доступности алгоритма AES без лицензионных ограничений, обсуждались в основном требования защиты интеллектуальной собственности и потенциальные конфликты. Рассматривалась также скорость работы алгоритма на различных платформах. При первом обсуждении основное внимание уделялось скорости, связанной со 128-битными ключами. При втором обсуждении рассматривались аппаратные реализации и скорости, связанные со 192- и 256-битными ключами. Также важно рассматривать требования памяти и ограничения программной реализации.
Третьей областью оценки являлись характеристики алгоритма и реализации, такие как гибкость, аппаратное и программное соответствие и простота алгоритма. Гибкость включает возможность алгоритма: · управлять размером ключа и блока сверх того, который минимально должен поддерживаться; · безопасно и эффективно реализовываться в различных типах окружений; · реализовываться в качестве поточного алгоритма шифрования, хэш-функции и обеспечивать дополнительные криптографические сервисы. Должна быть возможность реализовать алгоритм как аппаратно, так и программно, эффективность смешанных (firmware) реализаций также считается преимуществом. Относительная простота разработки алгоритма также является фактором оценки. На первом и втором этапах обсуждения стало очевидно, что различные выводы, полученные при анализе, часто переходят из одного рассмотренного выше критерия в другой. Таким образом, критерии стоимости и характеристик алгоритма рассматривались вместе в качестве второго критерия после безопасности.
|
|||||||
Последнее изменение этой страницы: 2017-01-24; просмотров: 230; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.133.109.211 (0.008 с.) |