Use RandomPool, and put in a seed using the Put() method.
On Wed, Nov 03, 2004 at 05:51:53PM +0530, Vishal Rao wrote:
> Hi,
>
> I tried using SapphireRNG (sapphire.h) in Crypto++ 5.0.4 FIPS dll with
> the non-FIPS algo lib with MSVC++ 6.0 SP6 but apparently I am missing
> the implementation for the RandomNumberGenerator class's pure virtual
> functions?
>
> Im just doing :
>
> #include "dll.h"
> #include "sapphire.h"
>
> CryptoPP::SapphireRNG myRNG(myBlob.pbData, myBlob.cbData);
>
> It gives the compiler error "Cannot instantiate abstract base class
> due to following members" then lists some of the methods such as
> GenerateByte() in RandomNumberGenerator...
>
> My question is : Using Crypto++ 5.0.4 API how can I get the same
> sequence of ('predictable') random numbers given the same input seed
> as a varying-length byte array?
>
> Which class should I use? LC_RNG takes a word32 as seed but I need a
> varying length byte array as seed.
>
> Actually what I am trying to do (and my real task) in a function, lets
> say its called DeriveRSAKeyPairFromByteArray(...), is 'repeatedly and
> reproducably' generate the same 1024-bit RSA keypair for the same
> given byte array as input.
>
> So I am trying to provide a 'predictable' RNG to the
> InvertibleRSAFunction (PrivateKey) method
> GenerateRandomWithKeySize(...) and I came across the compile problem
> mentioned above...
>
> Thanks,
> Vishal
>
> --
> "Thou shalt not follow the null pointer for at its end madness and chaos lie."