Шифр ГОСТ 28147-89

Данный алгоритм симметричного шифрования был разработан в СССР и в качестве стандарта утвержден в 1989 году. Он считается достаточно стойким и широко используется в России теми предприятиями и организациями, которым, в силу особенностей сферы их деятельности, необходимо применять сертифицированные средства криптографической защиты данных (это государственные и военные структуры, организации банковской сферы и т. д.).

Этот шифр преобразует сообщение 64-битными блоками, преобразование осуществляется в соответствии со схемой Фейстеля в 32 раунда, размер ключа — 256 бит. Алгоритм предусматривает 4 режима работы:

  • - шифрование данных в режиме простой замены (аналог режима ЕСВ для шифра DES);
  • - шифрование данных в режиме гаммирования (аналог режима OFB для шифра DES);
  • - шифрование данных в режиме гаммирования с обратной связью;
  • - выработка имиговставки.

Ниже будет рассмотрен режим простой замены, являющийся основой для построения других режимов. Схема раунда шифрования приведена на рис. 2.12.

Преобразование производится в следующем порядке. Правый полублок х складывается по модулю 232 (сложение 32-разрядных двоичных значений без переноса старшего разряда) с раундовым ключом К,. Далее выполняется подстановка, задаваемая таблицами So, ..., Sy, и полученное значение преобразуется с помощью циклического сдвига влево на 11 позиций. После этого выполняется побитное сложение по модулю 2 с левым полублоком LiA и перестановка по- лублоков.

Расписание использования раундовых ключей формируется следующим образом. 256-бигный секретный ключ К представляется в виде сцепления 8-ми 32-битных подключей К=К1КьК5КлК7,К2ККп. На первом раунде берется 0-й подключ, на втором — 1-й и т. д., на 9-м раунде опять используется 0-й подключ, на 24-м — 7-й, а вот на 25-м раунде преобразования вновь используется 7-й и далее ключи используются в обратном порядке. Иными словами, помер раундово- го ключа j зависит от номера раунда i следующим образом:

Схема раунда алгоритма ГОСТ 28147-89

Рис. 2.12. Схема раунда алгоритма ГОСТ 28147-89

Подстановка проводится после разбиения входного значения на 4-битные подблоки. После того как правый полублок R был сложен с раундовым подюиочем, он разбивается на 8 частей /?=/?7l/?6l/?5l&tl/?3l/?2l/?il/?o. Таблица подстановок S, представляет собой вектор с 16-ю 4-битовыми элементами. Из нее берется элемент, номер которого совпадает со значением /?„ пришедшим на вход подстановки. Надо отметить, что значения таблиц подстановки не определены стандартом, как это сделано, например, в шифре DES. В то же время стойкость алгоритма существенно зависит от их правильного выбора.

Считается, что конкретные значения этих таблиц должны храниться в секрете и это своеобразные ключевые элементы, которые являются общими для всей организации или подразделения и редко изменяются.

По сравнению с шифром DES у ГОСТ 28147-89 есть следующие достоинства:

  • - существенно более длинный ключ (256 бит против 56 у шифра DES), атака на который путем полного перебора ключевого множества па данный момент представляется невыполнимой;
  • - простое расписание использования ключа, что упрощает реализацию алгоритма и повышает скорость вычислений.
 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ     След >