NEW
A secret value added to password hashing, stored separately from hashes to increase resistance against database compromise.
DESCRIPTION
A pepper is a secret, application-wide value combined with a password during hashing to harden storage against compromise. Unlike salts, peppers are not stored alongside hashes and are kept in secure storage (e.g., HSM or secrets manager). If a database is breached, the attacker still needs the pepper to verify guesses. Peppers complement unique per-record salts and slow KDFs such as Argon2, scrypt, or PBKDF2. Management of pepper secrecy and rotation is critical.
ALTERNATIVE DEFINITIONS
OWASP Cheat Sheet Series
A pepper is a secret added to the password before hashing; unlike a salt, it is not stored with the password.
Contrasts pepper with salt, emphasizing secrecy and storage.
Wikipedia
In cryptography, a pepper is a secret added to an input such as a password prior to hashing.
Plain definition focused on secrecy of the additional input.
RELATED TERMS
Password Hashing Password-Based Key Derivation Function 2 scrypt Argon2 Key Derivation Function Hardware Security Module Knowledge Management System Secrets Management Credential Hardening
COMPETING TERMS
KNOWLEDGE AREAS
TARGET AUDIENCE
Security Architect Cybersecurity Engineer Software Developer DevOps Engineer
EXTERNAL SOURCES
- Wikipedia - Pepper (cryptography)
- OWASP - Guidance on peppers, salts, and KDFs.
- Google Cloud KMS - Storing peppers in secure key services.
TOP QUESTIONS
Why use a pepper when salts already exist?
Salts defeat precomputation; a pepper adds an extra secret barrier so a database breach alone isn’t enough to verify guesses.
Category: Benefits
Where should a pepper be stored?
In a secrets manager or HSM/KMS separate from the database and application configuration.
Category: BestPractices
How often should a pepper be rotated?
Rotate based on risk and operational feasibility; design for rolling rehash or split-key schemes to minimize user impact.
Category: Management
Does peppering replace salts?
No. Use unique per-record salts with a slow KDF; peppering is a complementary defense.
Category: Misunderstanding
What are risks of using a pepper?
Pepper loss may prevent password verification; inadequate separation or logging exposure can leak the pepper.
Category: Risks
How is a pepper applied in practice?
Combine the pepper with the password (or derived key) within a secure component before hashing; avoid exposing it in app memory.
Category: Methods
Should each user have a unique pepper?
Typically no; a pepper is application-scoped, while salts are per-user. Focus on secure storage and rotation.
Category: Opinion
Can hardware security modules help with peppering?
Yes. HSMs can protect pepper material and perform cryptographic operations without revealing secrets to the host.
Category: Tooling
Where to learn about pepper usage?
OWASP’s Password Storage guidance and cloud KMS docs offer practical patterns.
Category: GettingStarted