Система Orphus

ГОСТ 28147-89 (подробно).

ГОСТ 28147-89 - блочный шифр.

  • Размер входного блока - 64 бита.
  • Размер выходного блока - 64 бита.
  • Размер ключа 256 бит.

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

Состоит из 32 последовательных раундов.

Описание одного раунда

На вход первого раунда i=1 поступает 64-битовый блок открытого текста T_0.

На вход раунда i=2,\ldots,32 поступает результат шифрования в предыдущем раунде T_{i-1}.

Входной блок T_{i-1} разделяется на равные 32-битовые половины - левую L_{i-1} и правую R_{i-1}.

На выходе получаем T_{i}=L_{i}R_{i}, где

L_{i}=R_{i-1}
R_{i}=L_{i-1}\oplus f(R_{i-1},K_{i})

Описание функции f(R_{i-1},K_i)

  1. Сложение с подключом по модулю 2^{32}: R'_{i-1}=R_{i-1}+K_i~\bmod~{2^{32}}
  2. Разделение результата на восемь частей: R'_{i-1}=B_1B_2\ldots B_8
  3. Каждый B_i поступает на свой S_i - блок, на выходе с каждого блока получаем B'_i=S_i(B_i).
  4. Выходы всех блоков объединяются в 32-битовое слово B'_1B'_2\ldots B'_8 и это слово циклически сдвигается влево на 11-битов, и мы получаем значение функции f

Получение подключа K_i

256-битовый ключ K разбивается на 8 подключей размером 32-бита: K=K_1\ldots K_8 и на каждом этапе используется свой подключ: 3 раза в прямом порядке и 1 раз в обратном.

Режимы работы ГОСТа

  • простой замены
  • гаммирования
  • гаммирования с обратной связью
  • выработки имитовставки

Режим простой замены

  • Может применяться только для шифрования открытых текстов с длиной кратной 64 бит
  • При шифрование одинаковых блоков открытого текста получаются одинаковые блоки шифротекста.

Режим гаммирования

K_0=E_k(IV)
K_{i-1}=L_{i-1}||R_{i-1}
K'_{i-1}=L_{i-1}\oplus 1010101_{16}||R_{i-1}\oplus 1010104_{16}
K_i=E_K(K'_{i-1})
C_{i}=M_i\oplus K_i

Режим гаммирования с обратной связью

C_0=IV
K_i=E_K(C_{i-1})
C_i=M_i\oplus K_i

Режим выработки имитовставки

C_i=E_K(E_K(M_i)\oplus M_{i+1})

Имитовствка - последовательность длинной L бит из зашифрованного сообщения: биты под номерами 32\cdot L,32\cdot(L-1),\ldots,32.

Достоинства ГОСТа

  • бесперспективность силовой атаки (XSL-атаки в учёт не берутся, так как их эффективность на данный момент полностью не доказана);
  • эффективность реализации и соответственно высокое быстродействие на современных компьютерах.
  • наличие защиты от навязывания ложных данных (выработка имитовставки) и одинаковый цикл шифрования во всех четырех алгоритмах ГОСТа.

Криптоанализ

  • Считается, что ГОСТ устойчив к таким широко применяемым методам, как линейный и дифференциальный криптоанализ.
  • Обратный порядок использования ключей в последних восьми раундах обеспечивает защиту от атак скольжения(slide attack) и отражения(reflection attack).
  • Ростовцев А.Г., Маховенко Е.Б., Филиппов А.С., Чечулин А.А в своей работе описали вид криптоанализа, который сводится к построению алгебраической целевой функции и нахождению ее экстремума. Были выделены классы слабых ключей, в частности показано, что разреженные ключи (со значительным преобладанием 0 или 1) являются слабыми. По мнению авторов, их метод в любом случае лучше, чем полный перебор, однако без численных оценок.
  • В мае 2011 года известный криптоаналитик Николя Куртуа доказал существование атаки на данный шифр, имеющей сложность в 2^8 раз меньше сложности прямого перебора ключей при условии наличия 2^{64} пар открытый текст/закрытый текст. Данная атака не может быть осуществлена на практике ввиду слишком высокой вычислительной сложности. Более того, знание 2^{64} пар открытый текст/закрытый текст, очевидно, позволяет читать зашифрованные тексты, даже не вычисляя ключа.
  • В большинстве других работ также описываются атаки, применимые только при некоторых предположениях, таких как определенный вид ключей или таблиц замен, некоторая модификация исходного алгоритма, или же требующие все еще недостижимых объемов памяти или вычислений. Вопрос о наличии применимых на практике атак без использования слабости отдельных ключей или таблиц замены остается открытым.

Система Orphus

Комментарии