HKDF-Extract turns potentially biased input keying material into a uniformly random pseudorandom key. It uses HMAC rather than a plain hash and accepts an optional salt. section 8.6
Use HKDF-Extract as the first step when:
- The input secret has enough entropy but is not uniformly random. section 8.6
- A protocol needs repeated, deterministic rederivation of a limited number of keys. section 8.6
- Different protocol uses should produce different results: use distinct salts, which need not be secret. section 8.6
Same secret, different salt
Feeding the same input secret to HKDF-Extract with different salts produces different uniformly random outputs. If no salt is supplied, the salt is an all-zero byte string, although using a salt is recommended. section 8.6
