The NULL Encryption Algorithm and Its Use With IPsec
Extracted elements (11)
Because of the stateless nature of the NULL encryption algorithm, it is not necessary to transmit an IV or similar cryptographic synchronization data on a per-packet or per-SA basis.
ESP_NULL differs from AH in that it does not include the IP header when calculating authentication data. This can be useful for providing IPsec services through non-IP network devices.
NULL encryption is defined as the identity function NULL(b) = I(b) = b, providing a convenient way to represent the option of not applying encryption within ESP. This allows ESP to provide authentication and integrity without confidentiality.
NULL has a block size of 1 byte, so padding is not necessary. This is a direct consequence of the identity function definition.
ESP_NULL is identified as ESP_NULL in the IPsec DOI [RFC 2407]. The key size and IV size are both mandated to be zero bits to ensure interoperability across implementations.
For purposes of IKE key extraction, the key size for the NULL algorithm MUST be zero (0) bits to facilitate interoperability and avoid potential export control problems.
Padding MAY be included on outgoing packets as specified in [ESP].
To facilitate interoperability, the IV size for the NULL algorithm MUST be zero (0) bits.
NULL is defined as a block cipher with a block size of 1 byte using the identity function. It supports keys of varying lengths, though no measurable security increase comes from longer keys.
The NULL encryption algorithm offers no confidentiality nor any other security service. ESP_NULL is considered no less secure than AH when using the same authentication algorithm, but an ESP SA MUST specify at least one cryptographically strong encryption or authentication algorithm.
While encryption and authentication are individually optional in ESP, it is imperative that an ESP SA specifies the use of at least one cryptographically strong encryption algorithm or one cryptographically strong authentication algorithm or one of each.