On Dec 5, 2007 10:17 PM, Jeffrey Walton <[EMAIL PROTECTED]> wrote:
>
> > It keeps generating the same exact public key.
> > ...
> > const char *seed = "Does this string do anything?";
> > randPool.IncorporateEntropy((byte *)seed, strlen(seed));
>
> You keep feeding it the same seed. Why would you expect a CSRNG to
> perform any different than a LC in that respect?
>
Just to be clear, the AutoSeededRandomPool class will generate
different keys on different runs in this case, even with the constant
"seed" in the originally posted progrem. The default constructor
provides the real seed using the OS's PRNG. The IncorporateEntropy()
call on the next line with the constant data has no real effect from
there; the seed just becomes
(32 "random" bytes from the system PRNG)|("Does this string do anything")
The initial 32 byte seed from the system PRNG will be enough to
generate a different key each run. Assuming the OS's PRNG is not
defective, it should be enough to ensure an unpredictable key from
each run of the test program, with or without the "Does this string do
anything" addition.
Geoff
Geoff
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the "Crypto++ Users"
Google Group.
To unsubscribe, send an email to [EMAIL PROTECTED]
More information about Crypto++ and this group is available at
http://www.cryptopp.com.
-~----------~----~----~----~------~----~------~--~---