From: Mike Lempriere <[EMAIL PROTECTED]>


>
> Am I missing something here?  The point is to get a _truly_ random number,
> right?
>
> a)  Why not use your processes PID?
> b)  Sound card input would also be excellent.
> c)  Time read straight from the clock chip helps, it's number of seconds
>     since Jan 1980, so it doesn't repeat, though it is predictable.  Using
>     it as a seed would help though.
> d)  Mouse pointer coordinates would be excellent if they have a mouse
>     (WinNT or X).
> e)  Perhaps window position coordinates (WinNT or X)?
> f)  Perhaps just use the standard C runtime functions to get a random
>     number, and use that as a memory address to read into some kernel
>     tables (eg. process table) for a value.  Obviously this would have to
>     be a kernel process to get at those tables (all OSes).
> g)  Ask the video card for scan position.  As the program could ask at any
>     time, this would be very random (within a small range).
> h)  Ask the keyboard hardware for scan index.  As g), this is random as
>     the software could ask at any time.  (Is this info available?)
> i)  Ask the network driver for the number of bytes/packets sent.  This
>     should be easily accessed, and will always be changing.
>
> My point is that there are a whole bunch of ways to do this in software.
> There are a bazillion different values in any given computer that are
> changing over time in unrelated ways.  They can be used in conjunction to
> come up with a very random number.
>
Are you shure the processes you mentioned can generate each of the
2**128 keys possible for a 128-bit cryptosystem?  I wouldn´t be so sure.
Remember, when the experts implemented the first version of SSL, it was
crackable by a PC in a question of days because the randomness (entropy)
available to generate the random keys for RC4 128-bit encryption was
only equal to 2*22 bits...  The point is if you really want 128-bit privacy,
you need a good RNG with the necessary entropy.

Regards,

J. Andrew Hall.



______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    [EMAIL PROTECTED]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to