...

func Sign(rand io.Reader, priv *PrivateKey, hash []byte) (r, s *big.Int, err error)

Sign signs an arbitrary length hash (which should be the result of hashing a larger message) using the private key, priv. It returns the signature as a pair of integers. The security of the private key depends on the entropy of rand.

func Verify(pub *PublicKey, hash []byte, r, s *big.Int) bool

Verify verifies the signature in r, s of hash using the public key, pub. Its return value records whether the signature is valid.

type PrivateKey struct { PublicKey D *big.Int }

PrivateKey represents a ECDSA private key.

func GenerateKey(c elliptic.Curve, rand io.Reader) (priv *PrivateKey, err error)

GenerateKey generates a public and private key pair.

type PublicKey struct { elliptic.Curve X, Y *big.Int }

PublicKey represents an ECDSA public key.