Шифр Магма
Шифр «Магма» является действующим российским стандартом симметричного шифрования, фактически это еще советский шифр ГОСТ 28147-89, но с фиксированными таблицами замен.
Алгоритм построен на сети Фейстеля, имеет размер блока 64 бит, 256-битный раундовый ключ и выполняет 32 раунда шифрования. Структура раунда алгоритма достаточно проста, что обеспечивает неплохие скоростные характеристики шифра даже при достаточно большом числе раундов.
В каждом раунде алгоритма выполняются следующие преобразования.
Наложение раундового ключа. Содержание подблока Ri складывается по модулю 232 с 32-битовым раундовым ключом раунда Kj.
Раундовые ключи получаются из исходного 256-битового ключа шифрования простым делением на восемь частей: K0, K1, K2, K3, K4, K5, K6, K7.
В процессе шифрования подключи Kj используются в соответствии со следующим расписанием:
- с 1 по 24 раунд – в прямой последовательности: K0, K1, K2, K3, K4, K5, K6, K7, …
- с 25 по 32 раунд – в обратной последовательности: K7, K6, K5, K4, K3, K2, K1, K0.
Нелинейная замена. После наложения ключа 32-битовый блок разбивается на 8 частей по 4 бита, значение каждой из которых по отдельности заменяется в соответствии с одной из 8 таблиц замен (S-блоком).
Каждый S-блок алгоритма ГОСТ представляет собой вектор (одномерный массив) с 16 элементами, пронумерованными числами от 0 до 15:
- S0 = (12, 4, 6, 2, 10, 5, 11, 9, 14, 8, 13, 7, 0, 3, 15, 1);
- S1 = (6, 8, 2, 3, 9, 10, 5, 12, 1, 14, 4, 7, 11, 13, 0, 15);
- S2 = (11, 3, 5, 8, 2, 15, 10, 13, 14, 1, 7, 4, 12, 9, 6, 0);
- S3 = (12, 8, 2, 1, 13, 4, 15, 6, 7, 0, 10, 5, 3, 14, 9, 11);
- S4 = (7, 15, 5, 10, 8, 1, 6, 13, 0, 9, 3, 14, 11, 4, 2, 12);
- S5 = (5, 13, 15, 6, 9, 2, 12, 10, 11, 7, 8, 1, 4, 3, 14, 0);
- S6 = (8, 14, 2, 5, 6, 9, 1, 12, 15, 4, 11, 0, 13, 10, 3, 7);
- S7 = (1, 7, 14, 13, 0, 5, 8, 3, 4, 15, 10, 6, 9, 12, 11, 2).
Из таблицы S-блока извлекается элемент, порядковый номер которого совпадает с входным значением подстановки. Значениями S-блока также являются 4-битовые значения (целые числа от 0 до 15).
Циклический сдвиг битов обрабатываемого подблока влево на 11 битов.
Расшифрование осуществляется по этой же схеме, но с другим расписанием использования ключей:
- с 1 по 8 раунд – в прямой последовательности: K0, K1, K2, K3, K4, K5, K6, K7;
- с 9 по 32 раунд – в обратном порядке: K7, K6, K5, K4, K3, K2, K1, K0, …
Подстановочно-перестановочные шифры (SP-сети) преобразуют входной блок целиком, за счет чего на каждом шаге обеспечивается гораздо более быстрое перемешивание входных данных по сравнению со схемой Фейстеля, поэтому современные криптосистемы на SP-сетях обеспечивают необходимую вычислительную стойкость за меньшее, по сравнению со схемой Фейстеля, число раундов.
На SP-сетях основаны шифры SAFER+, Serpent, действующий американский стандарт симметричного шифрования AES, а также шифр «Кузнечик» российского стандарта ГОСТ Р 34.122015.
- Оформление отчета по практике по ГОСТу 2021/2022
- Оформление ВКР по ГОСТу
- Как составить бизнес-план своими силами
- Оформление эссе по ГОСТу
- Оформление презентации по ГОСТу
- Оформление статьи по ГОСТу
- Оформление дипломной работы по ГОСТ 2021/2022
- Оформление курсовой работы по ГОСТу
- Оформление контрольной работы по ГОСТу