Информация делиться на блоки по 32 бита каждый
С каждым блоком проводится цикл криптопреобразования – основной цикл.
Основной цикл состоит из последовательности однотипных действий – основных шагов.
Из последовательности применения основных циклов к блокам информации и складывается базовое преобразование алгоритма криптографического преобразования.
Ключ представлен в трех частях: в виде собственно ключа К, в виде начальной инициализации S, в виде постоянного ключа – таблицы замен Н.
В соответствии с принципом Кирхгофа, которому удовлетворяют все современные известные широкой общественности шифры, именно ее секретность обеспечивает секретность зашифрованного сообщения. В алгоритме непостоянная ключевая информация состоит из двух структур данных ключа и начальной инициализации S. Помимо собственно ключа, необходимого для всех шифров, она содержит еще и таблицу замен.
1. Ключ является массивом из четырех 16-битных элементов кода, далее в настоящей работе он обозначается символом К: . В ГОСТе элементы ключа используются как 16-разрядные целые числа без знака: . Таким образом, размер ключа составляет 16•4=64 бит или 8 байт.
2. Таблица замен является матрицей 4?16, содержащей 4-х битовые элементы, которые можно представить в виде целых чисел от 0 до 15. Строки таблицы замен называются узлами замен, они должны содержать различные значения, то есть каждый узел замен должен содержать 16 различных чисел от 0 до 15 в произвольном порядке. В настоящей статье таблица замен обозначается символом H: . Таким образом, общий объем таблицы замен равен: 4 узла ? 16 элементов/узел ? 4 бита/элемент = 256 бит или 32 байта.
В алгоритм построен на применении операции XOR (исключающее ИЛИ) на различных уровнях преобразования данных. Операция XOR не улучшает статистику, т.е. если мы возьмем случайный набор бит и произведем операцию XOR с неслучайным числом, то получим случайное число. Т.к. в криптографии очень важно придать шифрованному сообщению случайный характер, то операция XOR является лучшей для криптопреобразований.
Операция XOR (сложение по модулю 2) не ведет к потере информации, т.е. если С=A ХОR B, то A=C XOR B и B=A XOR C. При знании ключевой информации это свойство делает не затруднительным обратное криптопреобразование.
