Hi all!
Is there a way to read CPU (for example 2nd level cache hit/miss), processor
(DPCs) and memory performance counters (Page faults etc.) from kernel mode.
I need it to generate seed value in kernel mode before user mode
applications are up.
Thanks,
Dani
Answering another question , how strong do you need your seed to be?
I usually use ExUuidCreate (although the documentation indicates that there
is a ‘too early’ here as well but I’ve not found it). If it works you’ll be
reasonably sure of uniqueness in time+space, but it may well be guessable.
Rod
“Dani Polovets” wrote in message
news:xxxxx@ntfsd…
> Hi all!
>
> Is there a way to read CPU (for example 2nd level cache hit/miss),
> processor
> (DPCs) and memory performance counters (Page faults etc.) from kernel
> mode.
> I need it to generate seed value in kernel mode before user mode
> applications are up.
>
> Thanks,
> Dani
>
>
>
Wasn’t there an Intel chipset register that provided a thermal noise based true hardware random value? And some associated Intel Security driver?
I remember reading about this, but have never had the need to chase it down,
Peter
OSR
I would suggest having a look at this :
http://sourceforge.net/projects/gkernel/
It’s a Linux driver to collect random data. The /dev/urandom from the
OpenBSD project is also a very good source of information.
Wasn’t there an Intel chipset register that provided a thermal noise
based
true hardware random value? And some associated Intel Security driver?
I remember reading about this, but have never had the need to chase it
down,
For random number generation, the Via C3 CPU and decendants are fitted with
an instruction to that effect. If I’m correct you need to set up the rng
via MSR and then call “xstore”.
Peter is also correct, starting with i810 (I think) Intel chipset have a
source of random data that is accessible. It is however not as easy as a
single instruction call.
Whatever you do, never rely on only one source for your entropy and make
sure you measure this entropy.
–
EA
ExUuidCreate, if called before SC manager startup, gives you a weak GUID
with the MAC address literally in it. At least it is so on w2k.
–
Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.com
http://www.storagecraft.com
“Rod Widdowson” wrote in message news:xxxxx@ntfsd…
> Answering another question , how strong do you need your seed to be?
>
> I usually use ExUuidCreate (although the documentation indicates that there
> is a ‘too early’ here as well but I’ve not found it). If it works you’ll be
> reasonably sure of uniqueness in time+space, but it may well be guessable.
>
> Rod
>
> “Dani Polovets” wrote in message
> news:xxxxx@ntfsd…
> > Hi all!
> >
> > Is there a way to read CPU (for example 2nd level cache hit/miss),
> > processor
> > (DPCs) and memory performance counters (Page faults etc.) from kernel
> > mode.
> > I need it to generate seed value in kernel mode before user mode
> > applications are up.
> >
> > Thanks,
> > Dani
> >
> >
> >
>
>
>