4
Это поле является полем переменной длины и содержит данные в
соответствии с полем “Next Header”. Данной поле является обязательным и
состоит из целого числа байтов (октетов). Если алгоритм, используемый для
шифрования этого поля, требует данных для синхронизации криптопроцессов
(например, вектор начальной установки (ВНУ) — “Initialization Vector”), то
тогда это поле может содержать эти данные в
явном виде. Любой
криптоалгоритм, который требует такой процедуры, должен в своем стандарте
(RFC) содержать всю необходимую информацию о размере ВНУ, струтуре
данных, их местоположении в поле полезной нагрузки, как алгоритм который
используется совместно с ESP-протоколом. Более того, если данные для
синхронизации криптопроцессов представлены в поле полезной нагрузки в
неявном виде, то
тогда в стандарте (RFC) должен быть специальный раздел,
который раскрывает алгоритм “извлечения” такой информации.
(
Замечание. В целях гарантированной синхронизации (реального)
шифртекста при наличии в нем ВНУ:
n для некоторых режимов функционирования, основанных на ВНУ —
приемный криптомодуль (криптопроцесс) обрабатывает ВНУ как стартовую
синхропоследовательность основного шифртекста, который поступает
прямо на расшифрование в прикладной криптопроцесс. В этих режимах,
вопрос обработки стартовой синхропоследовательности основного
шифртекста в приемном криптомодуле неактуален;
o в некоторых случаях, приемный криптомодуль анализирует ВНУ отдельно
от основного шифртекста. В таких случаях, стандарт на криптоалгоритм
должен расскрывать механизм синхронизации (реального) шифртекста.)
2.4. Дополнение (для процедуры шифрования)
Существует несколько причин использования поля “Дополнение”
(“Padding”), вот некоторые из них:
c применение криптоалгоритма, который требует, чтобы открытый текст
был кратен некоторому числу октетов (байтов), например, размеру блока
для блочного шифра. Тогда используется поле “Дополнения”, чтобы
дополнить открытый текст (включая собственно поле “Дополнение”, поле
“Размер поля “Дополнение”, а также поле “Следующий заголовок”, то
есть все три поля выступают в роли дополнения открытого
текста) до
размера, который требуется криптоалгоритмом;
d поле “Дополнение” может потребоваться даже невзирая на требования
криптоалгоритма. Например, когда рузультирующий шифртекст
“заканчивается” на 4-байтовой границе. Тогда (на рис.1 это видно),
справа должны размещаться два поля “Размер поля “Дополнение” и
“Следующий заголовок”, причем в рамках 32-битового слова (4