Помощь в написании студенческих работ
Антистрессовый сервис

Описание алгоритма AES

РефератПомощь в написанииУзнать стоимостьмоей работы

В приведенной выше матрице каждая строка начиная со второй является предыдущей строкой, циклически сдвинутой вправо на одну ячейку. Столь специфическая форма матрицы (7.20) обусловлена многочленом h (x) = х4 + 1, по модулю которого производится умножение в кольце 7?4(F2s). Также напомним, что такие матрицы принято называть циркулянтом, или циркуляитпой матрицей. Преобразование MixColumns… Читать ещё >

Описание алгоритма AES (реферат, курсовая, диплом, контрольная)

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

  • • длина ключа: га = 128, 192 или 256,
  • • длина раундового ключа: s = 128,
  • • длина блока обрабатываемых данных: п = 128,
  • • количество раундов: г = 10, 12 или 14 в зависимости от длины ключа.

Алгоритм развертки ключа позволяет выработать последовательность к,…, кг+ раундовых ключей и заключается в следующем. Исходный ключ к представляется в виде конкатенации «слов» размером 32 бита, то есть.

Описание алгоритма AES.

и величина с принимает значения 4, G или 8 в зависимости от длины ключа.

Величины h,…, 1с являются начальными значениями последовательности, состоящей из 4(г + 1) элементов множества Fip. Для выработки остальных значений используются следующие рекуррентные соотношения. При с = 4, б для всех индексов г — с+ 1, …, 4(r + 1) выполнено равенство.

Описание алгоритма AES.

При с = 8 для всех индексов г = с + 1,…, 4(r + 1) выполнено равенство.

Описание алгоритма AES.

Приведенные соотношения используют две вспомогательные функции SubWord (): F’J2 -" F:]2 и RotWord (): F:]2 -" F: J2, а также набор констант щ,…, ис— е Ff2, образующих последовательность целых чисел.

1,2,4,8,16,32,64,128.

Функции Sub Word и RotWord определяются следующим образом. Представим а е Fip в виде конкатенации а = 0411"211аз||"4, где ах,…, (X4 G F§, тогда.

Описание алгоритма AES.

где перестановка 7 г определена равенством (7.17).

Последовательность раундовых ключей к],…, kr+i € F.^28 алгоритма AES определяется равенствами ki = lu-zhi-2Ui-ihi для всех г = 1,…, r + 1.

Перейдем к описанию алгоритма зашифрования. Вначале исходное сообщение а € FJ,28 представляется в виде конкатенации байт — элементов множества F8. Для алгоритма AES часто используют матричную форму представления сообщения а, то есть.

Описание алгоритма AES.

Каждый раундовый ключ /сг, г = 1,…, г + 1, также представляется в виде конкатенации.

Описание алгоритма AES.

Алгоритм зашифрования представляет собой SP-сеть и определяется равенством (7.3), в котором преобразования U, R, W определяются следующим образом. Преобразование U не определено, и мы будем считать, что выполнено равенство U (a) — а для любого, а € F!28.

Раундовое преобразование R (ki, a), i — 1,…, г, состоит из четырех простых преобразований.

1. Преобразование AddRoundKey представляет собой наложение ключа по модулю два и определяется равенством.

Описание алгоритма AES.

выполненным для всех г = 1,…, г.

2. Преобразование SubBytes представляет собой параллельное применение нелинейной перестановки тт, определенной нами выше равенством (7.17),.

Описание алгоритма AES.

3. Преобразование ShiftRows представляет собой перестановку байт сообщения а, имеющую наглядное геометрическое представление. Определим Описание алгоритма AES.

Описание алгоритма AES.

Теперь легко заметить, что преобразование ShiftRows есть циклический сдвиг второй строки матрицы, соответствующей сообщению а, на одну позицию влево, третьей строки матрицы — на две позиции влево и четвертой строки матрицы — на три позиции влево.

