Криптография - статьи


         

Ниже приведены уравнения для за-


Ниже приведены уравнения для за- и расшифрования в режиме OFB:

OFB зашифрование:


-----------------------------------------------------

OFB расшифрование:


В уравнениях приняты следующие обозначения:

IV

– вектор инициализации;

Pj

– очередной, j-ый блок открытого текста.

Cj

– очередной, j-ый блок шифротекста.

MSBr (

X) - r старших бит (most significant bits) двоичного числа X

Как можно заметить из уравнений – проблема дополнения сообщения для OFB решается просто: её для этого режима просто не существует. Для последнего, возможно неполного, блока сообщения используется ровно столько бит выходных данных функции
, сколько бит в этом блоке. Таким образом в этом режиме, в отличие от предыдущих длина сообщения остаётся неизменной в процессе шифрования и, главное, при передаче.



Шифрование со счётчиком



В потоковом режиме шифрования со счётчиком на каждой итерации алгоритма шифрования на вход функции
подаётся некое случайное значение Т. Эти входные данные должны быть различны для всех итераций алгоритма в которых блочный шифр использует один и тот же ключ шифрования, поэтому генератор таких значений иногда называют счётчиком (что даёт наиболее простой способ генерации уникальных значений T). На самом деле требование уникальности входных данных функции
при определённом значении K будет удовлетворено и в случае использования ГПК (генератора псевдослучайных кодов), но тогда необходим начальный вектор инициализации для ГПК со стороны отправителя и получателя сообщений. Режим шифрования CTR проиллюстрирован на рисунке 5.

Таким образом шифротекст в алгоритме режима CTR получается суммированием по модулю 2 очередного блока открытого текста с выходными данными функции
. На вход функции
подаётся очередное значение Tj счётчика блоков сообщения. Расшифрование происходит также путём суммирования по модулю 2 очередного блока шифротекста и результата преобразования функцией
очередного значения счётчика Tj. Обе операции за- и расшифрования в режиме CTR можно производить параллельно и независимо для всех блоков. Кроме того в этом режиме также отсутствует проблема последнего блока. Это видно из уравнений режима CTR:


Содержание  Назад  Вперед