Hash deviations are being systematically analyzed across varying conditions. We thank the large-scale GPU cluster for its support. If there are any additional hashes you would like to have analyzed, please don't hesitate to reach out.
Our purpose is to find weaknesses early and turn them into opportunities for improvement. Preemptive action is "the key". Thanks!
Why did we begin analyzing hash behavior using a large-scale GPU cluster?
Because if the hash value matches, the verification will definitely succeed, even if the public key and the signature were arbitrarily generated by an attacker.
TYPE | Hash | Bias threshold (values below this threshold are recommended) | Bias Score (Displayed in the order of measurement) | Note |
---|---|---|---|---|
UP | Random only input (33 bytes), random is GetStrongRandBytes | 4.6 | 3 5 4 6 5 8 3 5 1 0 4 | No issues detected. |
UP | SHA256 from random input (33 bytes), random is GetStrongRandBytes | 4.6 | 5 6 3 2 6 2 2 5 3 1 8 | No issues detected. |
MID | SHA256 from random input (33 bytes), random is GetStrongRandBytes | 4.6 | 6 5 4 5 2 4 2 7 4 5 2 | No issues detected. |
DOWN | SHA256 from random input (33 bytes), random is GetStrongRandBytes | 4.6 | 5 4 4 3 3 1 6 11 6 9 6 | No issues detected. |
UP | Blake2s from random input (33 bytes), random is GetStrongRandBytes | 4.6 | 5 5 6 9 5 1 4 4 3 3 5 | No issues detected. |
UP | SHA1 from random input (33 bytes), random is GetStrongRandBytes | 4.6 | 6 3 3 11 5 3 7 10 0 4 8 | |
MID | SHA1 from random input (33 bytes), random is GetStrongRandBytes | 4.6 | 7 7 6 8 2 5 4 4 5 1 7 | |
DOWN | SHA1 from random input (33 bytes), random is GetStrongRandBytes | 4.6 | 7 6 3 3 6 2 4 3 1 5 5 | |
UP | RIPEMD160 from random input (33 bytes), random is GetStrongRandBytes | 4.6 | 5 5 1 5 4 7 4 5 2 8 4 | |
UP | Hash160 from random input (33 bytes), random is GetStrongRandBytes | 4.6 | 3 4 4 2 4 4 5 8 1 4 10 | |
MID | Hash160 from random input (33 bytes), random is GetStrongRandBytes | 4.6 | 8 6 10 4 6 5 4 3 2 5 6 | |
DOWN | Hash160 from random input (33 bytes), random is GetStrongRandBytes | 4.6 | 5 7 5 8 6 3 7 7 4 3 3 |