Crate secp256k1 [] [src]

Pure Rust implementation of the secp256k1 curve and fast ECDSA signatures. The secp256k1 curve is used excusively in Bitcoin and Ethereum alike cryptocurrencies.

Modules

util

Utilities to manipulate the secp256k1 curve parameters.

Macros

affine_const

Define an affine group element constant.

affine_storage_const

Define an affine group storage constant.

jacobian_const

Define a jacobian group element constant.

Structs

Affine

A group element of the secp256k1 curve, in affine coordinates.

AffineStorage

Affine coordinate group element compact storage.

ECMultContext

Context for accelerating the computation of a*P + b*G.

ECMultGenContext

Context for accelerating the computation of a*G.

Field

Field element for secp256k1.

Jacobian

A group element of the secp256k1 curve, in jacobian coordinates.

Message

Hashed message input to an ECDSA signature.

PublicKey

Public key on a secp256k1 curve.

RecoveryId

Tag used for public key recovery from signatures.

Scalar
SecretKey

Secret key (256-bit) on a secp256k1 curve.

Signature

An ECDSA signature.

Constants

CURVE_B

Statics

AFFINE_G
ECMULT_CONTEXT

A static ECMult context.

ECMULT_GEN_CONTEXT

A static ECMultGen context.

Functions

recover

Recover public key from a signed message.

sign

Sign a message using the secret key.

verify

Check signature is a valid message signed by public key.