33636

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

Доклад

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

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

Русский

2013-09-06

317.5 KB

140 чел.

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

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

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


 

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

39902. Карстовые явления и процессы в Нижегородской области 2.2 MB
  В Нижегородской области карстовые процессы значительно осложняют строительство и эксплуатацию зданий и сооружений. Вследствие карстовых деформаций в разное время произошло несколько крупных аварий анализ которых показал что во всех случаях были допущены принципиальные ошибки на различных стадиях строительного освоения: выборе площадки инженерных изысканиях проектировании строительстве или эксплуатации сооружений. Карст представляет собой совокупность геологических гидрогеологических и или техногенных процессов и явлений обусловленных...
39903. Статистические методы в прикладных исследованиях 286.67 KB
  Расчет оплаты труда работников участвующих в пассивном эксперименте представим в виде таблицы: № п п Исполнитель Занятость Т ч.Охрана труда Анализ условий труда программиста. В связи с этим была создана и развивается наука о безопасности труда и жизнедеятельности человека. Охрана здоровья трудящихся обеспечение безопасности условий труда ликвидация профессиональных заболеваний и производственного травматизма составляет одну из главных забот человеческого общества.
39904. Разработка информационной системы автоматизации фронт-офисных задач в гостиничном бизнесе 2.04 MB
  АНАЛИЗ СИСТЕМЫ УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ MS SQL SERVER И ИНТЕГРИРОВАННОЙ СРЕДЫ РАЗРАБОТКИ BORLAND C BUILDER. Анализ системы управления базами данных. Масштабируемый доступ к базам данных. Проектирование базы данных Гостиница SRL Kiwiban.
39905. Финансы предприятия 415 KB
  Этот коэффициент характеризует степень финансового риска проекта для собственников предприятия и кредиторов и обычно анализируется банками при решении вопроса о предоставлении долгосрочного кредита; коэффициент покрытия долгосрочных обязательств отношение чистого прироста свободных средств сумма чистой прибыли после уплаты налога амортизации и чистого прироста собственных и заемных средств за вычетом осуществленных в отчетном периоде инвестиций к величине платежей по долгосрочным обязательствам погашение займов проценты по ним. Норма...
39907. Информация и информационные технологии 292.28 KB
  компьютер становится инструментом непрофессионального пользователя первые персональные компьютеры а несложные информационные системы ИС средством поддержки принятия решений. Как следствие этой проблемы создавались системы которые пользователи плохо воспринимали и несмотря на их достаточно большие возможности не использовали в полной мере. электронные технологии основным инструментарием которых становятся большие ЭВМ и создаваемые на их базе автоматизированные системы управления АСУ и информационнопоисковые системы ИПС...
39908. Возникновение и формирование проблемы внешней задолженности стран «Третьего мира» 152.5 KB
  Внешняя задолженность развивающихся стран и стран с переходной экономикой превратилась в самостоятельный объект международной политики, затрагивающей интересы практически всех государств мирового сообщества.
39910. Понятие, задачи и функции ИС 173.42 KB
  По степени автоматизации ИС делятся на: автоматизированные: информационные системы в которых автоматизация может быть неполной то есть требуется постоянное вмешательство персонала; автоматические: информационные системы в которых автоматизация является полной то есть вмешательство персонала не требуется или требуется только эпизодически. По характеру обработки данных ИС делятся на: информационносправочные или информационнопоисковые ИС в которых нет сложных алгоритмов обработки данных а целью системы является поиск и выдача информации...