Re: constructing a specified hash function

David Wagner wrote:
bobic wrote:
Hi, all. Recently, I want to construct a specified hash function, which

y=h(x), x can be any string, and y must belong to [g^a mod p,g^{a+1}
mod p,...,g^b mod p], and no body knows the discrete logrithm of y
based on g. a,b are known.

How about h(x) = G * g^H(x), where G = g^a mod p and
H(x) = SHA256(x) mod (b-a)/ Does that do it? Note that you will
have to publish the values G and b-a, but you nobody needs to know
the discrete log of G to the base g, nor the discrete log of y to
the base x.

Out of curiousity, why do you want this hash function? Do you
have any particular security goals for it?

No! :( It cannot catch the goal.

In your way, though nobody knows the discrete logrithm, everybody knows
that h(x) is the product of a constant and a number with a known
discrete logrithm.

If the constant changes to a variant, it is ok!
Or if the number changes to be with a unknown discrete logirhtm, it is
also ok!

Thanks for your reply!