Reference

Notation and Glossary

The eight chapters share a vocabulary. This page collects the notation, security notions and abbreviations in one place for quick reference.

Symbols, terms and abbreviations Linked from every chapter

Section 1General Conventions

$\lambda$ denotes the security parameter throughout, and all algorithms are implicitly given $1^\lambda$. An algorithm is efficient if it runs in probabilistic polynomial time in $\lambda$, abbreviated PPT.

A function $\nu$ is negligible if it shrinks faster than any inverse polynomial: for every $c > 0$ there is $\lambda_0$ such that $\nu(\lambda) < \lambda^{-c}$ for all $\lambda > \lambda_0$. This is written $\nu(\lambda) \le \negl(\lambda)$. Computational security rests on this notion: a scheme is secure when every efficient adversary's advantage is negligible; the advantage need not be zero.

Security is stated as a game between an adversary and a challenger. The adversary wins by distinguishing two worlds, or by producing a forgery. A scheme is secure when no efficient adversary wins with probability non-negligibly better than guessing.

SymbolMeaningFirst used
$\lambda$Security parameter; key lengths and running times are measured against itChapter 1
$\negl(\lambda)$Some negligible function of $\lambda$Chapter 1
$\poly(\lambda)$Some polynomially bounded function of $\lambda$Chapter 1
$\bits^n$The set of bit strings of length exactly $n$Chapter 1
$\bits^*$Bit strings of any finite lengthChapter 1
$x \getsr S$$x$ drawn uniformly at random from the finite set $S$Chapter 1
$x \leftarrow \mathcal{A}(y)$$x$ is the output of running algorithm $\mathcal{A}$ on input $y$Chapter 1
$\oplus$Bitwise exclusive orChapter 1
$x \| y$Concatenation of strings $x$ and $y$Chapter 1
$|x|$Length of a string, or cardinality of a setChapter 1
$[n]$The set $\{1, 2, \dots, n\}$Chapter 1
$\approx_c$Computational indistinguishabilityChapter 1
$\Pr[\,E\,]$Probability of event $E$Chapter 1
Semantic colors

Colors are consistent across every page. Alice, the sender, is blue. Bob, the receiver, is cyan. Eve, the adversary, is red. Keys and secrets are yellow. Randomness and noise are purple. Trusted third parties and oracles are magenta. Something proved secure is green.

Section 2Primitives and Schemes

SymbolMeaning
$\Enc(k, m)$Encryption of message $m$ under key $k$
$\Dec(k, c)$Decryption of ciphertext $c$ under key $k$
$\Tag(k, m)$Message authentication code (MAC) tag on message $m$ under key $k$
$\Hash(x)$A cryptographic hash function applied to $x$
$\PRF(k, x)$A pseudorandom function keyed by $k$
$\mathbf{G}(s)$A pseudorandom generator on seed $s$
$\mathcal{M}, \mathcal{C}, \mathcal{K}$Message, ciphertext and key spaces
$(pk, sk)$A public-key / secret-key pair
$\mathrm{IV}$Initialization vector, for a mode of operation
$\tau$An authentication tag
$\mathbf{cmps}$A fixed-input-length compression function

Security Notions

AbbreviationNotionWhat the adversary may do
OT / one-timeOne-time securitySee one ciphertext; no queries
CPAChosen-plaintext attackRequest encryptions of chosen messages
CCAChosen-ciphertext attackAlso request decryptions, except of the challenge
UF-CMAUnforgeability under chosen-message attackRequest tags, then forge on a fresh message
AEAuthenticated encryptionConfidentiality and integrity together
CRCollision resistanceFind $x \ne x'$ with $\Hash(x) = \Hash(x')$
A distinction worth keeping straight

Weak collision resistance fixes $x$ and asks for a colliding $x'$; it costs roughly $L$ queries for an output space of size $L$. Strong collision resistance lets the adversary choose both inputs, so the birthday bound brings the cost down to about $\sqrt{L}$. This factor is why a 128-bit digest gives only 64-bit collision security.

Section 3Algebra and Number Theory

