At 02:42 PM 1/26/02 -0600, cameron wrote:
>Can someone tell me what the system entopy pool is (and maybe how it
works) or
>direct me to some documentation on it?

If you've ever written a program in C (or C++, or a similar language) that
used random numbers, then you're probably familiar with the need for a
"seed" value for a pseudo-random number generator. If you seed a PRNG with
the same value every time, it will produce the same sequence of numbers
every time (not very random is it?). For a lot of applications it's
considered a Good Thing(tm) to seed the PRNG with the current time when the
program is started, but for cryptographic purposes this sucks. If you
generate a key pair based on the output of a PRNG seeded with the current
time then all a person has to do in order to guess your private key is grab
a copy of the same encryption program (so he has the same pseudo-random
number generator) and start guessing as to what time you ran the program.
The attacker only needs to cover a period of a few weeks or months (at
most) and typically only at 1-second resolution, so should be able to get
the correct key within a matter of seconds on a good computer. Clearly this
is not the sort of security you want for a "secure" web connection over SSL
or the SSH shell you're using for remote root access. . .
The purpose of the entropy pool is to store up measurements of
unpredictable data (hardware interrupt timings, etc.) for use as seed
values when generating random numbers for applications (like SSH and SSL)
where it's important to have really random numbers.

I'd suggest you drop by your local library and look at books relating to
cryptography. The math can get a little intense, but if you don't balk at
things like modular arithmetic and finite field theory and you should be
fine. Most such books will also have a section on random number generators,
and most good (often called "hybrid") random number generators rely on an
entropy pool.
If you can't find anything that suits you I can e-mail you a copy of a
paper I wrote on random number generators last year (mind you it was a term
paper, not a serious research paper).
You can usually also find stuff related to random number generation in
advanced statistics books (anything that deals with "Monte Carlo"
techniques), but they tend to concentrate on tests of randomness and
pseudo-random numbers, whereas an entropy pool is concerned with producing
real random numbers.
About the only really useful thing I got out of all this research was to
learn that all cryptosystems written in Java (using Java's random number
generator) are very, very easy to crack.


--
"Of course, Linux has become userfriendly. See, you can now click
buttons. But the thing is you don't feel like clicking them". 
                                - Naba kumar



_______________________________________________
Redhat-list mailing list
[EMAIL PROTECTED]
https://listman.redhat.com/mailman/listinfo/redhat-list

Reply via email to