Режим выходной обратной связи
Режим выходной обратной связи (Output-feedback, OFB) представляет собой метод использования блочного шифра в качестве синхронного потокового шифра. Этот режим похож на СРВ за исключением того, что п битов предыдущего выходного блока сдвигаются в крайние правые позиции очереди. Дешифрирование является обратным процессом. Такой режим называется и-битовым OFB. И при шифровании, и при дешифрировании блочный алгоритм работает в режиме шифрования. Это иногда называют внутренней обратной связью, потому что механизм обратной связи не зависит ни от потоков открытого текста, ни от потоков шифротекста . Если размер блока алгоритма п, то и-битовый алгоритм OFB выглядит, как показано на :
С, = Р, © S,! S, = *1, -1,) Р, = С, © Sh Si = Ek*Si,I,)
s - состояние, независящее ни от открытого текста, ни от шифротекста. К числу положительных свойств OFB относится то, что большая часть работы может быть выполнена автономно, даже до того, как появится откр ы-тый текст сообщения. Когда наконец сообщение наконец появится, для получения шифротекста над сообщением и выходом алгоритма нужно будет выполнить операцию XOR.
Вектор инициализации
В сдвиговый регистр OFB также сначала должен быть загружен IV. Он должен быть уникальным, но сохр а-нять его в секрете не обязательно.
Распространение ошибки
В режиме OFB распространения ошибки не происходит. Неправильный бит шифротекста приводит к неправильному биту открытого текста. Это может быть полезно при цифровой передаче аналоговых величин, напр и-мер оцифрованного звука или видеоизображения, когда случайный сбой бита допустим, но распространение ошибки нежелательно.
С другой стороны, потеря синхронизации смертельна. Если сдвиговые регистры при шифровании и при д е-шифрировании отличаются, то восстановленный открытый текст представляет собой бессмыслицу . Любая система, использующая режим OFB, должна включать механизм обнаружения потери синхронизации и механизм заполнения обоих сдвиговых регистров новым (или одинаковым) IV для восстановления синхронизации.
OFB и проблемы безопасности
Анализ режима OFB показывает, что OFB стоит использовать только, когда размер обратной связи совпадает с размером блока. Например, 64-битовый алгоритм нужно использовать только в 64-битовом режиме OFB. Несмотря на то, что правительство США разрешает для DES и другие размеры обратных связей DES, избегайте их.
Режим OFB выполняет XOR над потоком ключей и текстом. Этот поток ключей со временем повторяется. Важно, чтобы он не повторялся для того же ключа, в противном случае нарушается безопасность . Когда размер обратной связи равен размеру блока, блочный шифр переставляет m-битовые значения (где т - это размер блока), и средняя длина цикла составляет 2™ -1. При длине блока 64 бита это очень большое число. Когда размер обратной связи п меньше длины блока, средняя длина цикла падает до приблизительно 2'"*. Для 64-битного шифра это только * - что явно недостаточно.
Потоковые шифры в режиме OFB
Потоковые шифры также могут работать в режиме OFB. В этом случае ключ влияет на функцию следующего состояния. Функция выхода не зависит от ключа, очень часто она является чем-то простым, например, одним битом внутреннего состояния или результатом XOR нескольких битов внутреннего состояния. Криптографически сложной является функция следующего состояния, которая зависит от ключа. Этот метод также называется внутренней обратной связью, потому что механизм обратной связи является вложенным по отношению к алгоритму генерации ключей.
В одном из вариантов этого режима ключ определяет только начальное состояние генератора потока ключей . После того, как ключ определит внутреннее состояние генератора, генератор работает, не подвергаясь воздействиям извне.