bitecdsa

package
v0.0.0-...-03677bc Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 2, 2012 License: BSD-3-Clause, BSD-3-Clause Imports: 3 Imported by: 0

Documentation

Overview

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

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CheckIsOnCurve

func CheckIsOnCurve(c *bitelliptic.BitCurve, k *big.Int) bool

TODO: add to tests, new functionality function to check if a given private key is correct

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.

Types

type PrivateKey

type PrivateKey struct {
	PublicKey
	D *big.Int
}

PrivateKey represents a ECDSA private key.

func GenerateFromPrivateKey

func GenerateFromPrivateKey(d *big.Int, c *bitelliptic.BitCurve) (priv *PrivateKey, err error)

TODO: add to tests, new functionality GenerateKey generates a key pair of public key matching the given private key.

func GenerateKey

func GenerateKey(c *bitelliptic.BitCurve, rand io.Reader) (priv *PrivateKey, err error)

GenerateKey generates a public&private key pair.

type PublicKey

type PublicKey struct {
	*bitelliptic.BitCurve
	X, Y *big.Int
}

PublicKey represents an ECDSA public key.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL