DragonFly submit List (threaded) for 2009-05
DragonFly BSD
DragonFly submit List (threaded) for 2009-05
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: Random number generator


From: Sepherosa Ziehau <sepherosa@xxxxxxxxx>
Date: Fri, 8 May 2009 15:50:55 +0800

On Fri, May 8, 2009 at 2:47 PM, Robin Carey <robin.carey1@googlemail.com> wrote:
>
>
> ---------- Forwarded message ----------
> From: Robin Carey <robin.carey1@googlemail.com>
> Date: 2009/5/8
> Subject: Random number generator
> To: submit-request@lists.dragonflybsd.org
>
>
> I had an idea about how to improve the random number generator in
> DragonFlyBSD which I would like to share.
>
> There is a bootstrapping problem where it is difficult to get enough
> "entropy" at boot to ensure the random number generator is fully seeded and
> completely unpredictable immediately after the system has booted.
>
> Currently the random number generator seeds itself from nanotime() and
> nanouptime() which introduces a small degree of entropy, but probably not
> enough to ensure the above requirement is met.
>
> So a possible improvement could be made by introducing more "entropy" at
> initialisation from a high resolution timer like the TSC - rdtsc() (which is
> also used in the random number generator - NANOUP_EVENT() - courtesy of
> Matthew Dillon). That is my suggestion: Use rdtsc() aswell as nanotime() and
> nanouptime() to ensure the random number generator has enough "entropy" at
> boot to ensure it is fully seeded and completely unpredictable. If this were
> done (and true) then you would not need the current ability of the random
> number generator being able to be seeded from a file - an ability which
> Matthew Dillon implemented to solve the boot-seeding problem.
>
> I am wondering if there are any other high resolution timers available .....

tsc probably is the highest resolution timer; it should be available
on almost all of the modern system.  HPET is a high frequency timer
(>10Mhz, but compared to tsc, it is quite low freq) and ACPI timer is
@~3Mhz.  They depends on that acpi.ko is loaded, and they are
available relatively later than tsc.

Best Regards,
sephe

-- 
Live Free or Die



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]