Glossary
Every term, in one place
76 terms used across this site, defined plainly and cross-linked back to the module that covers them in depth.
76 of 76 terms
A
AEAD (Authenticated Encryption with Associated Data)
An encryption mode that provides confidentiality and integrity together in one pass, and can also authenticate extra data that isn't encrypted (like a packet header). AES-GCM and ChaCha20-Poly1305 are both AEAD ciphers.
AES (Advanced Encryption Standard)
The current standard symmetric-key block cipher, operating on 128-bit blocks with 128-, 192-, or 256-bit keys, selected by NIST in 2001 after a public competition (winning design: Rijndael).
AES-NI
Dedicated AES instructions built into modern CPUs, executing in constant time regardless of data — closing the cache-timing side channel that plagued early software lookup-table implementations.
Algorithm confusion
A JWT attack where a verifier that trusts the algorithm named in a token's own header can be tricked into verifying an RS256 token as HS256, using the (public) RSA public key as the HMAC secret.
Asymmetric encryption
Encryption using a mathematically related key pair — a public key for encrypting or verifying, and a private key for decrypting or signing — so two parties never need to share a secret in advance. RSA and ECC are the two families covered in this catalog.
Authentication tag
The short value an AEAD cipher (like AES-GCM) appends to a ciphertext, letting the receiver detect any tampering with the ciphertext or its associated data before trusting the decrypted plaintext.
Avalanche effect
The property that changing a single input bit to a hash function or cipher flips roughly half the output bits, unpredictably — making outputs for similar inputs look completely unrelated.
B
Birthday bound
The reason an n-bit hash offers only n/2-bit collision resistance: thanks to the birthday paradox, finding any two colliding inputs takes roughly 2^(n/2) attempts, far fewer than the 2^n needed to reverse one specific digest.
Bleichenbacher attack
A padding-oracle attack against RSA PKCS#1 v1.5 encryption: by observing whether a server treats a modified ciphertext's padding as valid, an attacker can gradually decrypt it without ever learning the private key.
Block cipher
A symmetric cipher that encrypts data in fixed-size chunks (blocks) — AES operates on 128-bit blocks. A mode of operation (GCM, CBC, CTR) defines how a block cipher handles messages longer than one block.
C
Cache-timing attack
A side-channel attack that infers secret data (like an AES key) by observing which CPU cache lines an implementation accesses, exploitable when attacker and victim code share a physical machine.
CBC (Cipher Block Chaining)
An older block cipher mode that XORs each plaintext block with the previous ciphertext block before encrypting. Vulnerable to padding-oracle attacks (like Lucky Thirteen) unless paired with a separate MAC.
Certificate Authority (CA)
An organization trusted to verify identities and issue signed X.509 certificates binding a public key to that identity. Root CA certificates are pre-installed as trust anchors in operating systems and browsers.
Certificate Revocation List (CRL)
A downloadable, CA-signed list of revoked certificate serial numbers, checked by clients to detect certificates that should no longer be trusted before their expiry date.
Certificate Transparency (CT)
A system requiring newly issued certificates to be logged in public, append-only logs, so domain owners can detect certificates fraudulently issued in their name by a compromised or misbehaving CA.
ChaCha20-Poly1305
An AEAD cipher combining the ChaCha20 stream cipher with the Poly1305 MAC, widely used as a fast, side-channel-resistant alternative to AES-GCM, especially on devices without AES hardware acceleration.
Chaining value
The running intermediate state passed from one compression-function step to the next inside the Merkle-Damgård hash construction; the final chaining value, after the last block, is the digest itself.
Collision resistance
The property that it should be computationally infeasible to find two different inputs producing the same hash digest — one of the three core guarantees of a cryptographic hash function.
Constant-time code
Code written so its execution time, memory access pattern, and power draw never depend on secret data — the general defense against timing and cache side-channel attacks.
CSPRNG (Cryptographically Secure Pseudorandom Number Generator)
A random number generator whose output is unpredictable even to an attacker who observes part of it — required for every key, nonce, and IV. Ordinary statistical PRNGs (like the Mersenne Twister) are unsafe for this purpose.
D
Diffie-Hellman (DH)
A key-exchange protocol letting two parties derive a shared secret over a public channel without ever transmitting it, based on the difficulty of the discrete logarithm problem.
Digest
The fixed-size output of a hash function — for SHA-256, always 256 bits, regardless of the input's length.
Digital signature
A cryptographic proof that a message came from the holder of a specific private key and wasn't altered since signing, produced by transforming a hash of the message with that private key (hash-then-sign).
Discrete logarithm problem
The problem of finding the exponent k such that g^k = h in a mathematical group, given g and h — believed computationally hard classically, and the trapdoor underlying Diffie-Hellman and (in its elliptic-curve form) ECC.
Double Ratchet
The Signal Protocol algorithm that derives a fresh key for every message by combining a symmetric-key ratchet (a one-way chain) with a Diffie-Hellman ratchet, giving forward secrecy and post-compromise security.
E
ECC (Elliptic Curve Cryptography)
A public-key family based on the algebraic structure of points on an elliptic curve, offering equivalent security to RSA at much smaller key sizes because the elliptic curve discrete log problem has no known sub-exponential classical attack.
ECDH (Elliptic Curve Diffie-Hellman)
Diffie-Hellman key exchange performed using elliptic curve point multiplication instead of modular exponentiation — the key-exchange method behind TLS 1.3, SSH, and Signal's X3DH.
ECDSA (Elliptic Curve Digital Signature Algorithm)
The elliptic-curve digital signature scheme used in TLS certificates, SSH, and Bitcoin/Ethereum transactions. Catastrophically breaks if the same per-signature random nonce is ever reused.
Entropy
A measure of genuine unpredictability. CSPRNGs are seeded from physical entropy sources (hardware interrupt timing, dedicated RNG chips) rather than anything an attacker could predict or replay.
Ephemeral key
A key pair generated fresh for a single session or exchange and discarded afterward — the mechanism behind forward secrecy in ECDHE key exchange.
F
Forward secrecy
The property that compromising a long-term private key later doesn't expose past session keys, achieved by using fresh ephemeral keys for each session's key exchange instead of reusing a static one.
G
GCM (Galois/Counter Mode)
The dominant AEAD mode for AES, combining CTR-mode encryption with GHASH-based authentication in a single pass, producing both ciphertext and an authentication tag.
Grover's algorithm
A quantum algorithm giving a quadratic speedup for unstructured search, which roughly halves the effective security level of symmetric ciphers and hash functions — countered simply by doubling key/output sizes, unlike Shor's algorithm's total break of public-key crypto.
H
Harvest now, decrypt later
A passive attack strategy: an adversary records RSA/ECDH-protected traffic today and stores it, waiting for a future quantum computer to decrypt the key exchange — meaning long-lived confidential data is at risk today, not just after quantum computers arrive.
Hash-based signatures
A family of digital signature schemes whose security rests only on hash function properties rather than factoring or discrete logs — making them quantum-resistant. SLH-DSA (SPHINCS+) is NIST's standardized hash-based PQC signature scheme.
HKDF (HMAC-based Key Derivation Function)
A fast key derivation function used to derive multiple cryptographic keys from a single high-entropy shared secret (e.g. inside TLS or Signal handshakes) — distinct from password-hashing KDFs, which are deliberately slow.
HMAC (Hash-based Message Authentication Code)
A keyed hash construction proving a message wasn't tampered with, verifiable by anyone holding the shared key. Its nested double-hash design specifically defeats length-extension attacks that a naive H(key‖message) would be vulnerable to.
HSM (Hardware Security Module)
A dedicated, tamper-resistant hardware device that generates and stores private keys and performs cryptographic operations without ever exposing the key material to the host system.
I
IV (Initialization Vector)
A value used to randomize the output of a cipher mode so that encrypting the same plaintext twice with the same key doesn't produce the same ciphertext. In AES-GCM this is usually called a nonce; it must never repeat for a given key.
J
JWT (JSON Web Token)
A compact, signed token format — header, payload, and signature, each base64url-encoded and dot-separated — commonly used for API authentication. The payload is encoded, not encrypted, so it's readable by anyone who has the token.
K
KDF (Key Derivation Function)
An umbrella term for functions that derive one or more cryptographic keys from input material — covering both fast KDFs like HKDF (stretching high-entropy secrets) and slow, deliberately expensive password-hashing KDFs like PBKDF2 and Argon2.
L
Length-extension attack
An attack exploiting the Merkle-Damgård construction: given only H(message) and its length, an attacker can compute H(message ‖ extra) for attacker-chosen data, without ever knowing the original message.
M
MAC (Message Authentication Code)
A short value proving both the integrity and authenticity of a message to anyone holding a shared secret key. HMAC is the most common hash-based MAC construction.
ML-DSA
NIST's standardized post-quantum digital signature algorithm (based on the Dilithium scheme, standardized as FIPS 204), replacing RSA and ECDSA signatures against quantum attack.
ML-KEM
NIST's standardized post-quantum key encapsulation mechanism (based on the Kyber scheme, standardized as FIPS 203), replacing RSA and Diffie-Hellman key exchange against quantum attack — often deployed in hybrid with classical ECDH during migration.
Modular arithmetic
Arithmetic that "wraps around" after reaching a fixed modulus, like a clock face — the mathematical foundation underlying RSA, Diffie-Hellman, and the discrete logarithm problem.
MD5 / SHA-1
Older, now-broken hash functions. Both have had practical collisions publicly demonstrated and should never be used for security purposes today — only for non-adversarial checksums.
mTLS (Mutual TLS)
A TLS variant where both the client and the server present certificates, each verified by the other — common for service-to-service authentication and zero-trust network architectures.
N
Nonce
A value used only once — most critically, the per-encryption value in AES-GCM (which must never repeat under the same key) and the per-signature random value in ECDSA (which, if reused, directly exposes the private key).
O
OAEP (Optimal Asymmetric Encryption Padding)
The modern, randomized padding scheme for RSA encryption, using a double-masking (MGF1-based) construction to defeat the padding-oracle attacks that plagued the older PKCS#1 v1.5 padding.
OCSP (Online Certificate Status Protocol)
A protocol letting a client ask a CA in real time whether a specific certificate is still valid, as an alternative to downloading a full CRL. OCSP stapling moves this query to the server to avoid a per-client round trip and metadata leak.
One-way function
A function that's easy to compute in one direction but computationally infeasible to reverse — the conceptual foundation of hash functions, and (in trapdoor form) of public-key cryptography.
P
PBKDF2
A key derivation function that deliberately slows password hashing by applying HMAC repeatedly, a tunable number of times — simple and standard, but more cheaply parallelizable on GPUs than memory-hard alternatives like Argon2.
Perfect Forward Secrecy (PFS)
A stronger phrasing of forward secrecy, emphasizing that every session's key exchange uses fresh ephemeral keys, so no single key compromise — past or future — exposes more than one session.
PKCS#1 v1.5
The original, deterministic RSA padding scheme, vulnerable to the Bleichenbacher padding-oracle attack against encryption. Superseded by OAEP for encryption (PSS is the modern equivalent for signatures).
Post-compromise security
The property that a session can recover security even after an attacker briefly compromises its state, because ongoing fresh Diffie-Hellman exchanges (as in the Signal Protocol's Double Ratchet) eventually heal it.
PQC (Post-Quantum Cryptography)
Cryptographic algorithms believed to resist attack by both classical and quantum computers, standardized by NIST to replace RSA, Diffie-Hellman, and ECC once Shor's algorithm becomes practical against them.
Preimage resistance
The property that, given only a hash digest, it should be computationally infeasible to find any input that produces it — costing roughly 2^n operations for an n-bit hash.
Private key
The half of an asymmetric key pair kept secret by its owner, used to decrypt messages encrypted to the matching public key, or to produce digital signatures.
Public key
The half of an asymmetric key pair that can be freely shared, used to encrypt messages to its owner or verify their digital signatures.
Q
Qubit
The basic unit of quantum information, capable of existing in a superposition of states. Breaking RSA-2048 with Shor's algorithm is estimated to require several thousand error-corrected (logical) qubits — far beyond today's hardware.
S
Salt
A unique random value appended to a password before hashing, ensuring identical passwords don't produce identical hashes — defeats precomputed rainbow-table attacks, but does nothing to slow down an attacker targeting one specific hash (that's the KDF's job).
Session key
A symmetric key derived for the duration of a single communication session (e.g. via TLS or SSH's Diffie-Hellman handshake), used for fast bulk encryption instead of slower public-key operations.
Shor's algorithm
A quantum algorithm, published in 1994, that solves integer factorization and discrete logarithms in polynomial time — the specific mathematical result that makes RSA, classical Diffie-Hellman, and ECC breakable on a sufficiently large, low-error quantum computer.
Side-channel attack
An attack that recovers secret data not by breaking an algorithm's mathematics, but by observing something about its physical execution — timing, power draw, cache access patterns, or electromagnetic emissions.
Signal Protocol
The end-to-end encryption protocol combining X3DH (initial key agreement) and the Double Ratchet (per-message key derivation), used by Signal, WhatsApp, and others to keep even the server operator from reading messages.
SHA-2 / SHA-256
The current widely deployed hash function standard, using the Merkle-Damgård construction and producing a 256-bit digest (for SHA-256) — used throughout TLS, code signing, and blockchain.
SHA-3
A structurally different hash standard (sponge construction rather than Merkle-Damgård), standardized in 2015 as a hedge against future cryptanalysis of SHA-2 — naturally immune to length-extension attacks.
SLH-DSA
NIST's standardized hash-based post-quantum digital signature algorithm (based on SPHINCS+, standardized as FIPS 205) — its security rests only on hash function properties, offering a structurally different, conservative alternative to ML-DSA.
Symmetric encryption
Encryption where the same key is used to both encrypt and decrypt, requiring the key to be shared secretly in advance. AES is the standard symmetric cipher; it's typically combined with asymmetric key exchange (as in TLS) to establish that shared key.
T
Timing attack
A side-channel attack that recovers secret data by measuring how long an operation takes, exploiting code whose execution time depends on secret values — mitigated by constant-time implementations.
TLS (Transport Layer Security)
The protocol behind HTTPS, combining a key exchange (ECDHE), certificate-based authentication, and symmetric encryption (typically AES-GCM) to protect data between a client and a server.
Trapdoor function
A one-way function that becomes easy to reverse if you possess a specific secret (the "trapdoor") — the structural idea behind RSA, where factoring the public modulus is the trapdoor known only to the private key holder.
X
X.509
The standard format for public-key certificates, defining fields like subject, issuer, public key, validity period, and signature — the format underlying HTTPS certificates.
X3DH (Extended Triple Diffie-Hellman)
The Signal Protocol's initial key agreement, letting a sender compute a shared secret and send a first encrypted message even while the recipient is offline, by combining several Diffie-Hellman exchanges against a pre-published key bundle.
Z
Zero-knowledge proof
A proof that lets one party convince another that a statement is true without revealing any information beyond the statement's truth itself — not covered in depth in this catalog, but a growing area adjacent to it.