Режим обратной связи по выходу

Материал из Википедии — свободной энциклопедии
(перенаправлено с «Output Feedback»)
Перейти к навигации Перейти к поиску

Режим обратной связи по выходу (англ. 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.