Bitcoin ABC 0.26.3
P2P Digital Currency
|
#include <key.h>
#include <crypto/common.h>
#include <crypto/hmac_sha512.h>
#include <random.h>
#include <secp256k1.h>
#include <secp256k1_recovery.h>
#include <secp256k1_schnorr.h>
Go to the source code of this file.
Functions | |
int | ec_privkey_import_der (const secp256k1_context *ctx, uint8_t *out32, const uint8_t *privkey, size_t privkeylen) |
These functions are taken from the libsecp256k1 distribution and are very ugly. | |
int | ec_privkey_export_der (const secp256k1_context *ctx, uint8_t *privkey, size_t *privkeylen, const uint8_t *key32, bool compressed) |
This serializes to a DER encoding of the ECPrivateKey type from section C.4 of SEC 1 http://www.secg.org/sec1-v2.pdf. | |
bool | SigHasLowR (const secp256k1_ecdsa_signature *sig) |
static bool | DoSignSchnorr (const CKey &key, const uint256 &hash, uint8_t *buf, uint32_t test_case) |
bool | ECC_InitSanityCheck () |
Check that required EC support is available at runtime. | |
void | ECC_Start () |
Initialize the elliptic curve support. | |
void | ECC_Stop () |
Deinitialize the elliptic curve support. | |
static CKey | validKey (bool compressed) |
Variables | |
static secp256k1_context * | secp256k1_context_sign = nullptr |
int ec_privkey_export_der | ( | const secp256k1_context * | ctx, |
uint8_t * | privkey, | ||
size_t * | privkeylen, | ||
const uint8_t * | key32, | ||
bool | compressed | ||
) |
This serializes to a DER encoding of the ECPrivateKey type from section C.4 of SEC 1 http://www.secg.org/sec1-v2.pdf.
The optional parameters and publicKey fields are included.
privkey must point to an output buffer of length at least CKey::SIZE bytes. privkeylen must initially be set to the size of the privkey buffer. Upon return it will be set to the number of bytes used in the buffer. key32 must point to a 32-byte raw private key.
Definition at line 101 of file key.cpp.
int ec_privkey_import_der | ( | const secp256k1_context * | ctx, |
uint8_t * | out32, | ||
const uint8_t * | privkey, | ||
size_t | privkeylen | ||
) |
These functions are taken from the libsecp256k1 distribution and are very ugly.
This parses a format loosely based on a DER encoding of the ECPrivateKey type from section C.4 of SEC 1 http://www.secg.org/sec1-v2.pdf, with the following caveats:
out32 must point to an output buffer of length at least 32 bytes.
Definition at line 40 of file key.cpp.
bool ECC_InitSanityCheck | ( | ) |
void ECC_Start | ( | ) |
void ECC_Stop | ( | ) |
bool SigHasLowR | ( | const secp256k1_ecdsa_signature * | sig | ) |
|
static |