M
M
mimicria2015-09-10 15:57:50
Cryptography
mimicria, 2015-09-10 15:57:50

How to prove the uniformity of a hash function?

Assume that a custom hash function has been developed that maps a set of byte sequences (64 bytes long) into hash values ​​(4 bytes long).
It is logical that injection is impossible and collisions cannot be avoided, but how to check the main property of hashes - the uniform distribution of output results?
It is unrealistic to sort through all possible input values ​​2^512.

Answer the question

In order to leave comments, you need to log in

2 answer(s)
R
Rsa97, 2015-09-10
@Rsa97

If a non-rigorous proof is sufficient, then by the Monte Carlo method. Generate random blocks, count the hash, see its distribution.
If you need a rigorous proof - either exhaustive search, or analytically.

A
Andrew, 2015-09-10
@OLS

Run randomness tests (DieHard, FIPS 140-1, and similar) on arrays of values ​​obtained after hashing random inputs

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question