NEW
A number used once to ensure uniqueness and prevent replay in cryptographic protocols.
DESCRIPTION
A nonce is a one-time, unique value used in cryptographic operations to prevent replay attacks and ensure freshness. It appears in authentication challenges, encryption modes, and protocol handshakes. Nonces may be random or sequential, but must never repeat under the same key context. Improper reuse undermines security, enabling message forgery or decryption attacks. Implementations must use secure generation and validation.
ALTERNATIVE DEFINITIONS
Wikipedia
In cryptography, a nonce is an arbitrary number that can be used just once in a cryptographic communication.
States arbitrary nature and single-use property.
NIST CSRC
A value that is used once in a security protocol, usually to ensure that old communications cannot be reused in replay attacks.
Highlights replay attack mitigation purpose.
Cloudflare
A nonce is a one-time-use number used to prevent replay attacks and ensure messages are unique.
Clearly explains uniqueness and anti-replay role for practitioners.
RELATED TERMS
Replay Attack MAC Digital Signature Random Number Generator Proof of Work Challenge–Response TLS CTR Mode
COMPETING TERMS
KNOWLEDGE AREAS
TARGET AUDIENCE
Security Architect Cybersecurity Engineer Software Developer DevOps Engineer
EXTERNAL SOURCES
- Wikipedia - Cryptographic nonce
- NIST CSRC - NIST glossary definition
- IETF - Internet security glossary
- Cloudflare - Practitioner-friendly explanation
TOP QUESTIONS
Where is a Nonce used in cryptographic protocols?
Nonces appear in authentication challenges, TLS handshakes, encryption modes like CTR, and blockchain proofs of work.
Category: Example
Why must Nonces be unique?
Nonce reuse enables replay or key-recovery attacks. Uniqueness ensures freshness and prevents adversaries from reusing old messages.
Category: Risks
How should Nonces be generated?
Use secure random generators or monotonic counters with safeguards. Ensure uniqueness under the same key and context.
Category: Requirements
What is the difference between a Nonce and an Initialization Vector?
An IV is used to initialize block cipher modes; a nonce is any one-time value, often used for freshness. Some modes combine roles.
Category: Definition
Can Nonces be predictable?
Predictability may be acceptable if uniqueness is guaranteed and the protocol doesn’t rely on secrecy. Many designs prefer randomness to reduce risk.
Category: Opinion
What happens if a Nonce is reused?
Reuse can enable replay, forgery, or ciphertext manipulation attacks, particularly in stream and AEAD modes.
Category: Risks
How are Nonces validated?
Systems track recent nonces or use timestamps and counters to reject duplicates. Storage and windowing policies are important.
Category: Management
Are Nonces part of blockchain mining?
Yes. Miners iterate a nonce to find a hash below a difficulty target, proving work.
Category: Example
What is a good library practice for Nonces?
Use well-reviewed cryptographic libraries that enforce nonce requirements and provide safe APIs, avoiding manual handling.
Category: BestPractices