Набивка

Большинство сообщений точно не делятся на 64-битные (или любого другого размера) блоки шифрования, в конце обычно оказывается укороченный блок. ЕСВ требует использовать 64-битные блоки. Способом решения этой проблемы является набивка.

Последний блок дополняется (набивается) некоторым регулярным шаблоном - нулями, единицами, чер е-дующимися нулями и единицами - для получения полного блока. При необходимости удалить набивку после дешифрирования запишите количество байтов набивки в последний байт последнего блока . Например, пусть размер блока - 64 бита, и последний блок состоит из 3 байтов (24 бит). Для дополнения блока до 64 бит требу­ется пять байтов, добавьте четыре байта нулей и последний байт с числом 5. После дешифрирования удалите последние 5 байтов последнего расшифрованного блока. Чтобы этот метод работал правильно, каждое сообще­ние должно быть дополнено. Даже если открытый текст содержит целое число блоков, вам придется добавить один полный блок. С другой стороны, можно использовать символ конца файла для обозначения последнего байта открытого текста и дополнить этот символ ег.

На 8-й показан другой вариант, называемый похищением шифротекста[402]. Рп., - последний полный блок открытого текста, а Р„ - последний, короткий блок открытого текста. С„., - последний полный блок шифро­текста, и Сп - последний, короткий блок шифротекста. С" - это промежуточный результат, не являющийся ча­стью переданного шифротекста.


Шифрование


Дешифрирование


 


Рп-1


Рп


С


Сп-1


Сп