--001636458c9012eda604813a3200
Content-Type: text/plain; charset=ISO-8859-1
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).
--
Sincerely,
Robin Carey
--001636458c9012eda604813a3200
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
<div>Dear DragonFlyBSD bugs.</div>
<div>=A0</div>
<div>DragonFly uses Bob Jenkins' IBAA CSPRNG for /dev/random.</div>
<div>=A0</div>
<div>I have been doing some work on this CSPRNG, which is available from:</=
div>
<div>=A0</div>
<div><a href=3D"http://www.leopard.uk.com/IBAA64">http://www.leopard.uk.com=
/IBAA64</a></div>
<div>=A0</div>
<div>I have two recommendations to make with regard to the IBAA CSPRNG whic=
h is used in DragonFly:</div>
<div>=A0</div>
<div>(1) Use my rounded up BETA=3D32/SHIFT=3D20 values as opposed to the or=
iginal SHIFT=3D19 value in the</div>
<div>original IBAA CSPRNG/algorithm (details available from above URL)</div=
>
<div>=A0</div>
<div>and</div>
<div>=A0</div>
<div>(2) Use a 32-bit counter. This is a minor modification, which gurantee=
s no bad states (an initial state of all zeroes</div>
<div>=A0=A0=A0=A0 maps back to an internal state of all zeroes after 256 it=
erations), and also guarantees a cycle length of at least</div>
<div>=A0=A0=A0=A0 2^32. Details on how to implement the counter are availab=
le from the above URL. It's a minor modification which</div>
<div>=A0=A0=A0=A0 has minimal performance impact.<br clear=3D"all"></div>
<div>Also, a 64-bit version of IBAA is available from the above URL. Matthe=
w Dillon seemed to be interested in that, with</div>
<div>regard to the 64-bit x86-64 port of DragonFly (but I haven't heard=
back from him about that).</div>
<div><br>-- <br>Sincerely,<br>Robin Carey<br></div>
--001636458c9012eda604813a3200--