pub struct SECP256K1 { /* private fields */ }
Methods from Deref<Target = Secp256k1>§
pub fn generate_keypair<R>(
&self,
rng: &mut R
) -> Result<(SecretKey, PublicKey), Error>where
R: Rng,
pub fn generate_keypair<R>(
&self,
rng: &mut R
) -> Result<(SecretKey, PublicKey), Error>where
R: Rng,
Generates a random keypair. Convenience function for key::SecretKey::new
and key::PublicKey::from_secret_key
; call those functions directly for
batch key generation. Requires a signing-capable context.
pub fn sign(&self, msg: &Message, sk: &SecretKey) -> Result<Signature, Error>
pub fn sign(&self, msg: &Message, sk: &SecretKey) -> Result<Signature, Error>
Constructs a signature for msg
using the secret key sk
and RFC6979 nonce
Requires a signing-capable context.
pub fn sign_recoverable(
&self,
msg: &Message,
sk: &SecretKey
) -> Result<RecoverableSignature, Error>
pub fn sign_recoverable( &self, msg: &Message, sk: &SecretKey ) -> Result<RecoverableSignature, Error>
Constructs a signature for msg
using the secret key sk
and RFC6979 nonce
Requires a signing-capable context.
pub fn recover(
&self,
msg: &Message,
sig: &RecoverableSignature
) -> Result<PublicKey, Error>
pub fn recover( &self, msg: &Message, sig: &RecoverableSignature ) -> Result<PublicKey, Error>
Determines the public key for which sig
is a valid signature for
msg
. Requires a verify-capable context.
pub fn verify(
&self,
msg: &Message,
sig: &Signature,
pk: &PublicKey
) -> Result<(), Error>
pub fn verify( &self, msg: &Message, sig: &Signature, pk: &PublicKey ) -> Result<(), Error>
Checks that sig
is a valid ECDSA signature for msg
using the public
key pubkey
. Returns Ok(true)
on success. Note that this function cannot
be used for Bitcoin consensus checking since there may exist signatures
which OpenSSL would verify but not libsecp256k1, or vice-versa. Requires a
verify-capable context.