IBAA recommendation

Matthew Dillon dillon at apollo.backplane.com
Tue May 11 16:10:27 PDT 2010


: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).
:
:-- 
:Sincerely,
:Robin Carey

    I see the shift in /usr/src/sys/kern/kern_nrandom.c, changing that
    is easy.  I don't know what the counter is though.

    I'd like to have the 64-bit version in DFly but I don't have time to
    port it myself.

						-Matt






More information about the Bugs mailing list