docs: def verifies( self, hash, signature ):
      """Verify that signature is a valid signature of hash.
      Return True if the signature is valid.
      """
  
      # From X9.62 J.3.1.
  
      G = self.generator
      n = G.order()
      r = signature.r
      s = signature.s
      if r < 1 or r > n-1: return False
      if s < 1 or s > n-1: return False
      c = numbertheory.inverse_mod( s, n )
      u1 = ( hash * c ) % n
      u2 = ( r * c ) % n
      xy = u1 * G + u2 * self.point
      v = xy.x() % n
      return v == r