pub enum Padding {
None,
Pkcs7,
Iso9797M1,
Iso9797M2,
AnsiX923,
}Expand description
Padding scheme used at the end of an Cipher block-mode stream.
Padding only applies to ECB and CBC. CTR mode requires
Padding::None and the constructor will return
Error::InvalidPaddingForMode otherwise.
Variants§
None
No padding. Caller must feed a multiple of the block size in
total; otherwise finalize returns Error::UnpaddedInput.
Pkcs7
PKCS#7 padding (RFC 5652 §6.3). Pads with n copies of the
byte n, where n is the number of bytes added (1..=block).
Always adds at least one byte. Equivalent to JCE’s
PKCS5Padding for 8-byte blocks.
Iso9797M1
ISO/IEC 9797-1 Padding Method 1: append 0x00 bytes until the
block is full. Adds zero bytes if the input is already
block-aligned, which makes the operation lossy on decryption
(trailing zero bytes of the original message are
indistinguishable from padding). Also known as zero
padding.
Iso9797M2
ISO/IEC 9797-1 Padding Method 2: append 0x80 followed by as
many 0x00 bytes as needed to fill the block. Always adds at
least one byte. Identical to ISO/IEC 7816-4 padding (also
called “bit padding”).
AnsiX923
ANSI X9.23 padding: append 0x00 bytes followed by a final
byte holding the padding length. Always adds at least one
byte. Legacy; ships for interop with X9.23-encoded data.