Cryptography Glossary

Plain-language definitions of the ciphers, codes, encodings and cryptanalysis terms used across the site.

Core concepts

Asymmetric encryption

Asymmetric encryption uses a public key to encrypt and a mathematically related private key to decrypt.

Block cipher

A block cipher is a symmetric algorithm that transforms fixed-size blocks of data under a secret key.

Cipher

A cipher is an algorithm that transforms data according to a key, typically between plaintext and ciphertext.

Ciphertext

Ciphertext is data transformed by encryption so that its original meaning is unavailable without the required key.

Code

In classical cryptography, a code replaces meaningful words or phrases with assigned symbols or groups, usually through a codebook.

Decryption

Decryption uses the required key to reverse encryption and recover plaintext from ciphertext.

Encryption

Encryption is a reversible cryptographic transformation that uses a key to convert plaintext into ciphertext.

Entropy

Entropy measures uncertainty in a value and limits how difficult it is for an attacker to guess cryptographic secrets.

Initialization vector (IV)

An initialization vector is a non-secret input that initializes a cipher mode so repeated plaintext does not produce unsafe repeated ciphertext.

Key

A cryptographic key is a value that controls a cipher’s transformation and determines who can encrypt, decrypt, or authenticate data.

Nonce

A nonce is a value that must not repeat within the scope defined by a cryptographic protocol, commonly under one key.

Plaintext

Plaintext is the original unencrypted data supplied to encryption or recovered intact by decryption.

Stream cipher

A stream cipher encrypts data by combining plaintext with a pseudorandom keystream generated from a secret key and nonce.

Symmetric encryption

Symmetric encryption uses the same secret key, or directly related secret keys, to encrypt and decrypt data.

Classical ciphers

Key schedule

A key schedule is the algorithm that derives round keys or subkeys from a cipher's supplied key.

Keystream

A keystream is the sequence of values combined with successive plaintext units during encryption.

Monoalphabetic cipher

A monoalphabetic cipher uses one fixed substitution mapping for the entire message.

Null cipher

A null cipher conceals a message inside innocent-looking cover text by selecting characters according to a hidden rule.

Polyalphabetic cipher

A polyalphabetic cipher switches among multiple substitution alphabets as it processes a message.

Rotor machine

A rotor machine is an electromechanical cipher device whose rotating wired wheels change the substitution after each input.

Running key cipher

A running key cipher uses a long, nonrepeating text or sequence as the keystream for polyalphabetic substitution.

Shift cipher

A shift cipher replaces every plaintext symbol with the symbol a fixed number of positions away in an ordered alphabet.

Steganography

Steganography conceals the existence of a payload by embedding it in an ordinary-looking cover medium.

Substitution cipher

A substitution cipher replaces plaintext units with other symbols while preserving their order.

Tabula recta

A tabula recta is a square table whose rows contain successively shifted versions of an alphabet.

Transposition cipher

A transposition cipher encrypts by rearranging plaintext symbols according to a key without replacing them.

Cryptanalysis

Brute-force attack

A brute-force attack systematically tests candidate keys or secrets until it finds one that produces a valid result.

Chosen-plaintext attack

A chosen-plaintext attack lets an attacker obtain ciphertexts for plaintexts they select and use the results to test the encryption scheme.

Ciphertext-only attack

A ciphertext-only attack attempts to recover plaintext or keys using only captured ciphertext and observable metadata.

Crib (probable word)

A crib is a guessed plaintext fragment used to test positions, keys, or structure in a ciphertext.

Cryptanalysis

Cryptanalysis studies cryptographic systems to recover protected information, keys, or weaknesses without using the intended secret.

Dictionary attack

A dictionary attack tests a prioritized list of likely passwords, keys, or phrases instead of exhaustively enumerating every possibility.

Frequency Analysis

A cryptanalytic method that compares symbol and letter-group frequencies with language patterns to infer plaintext in classical ciphers.

Index of coincidence

The Index of Coincidence measures the probability that two letters selected from a text are identical.

Kasiski examination

The Kasiski examination estimates the period of a repeating-key polyalphabetic cipher from distances between repeated ciphertext sequences.

Known-plaintext attack

A known-plaintext attack uses one or more matching plaintext and ciphertext samples to learn about a key or encryption process.

Encoding

ASCII

ASCII is a 7-bit character encoding that assigns values from 0 to 127 to Latin letters, digits, punctuation, and control characters.

Base64

Base64 is a binary-to-text encoding that represents bytes with a 64-character alphabet.

Binary

Binary is a base-2 numeral system that represents values using only the digits 0 and 1.

Bit

A bit is a binary digit with one of two possible values, conventionally written as 0 or 1.

Character encoding

A character encoding defines how text characters or code points are represented as byte sequences and decoded back.

Hexadecimal

Hexadecimal is a base-16 notation that uses the symbols 0–9 and A–F to represent numbers and bytes compactly.

URL encoding

URL encoding represents a byte in a URI component as a percent sign followed by two hexadecimal digits.

Unicode

Unicode is a universal character standard that assigns code points to text characters and symbols from writing systems worldwide.

Hashing

Checksum

A checksum is a compact value calculated from data to help detect accidental changes or corruption.

HMAC

HMAC is a keyed message authentication code built from a cryptographic hash function.

Hash collision

A hash collision occurs when two different inputs produce the same hash digest.

Hash function

A hash function maps input data of any practical length to a fixed-size digest.

Rainbow table

A rainbow table is a precomputed structure used to look up likely inputs for unsalted password hashes.

Salt

A salt is a unique value added to each password-hashing or key-derivation operation to make equal inputs produce different outputs.

No terms match your search.