Takes a 64-byte serialized Schnorr signature as data that contains
32-byte r and s values. The r and s values are not checked for validity.
If they are invalid then verify will always fail.
Creates a signature using a private key (privkey) for a given 32-byte
hash. The signature will be generated deterministically and shall be the
same for a given hash and key.
InvalidSchnorrSignature is thrown if the resulting signature is invalid.
This shouldn't happen unless there is a computation error.