L15 update

I have made a couple of updates to the L15 algorithm since it was imported
into the DragonFlyBSD tree as
the CSPRNG used for /dev/urandom (/sys/kern/kern_nrandom.c).

The first update (output indirection) is purely security related (and a
slight decrease in performance), so I
doubt you'd be interested in that.

However, the second update (which I implemented last night) increases
performance and also is a minor
security improvement. I would have thought this would be of interest to
DragonFly, especially considering
that the (random) system thread on DragonFly calls NANOUP_EVENT()
approximately once every second.

History

Closing. Made modifications as requested and also adjusted /dev/urandom and the sysctl random to use IBAA (which is what /dev/random uses), so they all use IBAA now and nothing uses L15. These changes will make it into the 3.8.1 roll on Monday June 16th 2014.

In the near future we will run with two independent algorithms and xor their streams together. We are discussing this now. 3.8.1 will likely roll with just IBAA but if we get the second algorithm in place in the next few weeks we will MFC it to the release branch.