2. Terminology and Notation (Terminologia e notazione)
In questo documento, una « parola (Word) » è una quantità a 32 bit e un « byte (Byte) » è una quantità a otto bit. Una sequenza di bit può essere interpretata in modo naturale come una sequenza di byte, dove ogni gruppo consecutivo di otto bit è interpretato come un byte con il bit più significativo (Most Significant Bit) di ciascun byte elencato per primo. Analogamente, una sequenza di byte può essere interpretata come una sequenza di parole a 32 bit, dove ogni gruppo consecutivo di quattro byte è interpretato come una parola con il byte meno significativo (Least Significant Byte) dato per primo.
Sia x_i «x indice i». Se l'indice è un'espressione, lo racchiudiamo tra parentesi graffe, come in x_{i+1}. Analogamente, usiamo ^ per gli esponenti (esponenziazione), in modo che x^i denoti x alla potenza i.
Il simbolo « + » denota l'addizione di parole (cioè, addizione modulo 2^32). X <<< s denota il valore a 32 bit ottenuto spostando circolarmente (rotazione) X a sinistra di s posizioni di bit. not(X) denota il complemento bit a bit di X, e X v Y denota l'OR bit a bit di X e Y. X xor Y denota lo XOR bit a bit di X e Y, e XY denota l'AND bit a bit di X e Y.