Шифрование
Об алгоритме шифрования и ключе договариваются во время обмена ключа. Когда шифрование присутствует, длина пакета, длина добавления, содержимое и поля добавления каждого пакета должны шифроваться данным алгоритмом.
Зашифрованные данные во всех пакетах, посылаемые в одном направлении, должны рассматриваться как единый поток данных. Все алгоритмы шифрования должны использовать длину ключа не менее 128 битов.
Алгоритмы шифрования для каждого направления должны выполняться независимо друг от друга, и реализации должны позволять независимое изменение алгоритма для каждого направления (если локальная политика позволяет использование нескольких алгоритмов).
Рacket_length | Длина пакета (в байтах), не включая поля МАС и packet_length. |
Рadding_length | Длина дополнения (в байтах). |
Payload | Полезное содержимое пакета. Если договариваются о сжатии, это поле сжимается. Первоначально компрессия не устанавливается |
Padding | Добавление произвольной длины такое, что общая длина (packet_length || padding_length || payload || padding) кратна размеру блока шифрования или 8 байтам, в зависимости от того, что больше. Должно быть, по крайней мере, четыре байта добавления. Добавление должно состоять из случайных байтов. Максимальная длина добавления равна 255 байтов |
МАС | Аутентификационный код сообщения. Если договариваются об аутентификации сообщения, это поле содержит байты МАС. Первоначально алгоритм МАС должен быть "none" |