ГОСТ является 64-битовым алгоритмом с 256-битовым ключом. ГОСТ также использует дополнительный ключ, который рассматривается ниже. В процессе работы алгоритма на 32 этапах последовательно выполняется простой алгоритм шифрования.
Для шифрования текст сначала разбивается на левую половину L и правую половину R. На этапе i используется подключ Kt. На этапе i алгоритма ГОСТ выполняется следующее:
U = Rt-i
Д,-= Z,,-.! © f№_b £,■)
Этап ГОСТ показан на Рис. 14-1. Функция f проста. Сначала правая половина и г-ый подключ складываются по модулю 232. Результат разбивается на восемь 4-битовых кусочков, каждый из которых поступает на вход ев о-его S-блока. ГОСТ использует восемь различных S-блоков, первые 4 бита попадают в первый S-блок, вторые 4 4 бита - во второй S-блок, и т.д. Каждый S-блок представляет собой перестановку чисел от 0 до 15. Например, S-блок может выглядеть как:
7, 10, 2, 4,15, 9, 0, 3, 6, 12, 5, 13, 1, 8, И
Подстановка S-блоком |
Циклический сдвиг влево |
/-и