Secp256k1Native

object Secp256k1Native : Secp256k1

Functions

Link copied to clipboard
open override fun cleanup()

Delete the secp256k1 context from dynamic memory.

Link copied to clipboard
open override fun compact2der(sig: ByteArray): ByteArray

Convert a compact ECDSA signature (64 bytes) to a der-encoded ECDSA signature.

Link copied to clipboard
open override fun ecdh(privkey: ByteArray, pubkey: ByteArray): ByteArray

Compute an elliptic curve Diffie-Hellman secret.

Link copied to clipboard
open override fun ecdsaRecover(    sig: ByteArray,     message: ByteArray,     recid: Int): ByteArray

Recover a public key from an ECDSA signature.

Link copied to clipboard
open override fun privKeyNegate(privkey: ByteArray): ByteArray

Negate the given private key.

Link copied to clipboard
open override fun privKeyTweakAdd(privkey: ByteArray, tweak: ByteArray): ByteArray

Tweak a private key by adding tweak to it.

Link copied to clipboard
open override fun privKeyTweakMul(privkey: ByteArray, tweak: ByteArray): ByteArray

Tweak a private key by multiplying it by a tweak.

Link copied to clipboard
open override fun pubKeyCombine(pubkeys: Array<ByteArray>): ByteArray

Add a number of public keys together. Returns the uncompressed public key (65 bytes).

Link copied to clipboard
open fun pubKeyCompress(pubkey: ByteArray): ByteArray

Serialize a public key to compact form (33 bytes).

Link copied to clipboard
open override fun pubkeyCreate(privkey: ByteArray): ByteArray

Get the public key corresponding to the given private key. Returns the uncompressed public key (65 bytes).

Link copied to clipboard
open override fun pubKeyNegate(pubkey: ByteArray): ByteArray

Negate the given public key. Returns the uncompressed public key (65 bytes).

Link copied to clipboard
open override fun pubkeyParse(pubkey: ByteArray): ByteArray

Parse a serialized public key. Returns the uncompressed public key (65 bytes).

Link copied to clipboard
open override fun pubKeyTweakAdd(pubkey: ByteArray, tweak: ByteArray): ByteArray

Tweak a public key by adding tweak times the generator to it. Returns the uncompressed public key (65 bytes).

Link copied to clipboard
open override fun pubKeyTweakMul(pubkey: ByteArray, tweak: ByteArray): ByteArray

Tweak a public key by multiplying it by a tweak value. Returns the uncompressed public key (65 bytes).

Link copied to clipboard
open override fun secKeyVerify(privkey: ByteArray): Boolean

Verify the validity of a private key.

Link copied to clipboard
open override fun sign(message: ByteArray, privkey: ByteArray): ByteArray

Create a normalized ECDSA signature.

Link copied to clipboard
open override fun signatureNormalize(sig: ByteArray): Pair<ByteArray, Boolean>

Convert an ECDSA signature to a normalized lower-S form (bitcoin standardness rule). Returns the normalized signature and a boolean set to true if the input signature was not normalized.

Link copied to clipboard
open override fun signSchnorr(    data: ByteArray,     sec: ByteArray,     auxrand32: ByteArray?): ByteArray

Create a Schnorr signature.

Link copied to clipboard
open override fun verify(    signature: ByteArray,     message: ByteArray,     pubkey: ByteArray): Boolean

Verify an ECDSA signature.

Link copied to clipboard
open override fun verifySchnorr(    signature: ByteArray,     data: ByteArray,     pub: ByteArray): Boolean

Verify a Schnorr signature.