Алгоритм криптографического преобразования данных ГОСТ 28147-89: основной шаг криптопреобразования

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

Схема алгоритма основного шага приведена на рисунке 5. Ниже даны пояснения к алгоритму основного шага:

Шаг 0. Определяет исходные данные для основного шага криптопреобразования: N – преобразуемый 64-битовый блок данных, в ходе выполнения шага его младшая (N1) и старшая (N2) части обрабатываются как отдельные 32-битовые целые числа без знака. Таким образом, можно записать N=(N1,N2) ;

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

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

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

Схема алгоритма основного шага приведена на рисунке 5. Ниже даны пояснения к алгоритму основного шага:

Шаг 0. Определяет исходные данные для основного шага криптопреобразования: N – преобразуемый 64-битовый блок данных, в ходе выполнения шага его младшая (N1) и старшая (N2) части обрабатываются как отдельные 32-битовые целые числа без знака. Таким образом, можно записать N=(N1,N2) ;

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

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

Алгоритм криптографического преобразования данных ГОСТ 28147-89: базовые циклы криптографических преобразований

Алгоритмы зашифрования, расшифрования и «учета» в контрольной комбинации одного блока называются базовыми циклами ГОСТа, что подчеркивает их фундаментальное значение для построения этого шифра.

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

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

K0,K1,K2,K3,K4,K5,K6,K7,K0,K1,K2,K3,K4,K5,K6,K7,K0,K1,K2,K3,K4,

K5,K6,K7,K7,K6,K5,K4,K3,K2,K1,K0.