Package io.github.olyutorskii.aletojio.bijection


package io.github.olyutorskii.aletojio.bijection
Bijection hash functions.

AKA Minimal perfect hash function.

If the input is a random sequence, the output is also a random sequence. These functions are expected to destroy statistical correlations between sequence.

To achieve an ideal 32-bit hash function (1-bit change in input, the output is statistically changed 16-bits), a round consisting of S-box(8bitx4) and P-box(32bit) should be repeated 4 rounds.

These functions are useful for implementing Counter-based random number generator. (CBRNG)

See Also: