Usefulness of EGD (entropy-gathering daemon)?

michaelsanford

Translator, Web Developer
I recently Finked egd (entropy-gathering daemon), and was wondering how useful it is.

My understanding is only very peripheral. It looks to me like it monitors a network socket or peripheral port and just captures the I/O bits, and uses that as random data.

What applications have access to, and would use this random data?
 
The daemon is trying to achieve the closest a computer can get to a truly random state. It does this for the purposes of encryption.

An encryption system, such as PGP, or the keys used by SSH, uses random data to scramble the information it is coding.

Computers can't literally produce random numbers. Everything they do is the result of very precise and repeatable calculations. The random number routines used in computer software use complex mathematics to try and create a series that seems random, but in fact it isn't.

If two identical computers that had been activated at the same time with the same software were told to generate random numbers, they would generate the same numbers. This would create a potential security problem because a skilled hacker would be able to work out how encrypted data is being scrambled and thus unscramble it without needing the key.

So, to get around this, the Entropy Gathering Daemon tries to make the random number routines even more random by using events such as mouse movements and keyboard activity, network calls and disk access all together.

I am not sure which applications use the EGD. I'd suspect that PGP and GnuPG would be among them, though.
 
Thanks both of you.

I was wondering specifically whether carbon/cocoa applications like Safari would make use of it to generate SSL keys, and also if a random device already existed ( wasn't aware of /dev/random on OS X :rolleyes: )

Thanks!
 
Back
Top