K
Kirk Haines
This is to announce the release of Crypt::ISAAC, a pure Ruby implementation
of the ISAAC psuedo-random number generator. ISAAC is an algorithm for
generating cryptographically secure psuedo-random numbers. This library has
been part of the Iowa package for a couple of years. This version will
become the canonical version, however.
Crypt::ISAAC can be used to setup multiple independent streams of random
numbers, and offers a simple interface identical to that of Kernel.rand():
require 'crypt/isaac'
rng1 = Crypt::ISAAC.new
rng2 = Crypt::ISAAC.new
ri1 = rng1.rand(1000000)
ri2 = rng2.rand(1000000)
rf1 = rng1.rand
rf2 = rng2-rand
puts "#{ri1} -- #{ri2}"
puts "#{rf1} -- #{rf2}"
I am releasing the library as version 0.9 just because while I have been
using it for a couple of years, nobody else has ever looked at it, so there
may well be some tweaks and nudges to bits of it before I call it 1.0.
Kirk Haines
of the ISAAC psuedo-random number generator. ISAAC is an algorithm for
generating cryptographically secure psuedo-random numbers. This library has
been part of the Iowa package for a couple of years. This version will
become the canonical version, however.
Crypt::ISAAC can be used to setup multiple independent streams of random
numbers, and offers a simple interface identical to that of Kernel.rand():
require 'crypt/isaac'
rng1 = Crypt::ISAAC.new
rng2 = Crypt::ISAAC.new
ri1 = rng1.rand(1000000)
ri2 = rng2.rand(1000000)
rf1 = rng1.rand
rf2 = rng2-rand
puts "#{ri1} -- #{ri2}"
puts "#{rf1} -- #{rf2}"
I am releasing the library as version 0.9 just because while I have been
using it for a couple of years, nobody else has ever looked at it, so there
may well be some tweaks and nudges to bits of it before I call it 1.0.
Kirk Haines