В алгоритме режима обратной загрузки шифротектса очередной блок открытого текста суммируется по модулю с блоком предыдущего шифротекста, но только после того, как этот шифротекст подвергнется дополнительной обработке функцией CIPHK. Так происходит зашифрование сообщения в этом режиме. Для расшифрования нужно просто суммировать (естественно по модулю 2) очередной блок шифротекста с предыдущим, пропущенным опять-таки через функцию CIPHK. Работа шифра проиллюстрирована на рисунке 5.
Рисунок 5 - Режим шифрования обратная загрузка шифротекста.
Уравнения режима шифрования CFB приведены ниже:зашифрование:
I1 = IV;
В режиме CFB при зашифровании входные данные для функции CIPHK формируются на основании шифротекста с предыдущей итерации алгоритма, поэтому параллельное выполнение итераций алгоритма невозможно. Однако, в режиме расшифрования CFB при условии наличия полного шифротекста все порции открытого текста можно получить одновременно.
.4.4 Обратная загрузка выходных данных
Режим OFB, как и CFB является поточным, то есть функция CIPHK вызывается в алгоритме до суммирования с порцией открытого текста. Но на этот раз на вход CIPHK подается не шифротекст с предыдущей итерации, а просто ее же выходные данные. Иллюстрация приведена на рисунке 6.
Рисунок 6 - Режим шифрования OFB - обратная загрузка выходных данных.
Ниже приведены уравнения для за- и расшифрования в режиме OFB:зашифрование:
I1 = IV;
Ij = Oj-1, где: j = 2…n,
В уравнениях приняты следующие обозначения:- вектор инициализации;j - очередной, j-ый блок открытого текста.j - очередной, j-ый блок шифротекста.
MSBr (X) - r старших бит (most significant bits) двоичного числа X
Для последнего, возможно неполного, блока сообщения используется ровно столько бит выходных данных функции CIPHK, сколько бит в этом блоке. В этом режиме, в отличие от предыдущих длина сообщения остается неизменной в процессе шифрования и, главное, при передаче.