For a Message M, Schnorr Signature steps are
- Use a scalar $p$ as private key
- Public key $P = pG$ where G is the generator of an Elliptic Curve
- Generate random number $q$ & compute $Q = qG$
- $c = Hash(Q || M)$
- $s = c * p + q\mod\ell$ where $\ell$ is the group order
$(Q,s)$ is the Schnorr Signature
- How does one concatenate $Q||M$ when $Q$ is an elliptic curve point? What is the output type? Can it be directly used as input for a standard hash function like SHA256?
Are there standard ways to do this?