Project

General

Profile

Bug #1689

Updated by tuxillo over 9 years ago

Dear DragonFlyBSD bugs. 

 

 DragonFly uses Bob Jenkins' IBAA CSPRNG for /dev/random. 

 

 I have been doing some work on this CSPRNG, which is available from: 

 

 http://www.leopard.uk.com/IBAA64 

 

 I have two recommendations to make with regard to the IBAA CSPRNG which is 
 
 used in DragonFly: 

 

 (1) Use my rounded up BETA=32/SHIFT=20 values as opposed to the original 
 
 SHIFT=19 value in the 
 
 original IBAA CSPRNG/algorithm (details available from above URL) 

 

 and 

 

 (2) Use a 32-bit counter. This is a minor modification, which gurantees no 
 
 bad states (an initial state of all zeroes 
      
      maps back to an internal state of all zeroes after 256 iterations), and 
 
 also guarantees a cycle length of at least 
      
      2^32. Details on how to implement the counter are available from the 
 
 above URL. It's a minor modification which 
      
      has minimal performance impact. 
 
 Also, a 64-bit version of IBAA is available from the above URL. Matthew 
 
 Dillon seemed to be interested in that, with 
 
 regard to the 64-bit x86-64 port of DragonFly (but I haven't heard back from 
 
 him about that).

Back