ecdsa - The Go Programming Language

Golang

Package ecdsa

import "crypto/ecdsa"
Overview
Index

Overview ?

Overview ?

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

Index

func Sign(rand io.Reader, priv *PrivateKey, hash []byte) (r, s *big.Int, err error)
func Verify(pub *PublicKey, hash []byte, r, s *big.Int) bool
type PrivateKey
    func GenerateKey(c elliptic.Curve, rand io.Reader) (priv *PrivateKey, err error)
type PublicKey

Package files

ecdsa.go

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. It returns true iff the signature is valid.

type PrivateKey

type PrivateKey struct {
    PublicKey
    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&private key pair.

type PublicKey

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

PublicKey represents an ECDSA public key.