Project

General

Profile

Bug #1358

Updated by tuxillo over 9 years ago

---------- 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 .....

Back