Run Format

Package ecdsa

import "crypto/ecdsa"

Overview ▾

Package ecdsa implements the Elliptic Curve Digital Signature Algorithm, as defined in FIPS 186-3.

func Sign

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

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

type PrivateKey struct {
        D *big.Int

PrivateKey represents a ECDSA private key.

func GenerateKey

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

GenerateKey generates a public and private key pair.

type PublicKey

type PublicKey struct {
        X, Y *big.Int

PublicKey represents an ECDSA public key.