Алгоритм блочного шифрования

Отечественным аналогом DES является алгоритм блочного шифрования, специфицированный в ГОСТ 28147-89. Разработчики данного алгоритма сумели органично соединить в нем две важные, но трудносочетающиеся друг с другом характеристики:
• высокую криптографическую стойкость алгоритма;
• возможность эффективного программного исполнения (за счет использования узлов, реализуемых на современной аппаратно-программной платформе).
Алгоритм работает с 64-битными входными блоками, 64-битными выходными блоками и ключами длиной 256 бит. Использование 256-битного ключа позволяет не обращать внимания на возможность атаки с применением «грубой силы», поскольку мощность большинства ключей равна 225G. При этом данный алгоритм предполагает как эффективную программную, так и аппаратную реализацию.
Алгоритм может применяться в следующих рабочих режимах:
• простая замена;
• гаммирование;
• гаммирование с обратной связью;
• выработка имитовставки.
Числовое представление битового входа однозначно определяет последовательный номер числа в подстановке и битовое представление соответствующего числа; таким же оно будет и на выходе S-бокса. Для каждого S-бокса задается своя подстановка, которая является долговременным секретным ключом. Генерация подстановок в S-боксах является сложной математической задачей, от решения которой как раз и зависит стойкость этого алгоритма. Подобный прием служит также для развязывания различных сетей передачи данных - очевидно, что расшифрование будет успешным, если принимающая и передающая стороны используют одинаковые подстановки. Таким образом, в сети передачи данных абоненты с одинаковыми подстановками имеют возможность обмениваться зашифрованной информацией, что позволяет создавать выделенные группы пользователей с засекреченной связью.
После S-боксов последовательность поступает в циклический регистр сдвига, который осуществляет смещение на 11 шагов влево. Использование данного регистра вместо перестановок, используемых в DES, обусловлено тем, что данный регистр легко реализуется как программно (за счет использования битовой операции циклического сдвига), так и аппаратно. При этом эффект распространения влияния каждого бита блока открытого текста на каждый бит блока зашифрованного текста достигается за счет прохождения преобразуемого блока через данный регистр 32 раза.
Далее происходит поразрядное суммирование по модулю 2 содержимого регистра циклического сдвига с содержимым регистра N2. Результат суммирования записывается в регистр Nl7 а содержимое регистра N2 принимает предыдущее значение Ni.
Все эти операции составляют один раунд преобразования (реализация функции f) очередного блока открытого текста. Специфика различных типов применения ГОСТ вносит свои дополнения в раунды зашифрования и соответственно расшифрования.

Тэги:

Рекомендуем почитать