In cryptography, a key derivation function (or KDF) derives one or more secret keys from a secret value such as a master key or other known information such as a password or passphrase using a pseudo-random function.[1][2] Keyed cryptographic hash functions are popular examples of pseudo-random functions used for key derivation.[3]