'Verify the validity of a signature.
:Parameter M: The expected message.
:Type M: byte string or long
:Parameter signature: The signature to verify.
:Type signature: tuple with two items, as return by `sign`
:Return: True if the signature is correct, False otherwise.'

def verify(self, M, signature):

    if isinstance(M, types.StringType):
        M = bytes_to_long(M)
    return self._verify(M, signature)
