33636

Advanced Encryption Standard (AES) - Алгоритм Rijndael

Доклад

Информатика, кибернетика и программирование

dvnced Encryption Stndrd ES Алгоритм Rijndel Инициатива в разработке ES принадлежит национальному институту стандартов США NIST. Основная цель состояла в создании федерального стандарта США который бы описывал алгоритм шифрования используемый для защиты информации как в государственном так и в частном секторе. В результате длительного процесса оценки был выбрал алгоритм Rijndel в качестве алгоритма в стандарте ES. Алгоритм Rijndel представляет собой симметричный алгоритм блочного шифрования с переменной длиной блока и переменной...

Русский

2013-09-06

317.5 KB

109 чел.

55. Advanced Encryption Standard (AES) - Алгоритм Rijndael

Инициатива в разработке AES принадлежит национальному институту стандартов США - NIST. Основная цель состояла в создании федерального стандарта США, который бы описывал алгоритм шифрования, используемый для защиты информации как в государственном, так и в частном секторе. В результате длительного процесса оценки был выбрал алгоритм Rijndael в качестве алгоритма в стандарте AES.

Алгоритм Rijndael представляет собой симметричный алгоритм блочного шифрования с переменной длиной блока и переменной длиной ключа. Длина блока и длина ключа могут быть независимо установлены в 128, 192 или 256 бит. Алгоритм использует линейно-подстановочные преобразования и состоит из 10, 12 или 14 раундов в зависимости от длины ключа. Блок данных, обрабатываемый с использованием алгоритма Rijndael, делится на массивы байтов, и каждая операция шифрования является байт-ориентированной.

Преобразование раунда алгоритма Rijndael не имеет структуру сети Фейстеля, а использует структуру типа SP-сеть (Substitution-Permutation network, подстановочно-перестановочная сеть) — разновидность блочного шифра, предложенная в 1971 году Хорстом Фейстелем. Ппреобразование каждого раунда состоит из четырех различных преобразований, называемых слоями. Каждый слой разрабатывался с учетом противодействия линейному и дифференциальному криптоанализу. В основу каждого слоя положена своя собственная функция.

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

Алгоритм Rijndael может применяться в качестве алгоритма МАС. Для этого следует использовать блочный алгоритм в режиме СВС-МАС. Также существует много способов, с помощью которых алгоритм Rijndael можно использовать в качестве генератора псевдослучайных чисел.

Advanced Encryption Standard (AES), также известный как Rijndael – симметричный алгоритм блочного шифрования (размер блока 128 бит, ключ 128 бит), принятый в качестве стандарта шифрования правительством США по результатам конкурса AES.

Алгоритм представляет каждый блок кодируемых данных в виде двумерного массива байт размером 4х4 в зависимости от установленной длины блока. Далее на соответствующих этапах производятся преобразования либо над независимыми столбцами, либо над независимыми строками, либо вообще над отдельными байтами в таблице.

Алгоритм AES имеет следующую структуру:

В начале шифрования input (входной блок данных) копируется в массив State по определенному правилу (формула 1.1) для    и  , где  – число столбцов (32-х битных слов), составляющих State. Для AES  .

                                                         (1.1)

После этого к State применяется процедура AddRoundKey() и затем State проходит через процедуры трансформации (раунды). В итоге, после завершения последнего раунда трансформации, State копируется в output (выходной блок данных) по правилу (формула 1.2) для    и  .

                                                                                             (1.2)

Алгоритм состоит из некоторого количества раундов (для стандарта AES – 10 раундов), в которых последовательно выполняются следующие операции:

  1.  SubBytes – табличная подстановка (рис.5) – процедура, обрабатывающая каждый байт состояния, независимо производя нелинейную замену байтов, используя таблицу замен (S-box – нелинейная таблица замен, использующаяся в нескольких трансформациях замены байт). Такая операция обеспечивает нелинейность алгоритма шифрования. Таким образом, каждый байт в State заменяется соответствующим элементом в фиксированной 8-битной таблице поиска S.


