NEW
Adding data to messages to meet block-size requirements or obscure length in cryptographic and communication protocols.
DESCRIPTION
Padding ensures plaintext aligns with block cipher sizes and can mask message length. Schemes include PKCS#7 for symmetric ciphers and OAEP/PSS for RSA. Incorrect padding handling introduces vulnerabilities, like padding oracle attacks. Proper implementation with authenticated encryption and constant-time checks is essential. Streaming ciphers avoid padding, offering different trade-offs for performance and security.
ALTERNATIVE DEFINITIONS
Wikipedia
In cryptography, padding is any of a number of distinct techniques which enable plaintext to be extended to a multiple of some block size.
Defines padding generically for block-size alignment.
NIST
If the bit length of the data is not a multiple of the block size, padding is required.
Normative guidance tied to block cipher modes.
IETF
The padding octets that are added to the end of the data are the value of the number of padding octets added.
Specifies PKCS#7/CMS padding byte semantics.
RELATED TERMS
Symmetric Block Cipher Algorithms Rijndael PKCS#7 OAEP RSA-PSS CBC Mode MAC Block Size
COMPETING TERMS
KNOWLEDGE AREAS
Data Security Data Privacy & Compliance Infrastructure
TARGET AUDIENCE
Security Architect Cybersecurity Engineer Chief Information Security Officer Software Developer Data Privacy Officer
EXTERNAL SOURCES
- Wikipedia - Padding (cryptography)
- NIST - Block cipher modes and padding guidance
- IETF - CMS with PKCS#7 padding details
- OpenSSL - API docs mentioning padding behavior
TOP QUESTIONS
Why is Padding necessary in block ciphers?
It ensures plaintext length is a multiple of the block size, enabling correct encryption and decryption.
Category: Overview
What are common Padding schemes?
PKCS#7 for symmetric encryption, and OAEP/PSS for RSA are widely used padding schemes.
Category: Scope
What is a Padding Oracle attack?
It exploits improper padding validation to leak information, enabling decryption or forgery; use AEAD and constant-time checks to mitigate.
Category: Risks
Do stream ciphers require Padding?
No, stream ciphers operate on variable-length streams and do not require block-size alignment.
Category: Alternatives
How is Padding handled in CMS/PKCS#7?
Padding bytes indicate the count of added bytes; implementations must validate and remove them correctly.
Category: HowTo
What mistakes occur when implementing Padding?
Using non-standard schemes, failing to authenticate ciphertext, and variable-time error reporting can introduce vulnerabilities.
Category: Mistakes
Is Padding used to hide message length?
Yes, padding or cover traffic can obscure lengths, aiding privacy and traffic analysis resistance.
Category: UseCase
What is currently a hot topic around Padding?
Using AEAD modes and deterministic padding for privacy-preserving protocols is widely discussed.
Category: Topic
How to test Padding correctness?
Use known-answer tests, cross-implementation compatibility checks, and fuzzing to validate padding behaviors.
Category: Testing