I am looking for the following if it exists in code (any language is ok, but preferably c#):
a,b,limit,key : integers
0< a, b, < limit (fits in less than int32)
b = forth(a, limit, key)
a = back (b, limit, key)
I need something that will look sort-of random so (=)
and (xor)
are not good enough.
Now I looked into block ciphers and pseudorandom generators and like but it's always about encryption and security and speed and uses the whole size of the integer. I don't care about any of those. All I need is a bijection on the domain where average of forth(a+epsilon) >> b+epsilon