-
Notifications
You must be signed in to change notification settings - Fork 186
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
Publish the test suite/security metrics #17
Comments
Some progress: we have removed the dependencies and restructured the interface into a library. Open-source review is still pending, no estimate available yet. |
i wonder why you cannot just publish the smahasher results as is. i'm interested because i think that even simple hashes like spooky or my own zzhash gathers a best possible results in this particular test, so i want to check your claim that highwayhash provides results better than any other hashes |
Sure, no problem, results are below. Just beware that it doesn't make much sense to compare results directly because this smhasher variant uses the PCG random generator and changes some of the test parameters (in particular, reps for AvalancheTest). Verification value 0x57EA5AB8 : Passed! [[[ Keyset 'Zeroes' Tests ]]] Keyset 'Zeroes' - 65536 keys [[[ Avalanche Tests ]]] 3-byte keys -> 64-bit, 9000000 reps worst bias is 0.162200% [[[ Differential Tests ]]] 8303632 <=5-bit differentials in 64-bit keys -> 64 bit hashes. 11017632 <=4-bit differentials in 128-bit keys -> 64 bit hashes. 2796416 <=3-bit differentials in 256-bit keys -> 64 bit hashes. [[[ Differential Distribution Tests ]]] Testing distribution - Worst bias is the 18-bit window at bit 43 - 0.064% [[[ Keyset 'Combination Lowbits' Tests ]]] Keyset 'Combination' - up to 8 blocks from a set of 8 - 19173960 keys [[[ Keyset 'Combination Highbits' Tests ]]] Keyset 'Combination' - up to 8 blocks from a set of 8 - 19173960 keys [[[ Keyset 'Combination 0x8000000' Tests ]]] Keyset 'Combination' - up to 20 blocks from a set of 2 - 2097150 keys [[[ Keyset 'Combination 0x0000001' Tests ]]] Keyset 'Combination' - up to 20 blocks from a set of 2 - 2097150 keys [[[ Keyset 'Combination Hi-Lo' Tests ]]] Keyset 'Combination' - up to 6 blocks from a set of 15 - 12204240 keys [[[ Keyset 'TwoBytes' Tests ]]] Keyset 'TwoBytes' - up-to-4-byte keys, 652545 total keys Keyset 'TwoBytes' - up-to-8-byte keys, 5471025 total keys Keyset 'TwoBytes' - up-to-12-byte keys, 18616785 total keys Keyset 'TwoBytes' - up-to-16-byte keys, 44251425 total keys Keyset 'TwoBytes' - up-to-20-byte keys, 86536545 total keys [[[ Keyset 'Sparse' Tests ]]] Keyset 'Sparse' - 32-bit keys with up to 6 bits set - 1149017 keys Keyset 'Sparse' - 40-bit keys with up to 6 bits set - 4598479 keys Keyset 'Sparse' - 48-bit keys with up to 5 bits set - 1925357 keys Keyset 'Sparse' - 56-bit keys with up to 5 bits set - 4216423 keys Keyset 'Sparse' - 64-bit keys with up to 5 bits set - 8303633 keys Keyset 'Sparse' - 96-bit keys with up to 4 bits set - 3469497 keys Keyset 'Sparse' - 256-bit keys with up to 3 bits set - 2796417 keys Keyset 'Sparse' - 2048-bit keys with up to 2 bits set - 2098177 keys [[[ Keyset 'Window' Tests ]]] Keyset 'Windowed' - 128-bit key, 20-bit window - 128 tests, 1048576 keys per test [[[ Keyset 'Cyclic' Tests ]]] Keyset 'Cyclic' - 8 cycles of 8 bytes - 10000000 keys Keyset 'Cyclic' - 8 cycles of 9 bytes - 10000000 keys Keyset 'Cyclic' - 8 cycles of 10 bytes - 10000000 keys Keyset 'Cyclic' - 8 cycles of 11 bytes - 10000000 keys Keyset 'Cyclic' - 8 cycles of 12 bytes - 10000000 keys [[[ Keyset 'Text' Tests ]]] Keyset 'Text' - keys of form "Foo[XXXX]Bar" - 14776336 keys Keyset 'Text' - keys of form "FooBar[XXXX]" - 14776336 keys Keyset 'Text' - keys of form "[XXXX]FooBar" - 14776336 keys [[[ Keyset 'Seed' Tests ]]] Keyset 'Seed' - 1000000 keys |
Here's a preprint with statistical analysis and preliminary cryptanalysis: https://arxiv.org/abs/1612.06257 We greatly reduced the variance of bias estimates by using 900M iterations instead of the 9M above. We welcome any comments you might have! |
I guess this binding will have to be named "The Snake" http://www.thesnake421.com/ aka. the snake highway. |
We'd like to publish the test suite, forked from smhasher and much faster thanks to data-parallel optimizations. This requires a portable thread pool and removal of other dependencies.
The text was updated successfully, but these errors were encountered: