You are looking at historical revision 36452 of this page. It may differ significantly from its current revision.
isaac
Description
Bindings to Bob Jenkins' ISAAC CSPRNG.
The source for this extension is available here.
Requirements
API
A single function is provided, which creates a new random procedure:
[procedure] (make-isaac #!optional (seed (make-blob SEED)))Creates a new ISAAC instance.
The result is a procedure of no arguments that returns a random fixnum value on each invocation.
seed is used to initialize the procedure's stream of random values. If given, it should be a blob of size 2048. If not given, a block of uninitialized memory will be used.
If cryptographic security is desired, seed should itself be the result of some secure random source. On Linux and BSD, 2048 bytes from "/dev/urandom" or "/dev/arandom" will suffice.
Examples
#;> (import isaac) #;> (define isaac (make-isaac)) #;> (isaac) 1659971739 #;> (isaac) 4077212320 #;> (isaac) 1011352789
Author
License
Public Domain