In cryptography, a key derivation function (KDF) makes a long secret key (which is called a "hash") from a secret phrase, like a password. The output of a key derivation function will look common to another result made from a random phrase. They are also used to re-use secret keys in a specific format, like using a shared secret key from the Diffie–Hellman key exchange for sending secrets in AES.