Re: Random number generator

看板DFBSD_submit作者時間16年前 (2009/05/08 16:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
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
文章代碼(AID): #1A0-RA00 (DFBSD_submit)