On Tuesday, 10 June 2014 at 06:53:46 UTC, Chris Cain wrote:
Awesome! I'll definitely check this out :)
Thanks, that would be great!
Would there be any chance of additional contributions, such as
an ISAAC RNG implementation, being accepted? I wouldn't go as
far as to guarantee it for crypto purposes, but I've been
messing around with an implementation recently and wouldn't
mind porting it over to D (it's based on the public domain
implementation found on this website:
Yea, it'd be great to have submissions like this. I plan on
having a hap.random.crypto as another experimental module (i.e.
not included if you do "import hap.random", copiously labelled as
experimental until it's had a security review, etc.) so
guaranteeing crypto possibilities straight away is not a problem.
Part of the point of hap is that it gives us a place where we
can get things wrong and correct them. ;-)
I think I'll create a 1.x.x branch for the current release
process and add a crypto module shortly in the ~master branch,
I'll ping you when that's done.
So far the numbers it puts out appear to be pretty good from my
observations, PLUS it's really fast for a large number of
outputs (it costs a lot up-front, however).
I also have a variation of "ISAAC+" as described by the paper
The problem I have with "ISAAC+", though, is that the paper
incorrectly describes the original ISAAC algorithm (Algorithm
1.1 fails to `xor a` at line 6) so it's unclear whether the
paper actually solves a problem. Furthermore, I'd really prefer
to keep that xor regardless (because it may have simply been an
oversight but intended) so it's hard (I don't want to) to
really call it "ISAAC+" since it is notably different than the
That said, it's a paper that comes up often enough in
discussions about ISAAC that people suggest a desire for it.
Why not write to the paper's author and ask about it? It may
seem like a small thing, but they'll probably be grateful for the
interest and feedback.