Опубликован: 19.01.2010 | Уровень: специалист | Доступ: платный
Дополнительный материал 16:

P. Упрощенный AES (S-AES)

P.1. Структура S-AES

Упрощенный AES (S-AES), разработан профессором Эдвардом Шаефером (Edward Schaefer) в Университете Санта-Клары, является образовательным инструментом и предназначен помочь студентам изучать структуру AES с использованием меньших блоков и ключей.

Шифрация и дешифрация в S-AES

Рис. P.1. Шифрация и дешифрация в S-AES

На стороне шифрования S-AES получают исходный текст на 16 битов и создают зашифрованный текст на 16 битов; на стороне дешифрации S-AES получают зашифрованный текст на 16 битов и создают исходный текст на 16 битов. Ключ шифра на 6 битов используется и для шифрования, и для дешифрования.

Раунды

S-AES -шифр не-Файстеля, который зашифровывает и расшифровывает блок данных в 16 битов. Он использует предварительный раунд преобразования и два раунда. Ключ шифра - также 16 битов. Рисунок P.2 показывает общий вид для алгоритма шифрования (называемого "шифр") и алгоритма дешифрования (называемого "обратный шифр"). Они совпадают, но ключи раунда применяются в обратном порядке.

Общий вид блока шифрования S-AES

Рис. P.2. Общий вид блока шифрования S-AES

На рисунке P.2 ключи раунда, которые созданы алгоритмом расширения ключей, всегда содержат 16 бит, - они такого же размера, как и блок зашифрованного текста или исходный текст. В S-AES есть три ключа раунда - K0, K1 и K2.

Модули данных

Для представления данных S-AES, как показано на рис. P.3, используют пять модулей измерения: биты, полубайты, слова, блоки и состояния.

Блоки данных используемых в S-AES

Рис. P.3. Блоки данных используемых в S-AES

Бит

В S-AES бит -.двоичная цифра, которая принимает значение либо 0, либо 1. Для обозначения бита мы будем использовать латинскую букву b.

Полубайт

Полубайт - группа из 4 битов, которая может быть обработана как один объект, матрица-строка на 4 бита или матрица-столбец на 4 бита. Когда полубайт обрабатывается как матрица-строка, биты располагаются в матрице слева направо; когда полубайт обрабатывается как матрица-столбец, биты располагаются в матрице сверху вниз. Чтобы обозначить полубайт, мы используем строчную полужирную букву n. Обратите внимание, что полубайт - фактически одна шестнадцатеричная цифра.

Слово

Слово - группа 8 битов, которая может быть обработана как один объект: матриц-строка из двух полубайт или матрица-столбец из двух полубайт. Когда слово обрабатывается как матрица-строка, полубайты располагаются в матрице слева направо; когда слово рассматривается как матрица-столбец, полубайты располагаются в матрице сверху вниз. Чтобы обозначить слово, мы используем строчную полужирную букву w.

Блок

S-AES шифрует и расшифровывает блоки данных. Блок в S-AES - группа из 16 битов. Однако блок может быть представлен как матрица-строка из 4 полубайтов.

Состояние

В S-AES блок данных называется также состоянием. Мы используем полужирную заглавную букву S, чтобы обозначить состояние. Состояния, подобно блокам, состоят из 16 битов, но обычно они обрабатываются как матрицы по 4 полубайта. В этом случае каждый элемент состояния обозначается как sr,c, где. r ( 0 или 1 ) определяет строку и. c ( 0 или 1 ) определяет столбец. В начале шифра полубайты в блоке данных состояния располагаются столбец за столбцом и в каждом столбце сверху вниз. В конце шифра полубайты состояния извлекаются тем же способом, как показано на рис. P.4.

Преобразования "Блок - состояние" "состояние - блок"

Рис. P.4. Преобразования "Блок - состояние" "состояние - блок"

Пример P.1

Давайте посмотрим, как можно блок в 16 битов представить как матрицу 2 x 2. Пусть текстовый блок имеет вид 1011 0111 1001 0110. Сначала мы представим блок как 4 полубайта. Затем заполняем матрицу состояний, "столбец за столбцом", как это показано на рис. P.5.

Изменение шифрованного текста в состояние

Рис. P.5. Изменение шифрованного текста в состояние

Структура каждого раунда

Рисунок P.6 показывает, что каждое преобразование получает состояние и создает другое состояние, которое используется для следующего преобразования или следующего раунда. Секция предварительного преобразования (перед раундом) применяет одно преобразование ( AddRoundKey ); последний раунд использует только три преобразования (преобразование MixColumns отсутствует).

Структура каждого раунда на стороне шифрования

Рис. P.6. Структура каждого раунда на стороне шифрования

На стороне дешифрования используются: обратные преобразования InvSubNibbles, InvShiftRows, InvMixColumns и AddRoundKey (этот процесс является самообратимым).

Наталья Шульга
Наталья Шульга

Курс "информационная безопасность" .

Можно ли на него записаться на ПЕРЕПОДГОТОВКУ по данному курсу? Выдается ли диплом в бумажном варианте и высылается ли он по почте?

Мария Архипова
Мария Архипова
Дмитрий Хитров
Дмитрий Хитров
Россия
Юрий Докучаев
Юрий Докучаев
Россия, ПГТ Яблоновский