|
|
|
@ -150,7 +150,6 @@ static void secp256k1_pubkey_save(secp256k1_pubkey* pubkey, secp256k1_ge* ge) {
|
|
|
|
|
int secp256k1_ec_pubkey_parse(const secp256k1_context* ctx, secp256k1_pubkey* pubkey, const unsigned char *input, size_t inputlen) {
|
|
|
|
|
secp256k1_ge Q;
|
|
|
|
|
|
|
|
|
|
(void)ctx;
|
|
|
|
|
VERIFY_CHECK(ctx != NULL);
|
|
|
|
|
ARG_CHECK(pubkey != NULL);
|
|
|
|
|
memset(pubkey, 0, sizeof(*pubkey));
|
|
|
|
@ -168,7 +167,6 @@ int secp256k1_ec_pubkey_serialize(const secp256k1_context* ctx, unsigned char *o
|
|
|
|
|
size_t len;
|
|
|
|
|
int ret = 0;
|
|
|
|
|
|
|
|
|
|
(void)ctx;
|
|
|
|
|
VERIFY_CHECK(ctx != NULL);
|
|
|
|
|
ARG_CHECK(outputlen != NULL);
|
|
|
|
|
ARG_CHECK(*outputlen >= ((flags & SECP256K1_FLAGS_BIT_COMPRESSION) ? 33 : 65));
|
|
|
|
@ -214,7 +212,7 @@ static void secp256k1_ecdsa_signature_save(secp256k1_ecdsa_signature* sig, const
|
|
|
|
|
int secp256k1_ecdsa_signature_parse_der(const secp256k1_context* ctx, secp256k1_ecdsa_signature* sig, const unsigned char *input, size_t inputlen) {
|
|
|
|
|
secp256k1_scalar r, s;
|
|
|
|
|
|
|
|
|
|
(void)ctx;
|
|
|
|
|
VERIFY_CHECK(ctx != NULL);
|
|
|
|
|
ARG_CHECK(sig != NULL);
|
|
|
|
|
ARG_CHECK(input != NULL);
|
|
|
|
|
|
|
|
|
@ -232,7 +230,7 @@ int secp256k1_ecdsa_signature_parse_compact(const secp256k1_context* ctx, secp25
|
|
|
|
|
int ret = 1;
|
|
|
|
|
int overflow = 0;
|
|
|
|
|
|
|
|
|
|
(void)ctx;
|
|
|
|
|
VERIFY_CHECK(ctx != NULL);
|
|
|
|
|
ARG_CHECK(sig != NULL);
|
|
|
|
|
ARG_CHECK(input64 != NULL);
|
|
|
|
|
|
|
|
|
@ -251,7 +249,7 @@ int secp256k1_ecdsa_signature_parse_compact(const secp256k1_context* ctx, secp25
|
|
|
|
|
int secp256k1_ecdsa_signature_serialize_der(const secp256k1_context* ctx, unsigned char *output, size_t *outputlen, const secp256k1_ecdsa_signature* sig) {
|
|
|
|
|
secp256k1_scalar r, s;
|
|
|
|
|
|
|
|
|
|
(void)ctx;
|
|
|
|
|
VERIFY_CHECK(ctx != NULL);
|
|
|
|
|
ARG_CHECK(output != NULL);
|
|
|
|
|
ARG_CHECK(outputlen != NULL);
|
|
|
|
|
ARG_CHECK(sig != NULL);
|
|
|
|
@ -263,7 +261,7 @@ int secp256k1_ecdsa_signature_serialize_der(const secp256k1_context* ctx, unsign
|
|
|
|
|
int secp256k1_ecdsa_signature_serialize_compact(const secp256k1_context* ctx, unsigned char *output64, const secp256k1_ecdsa_signature* sig) {
|
|
|
|
|
secp256k1_scalar r, s;
|
|
|
|
|
|
|
|
|
|
(void)ctx;
|
|
|
|
|
VERIFY_CHECK(ctx != NULL);
|
|
|
|
|
ARG_CHECK(output64 != NULL);
|
|
|
|
|
ARG_CHECK(sig != NULL);
|
|
|
|
|
|
|
|
|
@ -396,7 +394,6 @@ int secp256k1_ec_seckey_verify(const secp256k1_context* ctx, const unsigned char
|
|
|
|
|
int overflow;
|
|
|
|
|
VERIFY_CHECK(ctx != NULL);
|
|
|
|
|
ARG_CHECK(seckey != NULL);
|
|
|
|
|
(void)ctx;
|
|
|
|
|
|
|
|
|
|
secp256k1_scalar_set_b32(&sec, seckey, &overflow);
|
|
|
|
|
ret = !overflow && !secp256k1_scalar_is_zero(&sec);
|
|
|
|
@ -435,7 +432,6 @@ int secp256k1_ec_privkey_tweak_add(const secp256k1_context* ctx, unsigned char *
|
|
|
|
|
VERIFY_CHECK(ctx != NULL);
|
|
|
|
|
ARG_CHECK(seckey != NULL);
|
|
|
|
|
ARG_CHECK(tweak != NULL);
|
|
|
|
|
(void)ctx;
|
|
|
|
|
|
|
|
|
|
secp256k1_scalar_set_b32(&term, tweak, &overflow);
|
|
|
|
|
secp256k1_scalar_set_b32(&sec, seckey, NULL);
|
|
|
|
@ -483,7 +479,6 @@ int secp256k1_ec_privkey_tweak_mul(const secp256k1_context* ctx, unsigned char *
|
|
|
|
|
VERIFY_CHECK(ctx != NULL);
|
|
|
|
|
ARG_CHECK(seckey != NULL);
|
|
|
|
|
ARG_CHECK(tweak != NULL);
|
|
|
|
|
(void)ctx;
|
|
|
|
|
|
|
|
|
|
secp256k1_scalar_set_b32(&factor, tweak, &overflow);
|
|
|
|
|
secp256k1_scalar_set_b32(&sec, seckey, NULL);
|
|
|
|
|