4. Преобразование MixColumns представляет собой умножение столбцов матрицы, соответствующей заданному сообщению а, на некоторый фиксированный многочлен из кольца /?4(IF2"), где поле F2s порождено неприводимым над полем F2 многочленом д (х) — Xs + хл + х3 + х + 1, а кольцо ft4(F2s) порождено приводимым над полем F2s многочленом к (х) = х4 + 1.

Преобразование MixColumns представляет собой отображение.

Описание алгоритма AES.

в котором коэффициенты bi,…, bie определяются следующим образом.

Рассмотрим многочлен с (х) — аго+одж+аг^+аз#3, коэффициенты которого принадлежат конечному полю F2" и определяются равенствами.

Описание алгоритма AES.

Тогда коэффициенты ф,…, Ьщ удовлетворяют равенствам.

Описание алгоритма AES.

Приведенные умножения многочленов реализуются в соответствии с равенством (7.13) в кольце 7?4(F2s) но модулю многочлена.

h (x) = x4 + 1. Например, для столбца коэффициентов Ь, 65, Ьд, 613 выполнено равенство.

Описание алгоритма AES.

тогда &i = a’oaj + a^as + «29 + адащ в поле F2s.

В приведенной выше матрице каждая строка начиная со второй является предыдущей строкой, циклически сдвинутой вправо на одну ячейку. Столь специфическая форма матрицы (7.20) обусловлена многочленом h (x) = х4 + 1, по модулю которого производится умножение в кольце 7?4(F2s). Также напомним, что такие матрицы принято называть циркулянтом, или циркуляитпой матрицей.

Для практической реализации на ЭВМ определенное нами преобразование MixColumns является достаточно трудоемким. Для повышения его эффективности можно реализовать операцию умножения на коэффициенты ао, аз многочлена с (х) таблично, то есть в явном виде для всех a G F2 задать перестановки.

Описание алгоритма AES.

Поскольку коэффициенты ад = «2 = 1, то они в операции умножения не участвуют. Следовательно, вычисление, например, коэффициента Ь может быть реализовано в виде.

Описание алгоритма AES.

Такой подход позволяет заменить достаточно трудоемкую операцию умножения в поле F2s на табличную замену, которая реализуется существенно быстрее.

Таким образом, мы можем записать раундовое преобразование алгоритма AES в виде последовательности четырех простых преобразований.

Описание алгоритма AES.

для всех i = 1,…, г — 1.

Последнее раундовое преобразование, при i — г, отличается от всех предыдущих тем, что в нем не используется преобразование MixColumns, то есть Описание алгоритма AES.

Заключительное преобразование W зависит от раундового ключа кг+1 и представляет собой наложение ключа по модулю два, то есть определенное выше преобразование AddRoundKey.

Описание алгоритма AES.

Алгоритм расшифрования состоит в последовательном применении преобразований, обратных к введенным преобразованиям SubBytes, ShiftRows, MixColumns и AddRoundKey.

Поскольку большинство указанных преобразований тривиально, то и построение обратных к ним не составляет какого-либо труда.

Некоторая трудность возникает при обращении преобразования MixColumns, состоящего в умножении столбцов матрицы на фиксированный многочлен с (х) = ад + х + х2 + азх3.

Определим многочлен с-1 (ж) = 70 + 71 ж + 72Ж2 + 73Ж3, где.

Описание алгоритма AES.

и 7j, как и коэффициенты многочлена с (х), принадлежат полю F2e, порожденному многочленом д (х) = х8 + х4 + х3 + х + 1. Тогда выполнено равенство Описание алгоритма AES.

в кольце R4(?2s).

Обратное преобразование к MixColumns состоит в умножении столбцов матрицы, соответствующей сообщению а, па многочлен с-1(ж). В заключение мы предлагаем читателю самостоятельно проверить корректность равенства (7.21).

Показать весь текст
Заполнить форму текущей работой