看板 DFBSD_bugs 關於我們 聯絡資訊
--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&#39; 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&#39;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&#39;t heard= back from him about that).</div> <div><br>-- <br>Sincerely,<br>Robin Carey<br></div> --001636458c9012eda604813a3200--