Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
второй модуль криптология.doc
Скачиваний:
0
Добавлен:
26.01.2020
Размер:
1.49 Mб
Скачать

76Процедура расширения ключа idea.

Алгоритм использует всего 52 подключа (по шесть для каждого из восьми циклов и еще четыре для преобразования выхода).

  • 128-битовый ключ делится на восемь 16-битовых подключей. Это - первые восемь подключейдляалгоритма (Z (1)1...Z (1)6 и Z (2)1 , Z (2)2 ).

  • 128-битовый ключ циклически сдвигается влево на 25 бит и снова делится на восемь подключей (Z (2)3...Z (2)6 и Z (3)1 … Z (3)4 ).

  • 128-битовый ключ циклически сдвигается влево на 25 бит и снова делится на восемь подключей (Z (3)5...Z (3)6 и Z (4)1 … Z (4)6 ).

  • 128-битовый ключ циклически сдвигается влево на 25 бит и снова делится на восемь подключей (Z (5)1...Z (5)6 и Z (6)1 … Z (6)2 ).

  • 128-битовый ключ циклически сдвигается влево на 25 бит и снова делится на восемь подключей (Z (6)3...Z (6)6 и Z (7)1 … Z (7)4 ).

  • 128-битовый ключ циклически сдвигается влево на 25 бит и снова делится на восемь подключей (Z (7)5...Z (7)6 и Z (8)1 … Z (8)6 ).

  • 128-битовый ключ циклически сдвигается влево на 25 бит и снова делится на восемь подключей (Z (9)1 … Z (9)4 ).

77Процесс дешифрования idea.

Дешифрование осуществляется аналогичным образом, за исключением того, что порядок использования подключей становится обратным (см76)

78Описание гост-28147.

ГОСТ 28147-89 — советский и российский стандарт симметричного шифрования, введённый в 1990 году, также является стандартом СНГ. Полное название — «ГОСТ 28147-89 Системы обработки информации. Защита криптографическая. Алгоритм криптографического преобразования». Блочный шифроалгоритм. При использовании метода шифрования с гаммированием, может выполнять функции поточного шифроалгоритма.

79Структура алгоритма гост-28147.

Блочный шифр с 256-битным ключом и 32 циклами преобразования, оперирующий 64-битными блоками, использует 32 раунда по схеме Фейстеля. Основа алгоритма шифра — сеть Фейстеля. Выделяют четыре режима работы ГОСТ 28147-89: простой замены, гаммирование, гаммирование с обратной связью, режим выработки имитовставки. Шифрует информацию блоками по 64 бит (такие алгоритмы называются блочными), которые затем разбиваются на два субблока по 32 бит (N1 и N2).

