logo
Сборная ответов к госэкзаменам

Режим обратной связи по шифру (cfb)

Блочный шифр может быть реализован и как самосинхронизирующийся потоковый шифр. Такой режим называется режимом обратной связи по шифру (cipher-feedback, CFB). В режиме CBC шифрование не могло начаться, пока не получен целый блок данных. Это создает проблемы для некоторых сетевых приложений. Например, в безопасной сетевой среде терминал должен иметь возможность передавать главному компьютеру каждый символ сразу, как только он введен. Если данные нужно обрабатывать байтами, режим CBC также не работает.

В режиме CFB единица зашифрованных данных может быть меньше размера блока. В следующем примере каждый раз шифруется только один символ ASCII (это называется 8-битовым шифрованием), но в числе 8 нет ничего волшебного. Вы можете шифровать данные по одному биту с помощью 1-битового CFB, хотя использование для единственного бита полного шифрования блочным шифром потребует много ресурсов, потоковый шифр в этом случае был бы идеей получше. Можно также использовать 64-битовый CFB, или любой n-битовый CFB, где n больше или равно размеру блока.

На рисунке показан 8-битовый режим CFB, работающий с 64-битовым алгоритмом. Блочный алгоритм в режиме CFB работает с очередью, размер которой равен размеру используемого блока. Сначала очередь заполнена IV, как и в режиме CBC. Очередь шифруется и для крайних левых восьми битов результата выполняется XOR с первыми 8-битовым символом открытого текста для получения первого 8-битового символа шифротекста. Теперь этот символ передается. Те же восемь битов также передвигаются на место крайних правых восьми битов очереди, а крайними левыми битами становятся следующие восемь битов. Крайние восемь левых битов отбрасывается. Следующий символ открытого текста шифруется тем же способом. Дешифрирование является обратным процессом. И шифрующей, и дешифрирующей стороной блочный алгоритм используется в режиме шифрования.

Если размер блока алгоритма - n, то -битовый CFB выглядит следующим образом (см. рис):

Ci = Pi Ek(Ci-1)

Pi = Ci Ek(Ci-1)

Pi блок открытого текста, C0 – вектор инициализации

Рис. Режим 8-битовой обратной связи по шифру.

Рис. n-битовый CBF с n-битовым алгоритмом.

Как и режим CBC, режим CFB связывает вместе символы открытого текста так, что шифротекст зависит от всего предшествующего открытого текста.

Yandex.RTB R-A-252273-3
Yandex.RTB R-A-252273-4