Слайд 2Шаг 0
Определяет исходные данные для основного шага криптопреобразования:
N – преобразуемый 64-битовый
блок данных,
N1 - младшая часть
N2 - старшая часть
N=(N1,N2).
Слайд 3Ключ
Исходный 256-битный ключ разбивается на восемь 32-битных блоков: x1… x 8. Ключи
x 9… x 24 являются циклическим повторением ключей x 1… x 8 (нумеруются от младших битов к старшим). Ключи x 25… x 32 являются ключами x 1… x 8, идущими в обратном порядке.
Ключ X является массивом из восьми 32-битовых элементов кода,
Слайд 51. N1 и X1 складываются по модулю 232
2. Результат разбивается на восемь
4-битовых подпоследовательностей, каждая из которых поступает на вход своего узла таблицы замен (в порядке возрастания старшинства битов), называемого S-блоком.
Общее количество S-блоков ГОСТа — восемь. Каждый S-блок представляет собой перестановку чисел от 0 до 15. Первая 4-битная подпоследовательность попадает на вход первого S-блока, вторая — на вход второго и т. д.
3. Выходы всех восьми S-блоков объединяются в 32-битное слово, затем всё слово циклически сдвигается влево (к старшим разрядам) на 11 битов.
Слайд 64. Побитовое сложение: значение, полученное на шаге 3, побитно складывается по модулю
2
со старшей половиной преобразуемого блока.
5. Сдвиг по цепочке: младшая часть преобразуемого блока сдвигается на место старшей, а на ее место помещается результат выполнения предыдущего шага.
6. Полученное значение преобразуемого блока возвращается как результат выполнения
алгоритма основного шага криптопреобразования.
После выполнения всех 32 раундов алгоритма, блоки склеиваются.