Режим обратной связи по выходу (Jy'nb kQjgmukw vfx[n hk fd]k;r)

Перейти к навигации Перейти к поиску

Режим обратной связи по выходу (англ. Output Feedback, OFB) — один из вариантов использования симметричного блочного шифра. Особенностью режима является то, что в качестве входных данных для алгоритма блочного шифрования не используется само сообщение. Вместо этого блочный шифр используется для генерации псевдослучайного потока байтов, который с помощью операции XOR складывается с блоками открытого текста. Подобная схема шифрования называется потоковым шифром (англ. stream cipher).

Определение

[править | править код]

Схема шифрования в режиме OFB определяется следующим образом:

  для  

Где — вектор инициализации, — ключевой поток, — ключ шифрования, — функция шифрования блока, — количество блоков открытого текста в сообщении, и — блоки шифрованного и открытого текстов соответственно.

Шифрования в режиме обратной связи по выходу (OFB)
Расшифрование в режиме обратной связи по выходу (OFB)

Особенности режима

[править | править код]
  • Значение вектора инициализации должно быть уникальным для каждой процедуры шифрования одним ключом. Его необязательно сохранять в секрете и оно может быть передано вместе с шифротекстом.
  • Алгоритм дешифрования в режиме OFB полностью совпадает с алгоритмом шифрования. Функция дешифрования блочного алгоритма не используется в данном режиме, т.к. ключевой поток генерируется только функцией шифрования блока.

Режим OFB наглядно демонстрирует одну из проблем потоковых шифров.[1] При использовании одного и того же вектора инициализации для шифрования нескольких сообщений будет сгенерирован одинаковый поток ключей. Предположим, что и — два разных сообщения для шифрования ключом . Зашифруем исходные сообщения в режиме OFB и получим два шифротекста — и , соответственно. Таким образом, будет справедливо следующее тождество:

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

  • Появление коллизии в ключевом потоке (или совпадение вектора инициализации и одного из ключевых блоков) приведёт к циклическому повторению ключевой последовательности, что может вызвать нарушение безопасности режима шифрования, как показано в предыдущем пункте.
  • Распространение ошибки в данном режиме не происходит. Изменение одного бита в шифрованном тексте приведет к изменению одного бита при дешифровании. Однако, потеря бита в шифротексте приведет к некорректному дешифрованию всех последующих битов.

Примечания

[править | править код]
  1. Нильс Фергюсон, Брюс Шнайер. 5.4 Обратная связь по выходу (OFB) // Практическая криптография = Practical Cryptography: Designing and Implementing Secure Cryptographic Systems. — М. : Диалектика, 2004. — 432 с. — 3000 экз. — ISBN 5-8459-0733-0, ISBN 0-4712-2357-3.

Литература

[править | править код]
  • Шнайер Б. 9.8. Режим выходной обратной связи // Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си = Applied Cryptography. Protocols, Algorithms and Source Code in C. — М.: Триумф, 2002. — 816 с. — 3000 экз. — ISBN 5-89392-055-4.