Рис. 5 – Выполнение процедуры SubByte
s

  1.  ShiftRows – сдвиг строк в двумерном массиве на различные смещения (рис.6). При этой трансформации строки состояния циклически сдвигаются на  байт по горизонтали, в зависимости от номера строки. Для нулевой строки , для первой строки  и т.д. Таким образом, каждая колонка выходного состояния после применения процедуры ShiftRows состоит из байтов из каждой колонки начального состояния.


Рис. 6 – Выполнение процедуры ShiftRow
s

  1.  MixColumns – математическое преобразование, перемешивающее данные внутри столбца (рис.7). Четыре байта каждой колонки State смешиваются, используя для этого обратимую линейную трансформацию.


Рис. 7 – Выполнение процедуры MixColumn
s

  1.  AddRoundKey – добавление материала ключа операцией XOR (рис.8). RoundKey (ключ, генерируемый с помощью секретного ключа – CipherKey) каждого раунда объединяется со State. Для каждого раунда RoundKey  получается из CipherKey, используя процедуру KeyExpansion (каждый RoundKey такого же размера, что и State). Процедура производит побитовый XOR каждого байта State с каждым байтом RoundKey.

Рис. 8 – Выполнение процедуры AddRoundKey

В последнем раунде операция перемешивания столбцов отсутствует, что делает всю последовательность операций симметричной.

Так как алгоритм симметричный, при расшифровании производятся преобразования, обратные тем, что производятся при шифровании.


 

А также другие работы, которые могут Вас заинтересовать

840. Системы управления базами данных 95 KB
  Совокупность структурированных данных, относящихся к некоторой предметной области, и хранящаяся в файлах. Физическая и логическая организация данных. Основные понятия реляционной модели данных. Проектирование БД. Понятие информационного объекта.
841. Создание реляционной БД в СУБД МS Аccess 114 KB
  Microsoft Access применяется для разработки относительно небольших баз данных. БД Access хранятся в файлах с типом mdb. Создание и редактирование таблиц. Создание и использование запросов. Примеры записи выражений в условии отбора.
842. Объекты интеллектуальной собственности 202 KB
  Понятие и признаки объекта интеллектуальной собственности. Классификация объектов интеллектуальной собственности. Способность к сохранению, накапливанию, интегрированию. Классификация средств индивидуализации. Произведения, не являющиеся объектами авторских прав. Правовая охрана результата интеллектуальной деятельности средствами различных институтов права интеллектуальной собственности.
843. Трактаты Дюрера как методическое пособие по преподаванию изобразительного искусства с точки зрения современности 176.5 KB
  История написания трактатов и их место в художественном образовании Германии XVI века. Трактаты Дюрера как методическое пособие по преподаванию Изобразительного искусства. Положительные стороны трактатов как методического пособия с точки зрения художественного образования. Восприятие трактатов Дюрера на практике в наше время.
844. Теория гражданского права 178.5 KB
  Имущественные и личные не имущественные правоотношения. Способность гражданина иметь гражданские права и нести обязанности. Имущественный комплекс, используемый для осуществления предпринимательской деятельности. Требования о защите личных неимущественных прав и других нематериальных благ.
845. Сбор маркетинговой информации в целях проведения исследований 167 KB
  Порядок проведения маркетинговых исследований. Планирование и организация сбора первичной информации. Выявление проблем и формулирование целей маркетинговых исследований. Систематизация и анализ собранной информации.
846. Сортировочные станции Брянск-Льговской Московской железной дороги 128 KB
  Характеристика сортировочной станции Брянск-Льговской Московской железной дороги. Оперативное управление и планирование работы станции. Автоматизированная система организации управления перевозок. Сообщения об операциях с поездами, локомотивами и бригадами, получаемые в АСОУП.
847. Общая история 196.5 KB
  Достоверное воспроизведение исторического процесса. Противоречие между прогрессивными производительными силами и консервативным производственными отношениями. Широкое распространение отношений частной собственности. Разложение первобытно-общинного строя и возникновение государства.
848. Программирование математических задач с использованием классов и методов языка C# 960.5 KB
  Реализовать перевод чисел между десятичной, двоичной и восьмеричной системами счисления. Результаты машинного тестирования программы. Описание вычислительных методов. Ручной подсчёт отладочного варианта.