[ANN] crypt-isaac 1.1.0 Released

crypt-isaac 1.1.0 has been released!

* home: <https://github.com/wyhaines/crypt-isaact>
* bugs: <https://github.com/wyhaines/crypt-isaac/issues>

ISAAC is a cryptographically secure PRNG for generating high quality random
numbers. Detailed information about the algorithm can be found at:

http://burtleburtle.net/bob/rand/isaac.html

This library combines a pure Ruby implementation with a C implementation
bound as an extension. The C extension implementation currently runs about
10x faster than the pure ruby implementation on MRI.

When originally written, running on Ruby 1.8.2 under a venerable 800Mhz
PIII Linux system, it could do 15000 to 16000 numbers per second. On Ruby
2.3.1, testing via an Ubuntu shell session on a Windows 10 system running a
2.3Ghz Intel i5 processor, the library will generate over ten million
floats per second, or almost nine million integers per second:

Benchmark integer prng generation
       user system total real
   1.130000 0.000000 1.130000 ( 1.138785)
10000000 numbers generated in 1.1393164 seconds; 8777193 per second

Benchmark float prng generation
       user system total real
   0.950000 0.000000 0.950000 ( 0.967220)
10000000 numbers generated in 0.967398 seconds; 10337007 per second

ISAAC is very fast. This implementation is currently very comparable to
Random's performance for both floats and for integers. ISAAC has strong
statistical properties, like the Mersenne Twister, but it is also
cryptographically strong, and different generators produce completely
unique streams of numbers, even if seeded with similar seeds (though the
seed size is substantial, so good seeding should make it difficult for two
generators to be similarly seeded).

The API is an extended version of the Ruby 2.x Random API, and one should
be able to use a Crypt::ISAAC instance any place that one uses a Random
instance.
Unlike Ruby's Random objects, however, individual generators may be
reseeded at any time by invoking #srand on them.

Changes:

* Tweaked rand() behavior so that it follows the Random#rand behavior, and
returns random integers even when called with a float > 1.
* Added a C extension. Library will load the C extension if it built.
Otherwise, it'll use the pure Ruby version.
* Added a bundled micro-implementation of the Xorshift* PRNG as
Crypt::ISAAC::Xorshift64Star; this will be used, in some cases, if
crypt-xorshift isn't available, for generating seed arrays.