Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпора крипта экзамен.docx
Скачиваний:
37
Добавлен:
22.09.2019
Размер:
724.74 Кб
Скачать

37. Российский стандарт шифрования гост 28147-89

Гост-28.147-89 устанавливает единый алгоритм шифрования данных. Стандарт является обязательным для организаций, предприятий и учреждений применяющих крипто-защиту данных, хранимых и передаваемых в сетях ЭВМ и хранимых в ЭВМ. Этот алгоритм криптографический преобразований данных не накладывает ограничений на степень секретности на степень защищаемой информации. Этот алгоритм шифрования данных представляет собой 64 битовый блочный алгоритм с 256 битовым ключом. Для описания алгоритма Используются следующие обозначения:

L и R-последовательности битов

LR-конкатенация последовательностей L и R

-операция побитового сложения

-операция сложения по модулю 2^32

-операция сложения двух 32-разрядных чисел по модулю 2^32-1

Алгоритм предусматривает четыре режима работы:

  1. Шифрование данных в режиме простой замены

  2. Шифрование данных в режиме гамирования

  3. Шифрование данных в режиме гамирования с обратной связью

  4. Выработка имито-вставки

Режим простой замены: в этом режиме работают только часть блоков общей криптосистемы. Обозначения:

N1,N2-32-разрядные накопители

СМ1-32-разрядный сумматор по модулю 2^32

СМ2-32-разрядный сумматор по модулю 2

R- 32-разрядный регистр циклического сдвига

КЗУ- ключевое запоминающее устройство

S-блок подстановки, состоящий из 8 узлов замены

Зашифрование открытых данных в режиме простой замены: Открытые данный подлежащие зашифрованию разбиваются на 64 битные блоки То, процедура зашифрования 64 разрядного блока То в режиме простой замены включает 32 цикла, в КЗУ вводят 256 битный ключ в виде восьми 32-разрядных под ключей Кi 0<i<7.

Криптографическое преобразование содержит алгоритмы нескольких уровней. На самом верхнем уровне находятся практические алгоритмы, предназначенные для шифрования массивов данных и выработки для них имитовставки. Все они опираются на три алгоритма низшего уровня, называемые базовыми циклами. Они имеют следующие названия и обозначения:

  • цикл зашифрования;

  • цикл расшифрования;

  • цикл выработки имитовставки.

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

В ГОСТе ключевая информация состоит из двух структур данных. Помимо собственно ключа, необходимого для всех шифров, она содержит еще и таблицу замен.

Схема алгоритма основного шага приведена на рисунке 1.

Рисунок 1. Схема основного шага криптопреобразования алгоритма ГОСТ 28147-89

Шаг 0

Определяет исходные данные для основного шага криптопреобразования:

  • N – преобразуемый 64-битовый блок данных, в ходе выполнения шага его младшая (N 1) и старшая (N 2) части обрабатываются как отдельные 32-битовые целые числа без знака. Таким образом, можно записать N=(N 1,N 2).

  • X – 32-битовый элемент ключа;

Шаг 1

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

Шаг 2

Поблочная замена. 32-битовое значение, полученное на предыдущем шаге, интерпретируется как массив из восьми 4-битовых блоков кода: S=(S 0, S 1, S2, S 3, S 4, S5, S 6, S 7), причем S 0 содержит 4 самых младших, а S7 – 4 самых старших бита S.

Далее значение каждого из восьми блоков заменяется новым, которое выбирается по таблице замен следующим образом: значение блока Si меняется на Si -тый по порядку элемент (нумерация с нуля) i-того узла замены (т.е. i-той строки таблицы замен, нумерация также с нуля). Другими словами, в качестве замены для значения блока выбирается элемент из таблицы замен с номером строки, равным номеру заменяемого блока, и номером столбца, равным значению заменяемого блока как 4-битового целого неотрицательного числа. Отсюда становится понятным размер таблицы замен: число строк в ней равно числу 4-битовых элементов в 32-битовом блоке данных, то есть восьми, а число столбцов равно числу различных значений 4-битового блока данных, равному как известно 24, шестнадцати.

Шаг 3

Циклический сдвиг на 11 бит влево. Результат предыдущего шага сдвигается циклически на 11 бит в сторону старших разрядов и передается на следующий шаг. На схеме алгоритма символом обозначена функция циклического сдвига своего аргумента на 11 бит влево, т.е. в сторону старших разрядов.

Шаг 4

Побитовое сложение: значение, полученное на шаге 3, побитно складывается по модулю 2 со старшей половиной преобразуемого блока.

Шаг 5

Сдвиг по цепочке: младшая часть преобразуемого блока сдвигается на место старшей, а на ее место помещается результат выполнения предыдущего шага.

Шаг 6

Полученное значение преобразуемого блока возвращается как результат выполнения алгоритма основного шага криптопреобразования.

Цикл зашифрования 32-З

K 0,K1,K2,K 3,K4,K5,K 6,K7,K0,K 1,K2,K3,K 4,K5,K6,K 7,K0,K1,K 2,K3,K4,K 5,K6,K7,K 7, K6,K5,K 4,K3,K2,K 1,K0.

Цикл расшифрования 32-Р

K 0,K1,K2,K 3,K4,K5,K 6,K7,K7,K 6,K5,K4,K 3,K2,K1,K 0,K7,K6,K 5,K4,K3,K 2,K1,K0,K 7, K6,K5,K 4,K3,K2,K 1,K0.

Цикл выработки имитовставки 16-З

K 0,K1,K2,K 3,K4,K5,K 6,K7,K0,K 1,K2,K3,K 4,K5,K6,K 7.