SymbolMeaning
$\Z, \R$The integers; the reals
$\Z_N$Integers modulo $N$
$\Z_N^*$The multiplicative group of units modulo $N$
$\varphi(N)$Euler's totient: the size of $\Z_N^*$
$\gcd(a,b)$Greatest common divisor; $a, b$ are coprime when it is $1$
$\GF(2^8)$The finite field with $256$ elements, used by AES (Advanced Encryption Standard)
$h(X)$Rijndael's irreducible polynomial $X^8 + X^4 + X^3 + X + 1$
$\mathbb{G}, g$A cyclic group and a generator of it
$e(\cdot,\cdot)$A bilinear pairing: $e(g^a, g^b) = e(g,g)^{ab}$
$\Zq^{n \times m}$Matrices over $\Zq$, used throughout lattice cryptography
$\Lambda$A lattice: all integer combinations of a basis
$\|v\|$Euclidean norm of a vector
$\lambda_1(\Lambda)$Length of a shortest nonzero lattice vector
A collision of notation

$\lambda$ is the security parameter, but $\lambda_1(\Lambda)$ is the first successive minimum of a lattice. They are unrelated. The subscript and the lattice argument distinguish them; Chapter 4 is the only place both appear together.

Hardness Assumptions

NameProblemChapter
FactoringGiven $N = pq$, recover $p$ and $q$2
RSAGiven $(N, e, y)$, find $x$ with $x^e \equiv y \bmod N$2
DLogDiscrete logarithm: given $g^x$, recover $x$2
CDHComputational Diffie-Hellman: given $g^a, g^b$, compute $g^{ab}$2
DDHDecisional Diffie-Hellman: distinguish $(g^a, g^b, g^{ab})$ from $(g^a, g^b, g^c)$2
LPNLearning parity with noise3
SISShort integer solution: find a short nonzero $z$ with $Az \equiv 0 \bmod q$4
LWELearning with errors: distinguish $(A, As + e)$ from uniform, for small error $e$4
SVP / CVPShortest and closest vector problems in a lattice4

Section 4Differential Privacy

SymbolMeaning
$\eps$Privacy parameter; smaller means more private and less accurate
$\delta$Failure probability in approximate $(\eps,\delta)$-DP
$D \sim D'$Neighboring databases, differing in one individual's record
$\Delta f$Global sensitivity: $\max_{D \sim D'} |f(D) - f(D')|$
$\Lap(b)$The Laplace distribution with scale $b$
$\mathcal{M}(D)$A randomized mechanism applied to database $D$
$q$One query or a query count, depending on context
Definition: differential privacy

A randomized mechanism $\mathcal{M}$ is $(\eps, \delta)$-differentially private if for all neighboring databases $D \sim D'$ and all measurable sets $S$ of outputs,

$$\Pr[\mathcal{M}(D) \in S] \;\le\; e^{\eps}\,\Pr[\mathcal{M}(D') \in S] + \delta.$$

When $\delta = 0$ this is pure $\eps$-differential privacy. The guarantee is about the mechanism, and holds for every pair of neighboring databases and every adversary, regardless of auxiliary information.

Section 5Blockchain and Multiparty Computation

TermMeaningChapter
UTXOUnspent transaction output; Bitcoin's unit of value6
Proof of workFinding a nonce (a one-use number chosen by the miner) whose block hash falls below a target6
DifficultyInverse of the target; retargeted to hold block time steady6
ForkCompeting valid branches; Bitcoin nodes choose the branch with the most cumulative proof of work6
Orphan / stale blockA valid block excluded from the branch with the most cumulative proof of work6
Selfish miningWithholding blocks to orphan honest work6
Proof of stakeLeader election weighted by held stake in place of work7
SortitionCryptographic sampling of a committee7
NullifierA value published to spend a shielded note exactly once7
MPCSecure multiparty computation8
OTOblivious transfer; complete for MPC8
Semi-honestAdversary follows the protocol but tries to learn more8
MaliciousAdversary may deviate arbitrarily from the protocol8
SimulatorAlgorithm producing an indistinguishable view in the ideal world8
$(t, n)$-thresholdAny $t+1$ of $n$ shares reconstruct; any $t$ reveal nothing8
The one idea that recurs most

Many definitions in this course compare two worlds: real ciphertext versus random, real protocol versus ideal functionality, database $D$ versus its neighbor $D'$ and a pseudorandom function versus a truly random function. Recognizing this pattern helps reconstruct the definitions during an exam.