# Functional signatures vs homomorphic signatures

I found that homomorphic signatures allows an agency to carry out arbitrary computation $$f$$ on the signed data $$m$$ and accordingly gain a signature for the computation result $$f(m)$$ with respect to $$f$$. Another related notion is functional signatures, in which DO hands out a secondary key $$sk$$ to allow a specified agency to sign messages $$m'$$ which satisfy that $$m' = f(m)$$.

Could you please let me know: What are the differences between these two schemes? Because to me they appear to be the same.

The difference is that in homomorphic signatures anyone can compute on the signatures, whereas in functional signatures only the party holding the functional secret key $$sk_f$$ can compute $$f$$ on signatures (signed by master secret key corresponding to $$sk_f$$)