package
0.0.0-20191201205449-f379a713d0c2
Repository: https://github.com/rjected/lit.git
Documentation: pkg.go.dev
# README
lit/crypto/koblitz
This used to be in btcutil but was moved here because it was a more logical place for it than where it was.
# Functions
Decrypt decrypts data that was encrypted using the Encrypt function.
Encrypt encrypts data for the target public key using AES-256-CBC.
GenerateSharedSecret generates a shared secret based on a private key and a public key using Diffie-Hellman key exchange (ECDH) (RFC 4753).
NAF takes a positive integer k and returns the Non-Adjacent Form (NAF) as two byte slices.
NewPrivateKey is a wrapper for ecdsa.GenerateKey that returns a PrivateKey instead of the normal ecdsa.PrivateKey.
ParseDERSignature parses a signature in DER format for the curve type `curve` into a Signature type.
ParsePubKey parses a public key for a koblitz curve from a bytestring into a ecdsa.Publickey, verifying that it is valid.
ParseSignature parses a signature in BER format for the curve type `curve' into a Signature type, perfoming some basic sanity checks.
PrivKeyFromBytes returns a private and public key for `curve' based on the private key passed as an argument as a byte slice.
RecoverCompact verifies the compact signature "signature" of "hash" for the Koblitz curve in "curve".
S256 returns a Curve which implements secp256k1.
SignCompact produces a compact signature of the data in hash with the given private key on the given koblitz curve.
# Constants
PrivKeyBytesLen defines the length in bytes of a serialized private key.
These constants define the lengths of serialized public keys.
These constants define the lengths of serialized public keys.
These constants define the lengths of serialized public keys.
# Variables
ErrInvalidMAC occurs when Message Authentication Check (MAC) fails during decryption.
# Structs
KoblitzCurve supports a koblitz curve implementation that fits the ECC Curve interface from crypto/elliptic.
Signature is a type representing an ecdsa signature.
# Type aliases
PrivateKey wraps an ecdsa.PrivateKey as a convenience mainly for signing things with the the private key without having to directly import the ecdsa package.
PublicKey is an ecdsa.PublicKey with additional functions to serialize in uncompressed, compressed, and hybrid formats.