# Are Block Ciphers Pseudorandom functions? [duplicate]

In cryptography, a key derivation function (KDF) is a cryptographic algorithm that derives one or more secret keys from a secret value such as a main key, a password, or a passphrase using a pseudorandom function (which typically uses a cryptographic hash function or block cipher)

I am curious about the part that states: using a pseudorandom function (which typically uses a cryptographic hash function or block cipher)

This kind of implies that PRFs could be block cipher. Is this correct? As I assumed that PRP (pseudorandom permutations) are the ones that could be block ciphers.

Is my understanding wrong? Or the Wiki entry wrong?

• Jun 15 at 17:47
• Not sure. This crypto.stackexchange.com/questions/3867/… seems to confirm what I thought was right, that is PRP <=> Block cipher and PRF <=> Hash functions. So confused about the wikipedia entry Jun 15 at 17:57
• The first one covers all. PRPs and block ciphers are synonymous. PRPs are a subset of PRFs and PRF has no inverse. Well, hash functions (MD construction ) and PRF can be built from PRP (Luby and Rackoff's).. Jun 15 at 18:02

Are Block Ciphers Pseudorandom functions?

PseudoRandom Permutations (PRP, when keyed) are synonymous with block ciphers.

This kind of implies that PRFs could be block cipher. Is this correct? block ciphers.

No, PRFs are not block ciphers. Of course, we can use them for encryption as in CTR mode.

In cryptography, a key derivation function (KDF) is a cryptographic algorithm that derives one or more secret keys from a secret value such as a main key, a password, or a passphrase using a pseudorandom function (which typically uses a cryptographic hash function or block cipher)

Or the Wiki entry wrong?

• Bcrypt is one example that uses Blowfish block cipher to derive keys from passwords.

• BPKDF2 uses SHA-1, Argon2 uses Blake2 hash function.

• HKDF uses HMAC_SHA256 and HMAC is built for PRF.

• KDF1 and KDF2 use hash functions in a simple construction ( sometimes called poor man's key derivation function)

Therefore, the entity in Wikipedia is correct.

Pseudo-Random Generators -> generate sequences from bits which "look" like random -> a small sequence of really random bits.

• Stream ciphers
• Block ciphers, eg in Counter Mode
• Hash function with feedback

Block cipher modes

• ECB – Electronic Code Book mode
• CBC – Cipher Block Chaining
• OFB – Output Feedback Mode (stream cipher pseudorandom generator...)
• CFB – Cipher Feedback Mode
• The question asks about PRP not PRG and this doesn't answer the issue! Jun 15 at 21:23
• English is not my native language miss understood it. Jun 15 at 21:45