Overview
ISO/IEC 10118-2:2010 - "Information technology - Security techniques - Hash‑functions - Part 2: Hash‑functions using an n‑bit block cipher" specifies four standardized hash‑function constructions that are built on an underlying n‑bit block cipher. The part is intended for environments where a block cipher (for example AES or other ciphers listed in ISO/IEC 18033‑3) is already implemented. All four constructions conform to the general hash model of ISO/IEC 10118‑1.
Key topics and technical requirements
- Block‑cipher based hashing: Hash functions are constructed from an n‑bit block cipher and a round function; this allows reuse of existing cipher implementations.
- Four hash variants:
- Hash‑function 1: produces hash‑codes of length ≤ n (where n is block length).
- Hash‑function 2: produces hash‑codes of length ≤ 2n.
- Hash‑function 3: produces hash‑codes of length = 2n.
- Hash‑function 4: produces hash‑codes of length = 3n.
- Conformance to general model: Each function specifies parameters (output length L, intermediate lengths), padding, IV, round function φ, and output transformation T as required by ISO/IEC 10118‑1.
- Round function and key derivation: For example, Hash‑function 1 uses a round step of the form φ(Dj, Hj‑1) = E_{Kj}(Dj) ⊕ Dj with Kj = u(Hj‑1), where u maps an n‑bit block to a block‑cipher key. (Selection of u and padding method is left to users.)
- Padding and IV: Padding method and initializing value (IV) are out of scope of this part and must be chosen so that distinct inputs yield distinct padded outputs; the IV is agreed and fixed by users.
- Security notes: The standard records that Hash‑function 2 has known theoretical attacks (notably collision and preimage concerns for n=128) - it is retained primarily for backward compatibility.
Practical applications
- Reusing block‑cipher implementations to derive hash‑codes in systems where implementing a dedicated hash primitive is not desirable or possible.
- Embedded systems or constrained environments that already include AES or other ISO/IEC 18033‑3 ciphers.
- Legacy interoperability where specific block‑cipher‑based hashes are required.
- Situations requiring different output lengths tied to cipher block size (≤ n, ≤ 2n, =2n, 3n).
Who should use this standard
- Cryptographic engineers and security architects designing hash services around existing block ciphers.
- Software and hardware vendors implementing compliant hashing modules.
- Evaluation and certification labs verifying conformance to ISO cryptographic standards.
- Standards authors and integrators ensuring interoperability with ISO/IEC 10118 family.
Related standards and resources
- ISO/IEC 10118‑1 - General model for hash‑functions (normative).
- ISO/IEC 18033‑3 - Block cipher specifications recommended for use as the underlying primitive.
- Annexes in ISO/IEC 10118‑2:2010 include AES usage examples, worked examples, and an ASN.1 module.
Keywords: ISO/IEC 10118-2:2010, hash-functions, n-bit block cipher, AES, ISO/IEC 18033-3, hash-code, round function, padding, IV, block-cipher based hashing.