I want to find an algorithm such that
- takes 10 inputs as natural number
- returns 1 output as natural number between 1 and 10. (including 1 and 10)
It means it should be a function
f($x_0$, $x_1$, $x_2$, $x_3$, $x_4$, $x_5$, $x_6$, $x_7$, $x_8$, $x_9$)= n
However, the time of computation of the function should be very long. It should take about 10 minutes by modern computer. And nobody can predict the return value in short time.
Can you recommended me a good algorithm which satisfies above condition?
Convert the $x_i$ to strings, separated by ",". Then compute a good hash (for example, SHA-2) of the string and replace the first few characters by the hash. Repeat the latter very often, where the repeat count is adjusted to meet your 10 minute requirement. Then return $1+$ the hash modulo $10$.