Прошел экстерном экзамен по курсу перепордготовки "Информационная безопасность". Хочу получить диплом, но не вижу где оплатить? Ну и соответственно , как с получением бумажного документа? |
P. Упрощенный AES (S-AES)
P.3. Расширение ключа
Процедура расширения ключа создает три ключа раунда по 16 битов из единственного ключа шифра на 16 битов. Первые ключи раунда используются для предварительного преобразования ( AddRoundKey ); оставшиеся ключи применяются для последнего преобразования ( AddRoundKey ) в конце раунда 1 и раунда 2.
Процедура расширения ключей создает слово ключа раунда последовательно - слово за словом, где слово - массив 2 полубайта. Процедура создает 6 слов, которые обозначаются
w0, w1, w2, .....,w5.
Создание слов в S-AES
P.14 показывает, как создаются 6 слов из первоначального ключа.
Процесс создания слов в S-AES следующий:
- Первые два слова ( W0, W 1 ) создаются из ключа шифра. Ключи шифра представляют как массив из 4 полубайтов ( n0 - n3 ). Первые 2 полубайта ( n0, n1 ) образуют слово W0; следующие 2 полубайта ( n2, n3 ) образуют слово w1. Другими словами, конкатенация слов в этой группе копирует ключ шифра.
- Остальная часть слов ( wi i = 2 - 5 ) создается следующим образом:
- Если. (i mod 2) = 0, .
Здесь ti - временное слово, является результатом применения к wi двух процедур: SubWord и RotWord операции ИСКЛЮЧАЮЩЕЕ ИЛИ к результату с константой раунда Rcon[Nr], где Nr - номер раунда. Другими словами, мы имеем
Слова w2 и w4 создаются, используя этот процесс.
- Если . На рисунке P.14 это означает, что каждое слово создается от слова слева и слова сверху. Слова w3 и w5 создаются, используя этот процесс.
- Если. (i mod 2) = 0, .
Здесь ti - временное слово, является результатом применения к wi двух процедур: SubWord и RotWord операции ИСКЛЮЧАЮЩЕЕ ИЛИ к результату с константой раунда Rcon[Nr], где Nr - номер раунда. Другими словами, мы имеем
RotWord
RotWord (вращение слова) - процедура, подобная преобразованию ShiftRows, но она применяется только к одной строке. Процедура получает слово как массив 2 полубайтов и сдвигает каждый полубайт влево с полным вращением (полный оборот) слова. В S-AES это заполнение 2 полубайтов в слове.
SubWord
SubWord (слово-заменитель) - процедура является подобной преобразованию SubNibbels, но она применяется только к 2 полубайтам. Процедура берет каждый полубайт в слове и заменяет его другим полубайтом. Она использует таблицы SubNibbels, показанные на рис. P.7.
Константы раунда
Каждая константа раунда, RC, является значением, содержащим 2 полубайта, в котором самый правый полубайт всегда нуль. Рисунок P.14 также показывает значение RC
Пример P.4
Таблица P.1 показывает, как вычисляется ключ для каждого раунда. При этом предполагается, что Алиса и Боб согласовали ключ 247516.
Раунд | Значение ti | Первое слово в раунде | Второе слово в раунде | Ключ раунда |
---|---|---|---|---|
0 | w0 = 24 | w1 = 75 | K0 = 2475 | |
1 | t2 = 95 | K0 = B1C4 | ||
2 | t4 = EC | K2 = 5D99 |
В каждом раунде второе слово вычисляется очень просто. Для вычисления первого слова мы должны сначала вычислить значение временного слова ( ti ), как это показано ниже:
P.4. Шифры
Теперь давайте посмотрим, как S-AES используют четыре типа преобразований для шифрования и дешифрования. Алгоритм шифрования будем называть шифратор, а алгоритм дешифрования - обратный шифратор.
S-AES - шифр не-Файстеля, и это означает, что каждое преобразование или группа преобразований должны быть обратимыми. Кроме того, шифратор и обратный шифратор должны использовать эти операции таким способом, при котором они отменяют друг друга. Ключи раунда должны использоваться в обратном порядке. Чтобы выполнить эти требования, преобразования применяются в установленном порядке в шифраторе и обратном шифраторе, как это показано на рис. P.15.
Первое: порядок использования SubNibbles и ShiftRows изменяется в обратном шифраторе. Второе: порядок MixColumns и AddRoundKey в обратном шифраторе также изменяется. Это отличие в порядке необходимо, чтобы сделать каждое преобразование в шифре соответствующим по порядку его инверсии в обратном шифраторе. Следовательно, алгоритм дешифрования в целом - инверсия алгоритма шифрования. Обратите внимание, что ключи раунда используются в обратном порядке.
Пример P.5
Мы выбираем случайный блок исходного текста, ключ шифра, используемый в примере P.4, и определяем, какой получается блок зашифрованного текста:
Исходный текст: 1A2316 Ключ: 247516 Зашифрованный текст: 3AD216
Рисунок P.16 показывает значение состояний в каждом раунде. Мы используем ключи раунда, сгенерированные в примере P.4.