We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
I have implemented a psuedo-random number generator based on SipHash, and hope I might be able to get some feedback on the design?
This PRNG construction appears to be statistically high-quality, though only with moderate speed, and I don't know about cryptographic strength.
The motivation to doing this is to provide a "universal PRNG seeder", meaning:
This is not intended for use in cryptography, but only for deterministic PRNGs used in simulations.
The choice of how many rounds to use, and where, is arbitrary, but designed to be similar to the standard 2-4 selection used by SipHash.
The additional tweaks to state between these rounds are entirely arbitrary choices other than being some extra tweak.
A quick guide to the source code:
SipHash::write
SipHash
SipHash::finish
SipRng
SipRng::next_u64
c_rounds
d_rounds
The text was updated successfully, but these errors were encountered:
This is not the right place for such review work.
Sorry, something went wrong.
No branches or pull requests
I have implemented a psuedo-random number generator based on SipHash, and hope I might be able to get some feedback on the design?
This PRNG construction appears to be statistically high-quality, though only with moderate speed, and I don't know about cryptographic strength.
The motivation to doing this is to provide a "universal PRNG seeder", meaning:
This is not intended for use in cryptography, but only for deterministic PRNGs used in simulations.
The choice of how many rounds to use, and where, is arbitrary, but designed to be similar to the standard 2-4 selection used by SipHash.
The additional tweaks to state between these rounds are entirely arbitrary choices other than being some extra tweak.
A quick guide to the source code:
SipHash::write
functionSipHash
for short inputSipHash::finish
function for standard outputSipHash
toSipRng
SipRng::next_u64
functionc_rounds
/d_rounds
functionsThe text was updated successfully, but these errors were encountered: