-
Notifications
You must be signed in to change notification settings - Fork 40
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
AESCounterRNG and Diehard testing improvements #16
Conversation
…n export-controlled crypto is available (the last 128 bits set the counter), and this project is now usable in Travis-CI.
…vis due to a Travis bug.
…ded more output than some cloud environments could hold all at once.
Update: I've managed to build a Diehard target that can be run on Travis. It was a bit complicated, because Diehard has been replaced with Dieharder, which requires more random numbers than many cloud build environments will let us store, so I worked around the issue with a FIFO. Testing on Travis should be finished in a few hours. |
Update: travis-ci.org has a wall-time limit of 50 minutes per job (paying customers get 120 when running on Linux), which isn't enough time to run the dieharder tests on all 6 PRNGs. To get around this limit, I'm testing a refactored Ant file that creates a separate target for testing each PRNG, so that each one can be a separate Travis job (with a seventh one for all the unit tests). ant diehard will still test all six, and will now do so in parallel, but it won't be used on Travis. Since my .travis.yml currently tests on 4 different JVMs, we get 28 Travis jobs altogether. At my current allowance of 5 VMs at a time, everything should either finish or time out within 5 hours. |
…ith -a, but handles -m
…dInputGenerator. Reduce Diehard to 1/10 of default psamples.
Replace some constant expressions with precomputed values and correct rounding errors using WolframAlpha. Replace raw types with generics. Move constants to the left side of equals() comparisons to prevent NPEs.
….travis.yml to address current slow performance of JDK9.
…fed into counter.
…andling e.g. in readObject() of RNGs.
… extends Random> and tests two generated instances for false equality.
I've fixed the serialization of AESCounterRNG. I've also added the ability to initialize the counter using part of the seed, so 40- and 48-byte seeds can now be used, and 32-byte seeds no longer require a policy file.
Also, ant diehard only worked on Mac because it was using that prepackaged binary, so I've changed it to use dieharder (which must be installed but is cross-platform).