Key derivation function in theory & practice I am implementing a cryptographic protocol and I'd like to generate a set of seeds using a seed for a pseudo-random function. The reason is that I can pass on only one seed and it can be used to generate the other seeds. 

As we know each derived seed is used to generate a set of pseudo-random values. 

According to pseudo-random function definition, the seeds must be truly random (and not pseudorandom). So if I use a master seed to generate some other seeds the derived seed would not be truly random (according to the definition). 

Question 1: How can I fill the above gap (i.e. satisfy the pseudorandom function) and have a secure key derivation function? 

Question 2: Are the key derivation functions deterministic (i.e. given a master key it always generates a set of derived keys)?
Do NOT generate your own key derivation function.  Use one of the known and trusted ones... industry standard ones, such as PBKDF2 https://en.wikipedia.org/wiki/PBKDF2

Use your starting (pseudo-random) value, and plug it into PBKDF2 for different numbers of iterations for each desired output (new seed) that you need.