I haven't driven my car in about a week, and when I went to try and start it today, it would not start. It has enough battery to play the radio and whatnot, so I'm not sure if it's a battery related issue. 

When I turn the key to start the car, the check engine light flashes as it's being turned, and the engine produces a sound similar to a machine gun.

Incase my description isn't good enough, here's a video of what happens when I attempt to start it.


Question: Entropy Loss of KDFs
Answer: When you use a PRF to derive a key, there is the potential for collisions. If you derived a 128-bit key from each possible 128-bit number, you'd expect some of them to collide. Specifically, you'd expect only about 63%  of all the inputs ($1-e^{-1}$) to appear as outputs.

That means you lose less than a bit of entropy even if the original key had the full 128 bits of entropy, like your random 128-bit string. With a lower entropy key you'd lose less. That doesn't matter in practice, since in the worst case it wouldn't even halve attack time. 127-bit security is enough.

In general, if you use a PRF to derive an $n$-bit key from one with $k$ bits of entropy, the resulting key will have at least $\min(n, k) - 1$ bits of entropy, approaching $\min(n, k)$ when $k \ll n$ or $k \gg n$.