I am considering using modular exponentiation as a one-way hash function. More specifically, here is the scenario.
1) Input ($m$): the input messages are small (16-bit)
2) Exponent ($e$): the exponent is a 160-bit integer, chosen only once, and randomly; the exponent is not public
3) Prime ($p$): a 2048 bit safe prime, chosen only once and is public
The hash of the message is then computed as: $h=m^e$ mod $p$.
My question is whether there exists efficient algorithms to compute the exponent $e$ given a certain $h$, especially since there are only $2^{16}$ possibilities for $m$?