Documentation ¶
Index ¶
- func CompressPubkey(pubkey *ecdsa.PublicKey) []byte
- func Ecrecover(hash, sig []byte) ([]byte, error)
- func GenerateKey() (*ecdsa.PrivateKey, error)
- func Keccak256(data ...[]byte) []byte
- func S256() elliptic.Curve
- func Sign(hash []byte, prv *ecdsa.PrivateKey) (sig []byte, err error)
- func VerifySignature(pubkey, hash, signature []byte) bool
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CompressPubkey ¶
CompressPubkey encodes a public key to the 33-byte compressed format.
func Sign ¶
func Sign(hash []byte, prv *ecdsa.PrivateKey) (sig []byte, err error)
Sign calculates an ECDSA signature.
This function is susceptible to chosen plaintext attacks that can leak information about the private key that is used for signing. Callers must be aware that the given hash cannot be chosen by an adversery. Common solution is to hash any input before calculating the signature.
The produced signature is in the [R || S || V] format where V is 0 or 1.
func VerifySignature ¶
VerifySignature checks that the given public key created signature over hash. The public key should be in compressed (33 bytes) or uncompressed (65 bytes) format. The signature should have the 64 byte [R || S] format.
Types ¶
This section is empty.