Субблок N1 обрабатывается определенным образом, после чего его значение складывается со значением субблока N2 (сложение выполняется по модулю 2( логическая операция XOR), а затем субблоки меняются местами. 

80Схема алгоритма гост 28147.

Данное преобразование выполняется определенное число раз ("раундов"): 16 или 32 в зависимости от режима работы алгоритма.

В каждом раунде выполняются две операции.

81. Первая операция – наложение ключа. Содержимое субблока N1 складывается по модулю 232 с 32-бит частью ключа Kx. Полный ключ шифрования представляется в виде конкатенации 32-бит подключей: K0, K1, K2, K3, K4, K5, K6, K7. В процессе шифрования используется один из этих подключей - в зависимости от номера раунда и режима работы алгоритма.

Вторая операция – табличная замена. После наложения ключа субблок N1 разбивается на 8 частей по 4 бит, значение каждой из которых заменяется в соответствии с таблицей замены для данной части субблока. Затем выполняется побитовый циклический сдвиг субблока влево на 11 бит.

82. Для зашифрования каждого 64-бит блока информации выполняются 32 описанных выше раунда. При этом 32-бит подключи используются в следующей последовательности:

  • K0, K1, K2, K3, K4, K5, K6, K7, K0, K1 и т. д. - в раундах с 1-го по 24-й;

  • K7, K6, K5, K4, K3, K2, K1, K0 - в раундах с 25-го по 32-й.

Расшифрование в данном режиме проводится точно так же, но с несколько другой последовательностью применения подключей:

  • K0, K1, K2, K3, K4, K5, K6, K7 - в раундах с 1-го по 8-й;

  • K7, K6, K5, K4, K3, K2, K1, K0, K7, K6 и т. д. - в раундах с 9-го по 32-й.

83. Каждый блок открытого текста побитно складывается по модулю 2 с блоком гаммы шифра размером 64 бит. Гамма шифра - это специальная последовательность, которая получается в результате определенных операций с регистрами N1 и N2.

  • 1. В регистры N1 и N2 записывается их начальное заполнение - 64-бит величина, называемая синхропосылкой.

  • 2. Выполняется зашифрование содержимого регистров N1 и N2 (в данном случае - синхропосылки) в режиме простой замены.

  • 3. Содержимое регистра N1 складывается по модулю (232 - 1) с константой C1 = 224 + 216 + 28 + 24, а результат сложения записывается в регистр N1.

  • 4. Содержимое регистра N2 складывается по модулю 232 с константой C2 = 224 + 216 + 28 + 1, а результат сложения записывается в регистр N2.

  • 5. Содержимое регистров N1 и N2 подается на выход в качестве 64-бит блока гаммы шифра (в данном случае N1 и N2 образуют первый блок гаммы).

84. DES использует гораздо более сложную процедуру создания подключей, чем ГОСТ 28147. В ГОСТ эта процедура очень проста.

  • В DES применяется 56-битный ключ, а в ГОСТ 28147 - 256-битный. При выборе сильных S-boxes ГОСТ 28147 считается очень стойким.

  • У S-boxes DES 6-битовые входы и 4-битовые выходы, а у S-boxes ГОСТ 28147 4-битовые входы и выходы. В обоих алгоритмах используется по восемь S-boxes, но размер S-box ГОСТ 28147 существенно меньше размера S-box DES.

  • В DES применяются нерегулярные перестановки IР, в ГОСТ 28147 используется 11-битный циклический сдвиг влево. Перестановка DES увеличивает лавинный эффект. В ГОСТ 28147 изменение одного входного бита влияет на один S-box одного раунда, который затем влияет на два S-boxes следующего раунда, три S-boxes следующего и т.д. В ГОСТ 28147 требуется 8 раундов прежде, чем изменение одного входного бита повлияет на каждый бит результата; DES для этого нужно только 5 раундов.

  • В DES 16 раундов, в ГОСТ 28147 - 32 раунда, что делает его более стойким к дифференциальному и линейному криптоанализу.

85. Advanced Encryption StandardAES — конкурс, организованный NIST в 1997 году для выбора нового криптографического стандарта, который должен был стать преемником DES.

В результате конкурса в 2000 году победителем был объявлен шифр Rijndael (который теперь часто называют по имени конкурса — AES).

Требования к новому стандарту выставленные на конкурсе AES:

  • блочный шифр.

  • длина блока, равная 128 битам.

  • ключи длиной 128, 192 и 256 бит.

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

Размер ключа:

128/192/256 бит

Размер блока:

128 бит

Число раундов:

10/12/14 (зависит от размера ключа)

Тип:

Подстановочно-перестановочная сеть

В отличие от отечественного стандарта шифрования, алгоритм Rijndael представляет блок данных в виде двухмерного байтового массива размером 4X4, 4X6 или 4X8 (допускается использование нескольких фиксированных размеров шифруемого блока информации).

Все операции выполняются с отдельными байтами массива, а также с независимыми столбцами и строками.

87. Алгоритм Rijndael выполняет четыре преобразования:

  • BS (ByteSub) – табличная замена каждого байта массива;

  • SR (ShiftRow) – сдвиг строк массива;

  • MC (MixColumn) – операция над независимыми столбцами массива;

  • AK (AddRoundKey) – добавление ключа.

88. Для шифрования в алгоритме AES применяются следующие процедуры преобразования данных:

  • ExpandKey — Вычисление раундных ключей для всех раундов.

  • SubBytes — Подстановка байтов с помощью таблицы подстановок;

Преобразование SubBytes заключается в замене каждого байта {xy} формы (где x и y обозначают шестнадцатиричные цифры) на другой в соответствии с таблицой замены

  • ShiftRows — Циклический сдвиг строк в форме на различные величины;

Преобразование ShiftRows заключается в циклическом сдвиге влево строк формы.

Первая строка остается неизменной. Во второй производится сдвиг на 1 байт, то есть первый байт переносится в конец. В третьей ― сдвиг на 2 байта, в четветрой ― на 3.

  • MixColumns — Смешивание данных внутри каждого столбца формы;

Преобразование MixColumns заключается в умножении квадратной матрицы 4-го порядка на каждый столбец формы:

Умножение производится в поле Галуа GF(28), т.е. mod256.

  • AddRoundKey — Сложение ключа раунда с формой.

В преобразовании AddRoundKey 32-битные слова раундного ключа прибавляются к столбцам формы с помощью побитовой операции XOR:

wi ― это столбцы ключа, Nb ― количество слов в блоке, с – номер столбца, с=0…3.

89. При дешифровании все преобразования производятся в обратном порядке. Используются следующие обратные преобразования вместо соответствующих шифрующих:

  • InvSubBytes ― Подстановка байтов с помощью обратной таблицы подстановок;

Это преобразование обратно преобразованию SubBytes.

  • InvShiftRows ― Циклический сдвиг строк в форме на различные величины;

Это преобразование обратно преобразованию ShiftRows. Первая строка формы остается неизменной. Вторая строка циклически сдвигается вправо на 1 байт. Третья ― на 2, четвертая ― на 3.

  • InvMixColumns ― Смешивание данных внутри каждого столбца формы.

Это преобразование обратно преобразованию MixColumns. InvMixColumns преобразует в форме каждый столбец отдельно. Преобразование проиходит по следующией формуле:

Здесь умножение также производится в поле Галуа GF(28).

90.

Алгоритм

Ключ, бит

Блок, бит

Примечания

Triple-DES

168

64

Сеть Фейстеля;

имеет пространство полуслабых и слабых ключей.

AES(Rijndael)

256

128

Основан на операциях с таблицами массивов данных; принят в качестве гос. стандарта в США; обладает высокой криптостойкостью.

IDEA

128

64

Основан на смешении операций из разных алгебраических групп; имеет пространство слабых ключей.

Twofish

256

128

Сеть Фейстеля;

быстр при шифровании, медленная установка ключа; устроен сравнительно сложно, что затрудняет анализ; имеет большой запас прочности.

Blowfish

max 448

64

Сеть Фейстеля;

быстр при шифровании, медленная установка ключа; сравнительно прост; имеет небольшое пространство слабых ключей; имеет большой запас прочности.