Use internal secp256k1_eckey_ prefix for functions in eckey

pull/11871/head
Pieter Wuille 10 years ago
parent e2f71f1efe
commit ffffc87855

@ -8,9 +8,9 @@
#include "group.h" #include "group.h"
#include "num.h" #include "num.h"
int static secp256k1_ecdsa_pubkey_parse(secp256k1_ge_t *elem, const unsigned char *pub, int size); int static secp256k1_eckey_pubkey_parse(secp256k1_ge_t *elem, const unsigned char *pub, int size);
void static secp256k1_ecdsa_pubkey_serialize(secp256k1_ge_t *elem, unsigned char *pub, int *size, int compressed); void static secp256k1_eckey_pubkey_serialize(secp256k1_ge_t *elem, unsigned char *pub, int *size, int compressed);
int static secp256k1_ecdsa_privkey_parse(secp256k1_num_t *key, const unsigned char *privkey, int privkeylen); int static secp256k1_eckey_privkey_parse(secp256k1_num_t *key, const unsigned char *privkey, int privkeylen);
int static secp256k1_ecdsa_privkey_serialize(unsigned char *privkey, int *privkeylen, const secp256k1_num_t *key, int compressed); int static secp256k1_eckey_privkey_serialize(unsigned char *privkey, int *privkeylen, const secp256k1_num_t *key, int compressed);
#endif #endif

@ -12,7 +12,7 @@
#include "group.h" #include "group.h"
#include "ecmult_gen.h" #include "ecmult_gen.h"
int static secp256k1_ecdsa_pubkey_parse(secp256k1_ge_t *elem, const unsigned char *pub, int size) { int static secp256k1_eckey_pubkey_parse(secp256k1_ge_t *elem, const unsigned char *pub, int size) {
if (size == 33 && (pub[0] == 0x02 || pub[0] == 0x03)) { if (size == 33 && (pub[0] == 0x02 || pub[0] == 0x03)) {
secp256k1_fe_t x; secp256k1_fe_t x;
secp256k1_fe_set_b32(&x, pub+1); secp256k1_fe_set_b32(&x, pub+1);
@ -30,7 +30,7 @@ int static secp256k1_ecdsa_pubkey_parse(secp256k1_ge_t *elem, const unsigned cha
} }
} }
void static secp256k1_ecdsa_pubkey_serialize(secp256k1_ge_t *elem, unsigned char *pub, int *size, int compressed) { void static secp256k1_eckey_pubkey_serialize(secp256k1_ge_t *elem, unsigned char *pub, int *size, int compressed) {
secp256k1_fe_normalize(&elem->x); secp256k1_fe_normalize(&elem->x);
secp256k1_fe_normalize(&elem->y); secp256k1_fe_normalize(&elem->y);
secp256k1_fe_get_b32(&pub[1], &elem->x); secp256k1_fe_get_b32(&pub[1], &elem->x);
@ -44,7 +44,7 @@ void static secp256k1_ecdsa_pubkey_serialize(secp256k1_ge_t *elem, unsigned char
} }
} }
int static secp256k1_ecdsa_privkey_parse(secp256k1_num_t *key, const unsigned char *privkey, int privkeylen) { int static secp256k1_eckey_privkey_parse(secp256k1_num_t *key, const unsigned char *privkey, int privkeylen) {
const unsigned char *end = privkey + privkeylen; const unsigned char *end = privkey + privkeylen;
// sequence header // sequence header
if (end < privkey+1 || *privkey != 0x30) if (end < privkey+1 || *privkey != 0x30)
@ -76,7 +76,7 @@ int static secp256k1_ecdsa_privkey_parse(secp256k1_num_t *key, const unsigned ch
return 1; return 1;
} }
int static secp256k1_ecdsa_privkey_serialize(unsigned char *privkey, int *privkeylen, const secp256k1_num_t *key, int compressed) { int static secp256k1_eckey_privkey_serialize(unsigned char *privkey, int *privkeylen, const secp256k1_num_t *key, int compressed) {
secp256k1_gej_t rp; secp256k1_gej_t rp;
secp256k1_ecmult_gen(&rp, key); secp256k1_ecmult_gen(&rp, key);
secp256k1_ge_t r; secp256k1_ge_t r;
@ -101,7 +101,7 @@ int static secp256k1_ecdsa_privkey_serialize(unsigned char *privkey, int *privke
secp256k1_num_get_bin(ptr, 32, key); ptr += 32; secp256k1_num_get_bin(ptr, 32, key); ptr += 32;
memcpy(ptr, middle, sizeof(middle)); ptr += sizeof(middle); memcpy(ptr, middle, sizeof(middle)); ptr += sizeof(middle);
int pubkeylen = 0; int pubkeylen = 0;
secp256k1_ecdsa_pubkey_serialize(&r, ptr, &pubkeylen, 1); ptr += pubkeylen; secp256k1_eckey_pubkey_serialize(&r, ptr, &pubkeylen, 1); ptr += pubkeylen;
*privkeylen = ptr - privkey; *privkeylen = ptr - privkey;
} else { } else {
static const unsigned char begin[] = { static const unsigned char begin[] = {
@ -125,7 +125,7 @@ int static secp256k1_ecdsa_privkey_serialize(unsigned char *privkey, int *privke
secp256k1_num_get_bin(ptr, 32, key); ptr += 32; secp256k1_num_get_bin(ptr, 32, key); ptr += 32;
memcpy(ptr, middle, sizeof(middle)); ptr += sizeof(middle); memcpy(ptr, middle, sizeof(middle)); ptr += sizeof(middle);
int pubkeylen = 0; int pubkeylen = 0;
secp256k1_ecdsa_pubkey_serialize(&r, ptr, &pubkeylen, 0); ptr += pubkeylen; secp256k1_eckey_pubkey_serialize(&r, ptr, &pubkeylen, 0); ptr += pubkeylen;
*privkeylen = ptr - privkey; *privkeylen = ptr - privkey;
} }
return 1; return 1;

@ -47,7 +47,7 @@ int secp256k1_ecdsa_verify(const unsigned char *msg, int msglen, const unsigned
secp256k1_ge_t q; secp256k1_ge_t q;
secp256k1_num_set_bin(&m, msg, msglen); secp256k1_num_set_bin(&m, msg, msglen);
if (!secp256k1_ecdsa_pubkey_parse(&q, pubkey, pubkeylen)) { if (!secp256k1_eckey_pubkey_parse(&q, pubkey, pubkeylen)) {
ret = -1; ret = -1;
goto end; goto end;
} }
@ -158,7 +158,7 @@ int secp256k1_ecdsa_recover_compact(const unsigned char *msg, int msglen, const
secp256k1_ge_t q; secp256k1_ge_t q;
if (secp256k1_ecdsa_sig_recover(&sig, &q, &m, recid)) { if (secp256k1_ecdsa_sig_recover(&sig, &q, &m, recid)) {
secp256k1_ecdsa_pubkey_serialize(&q, pubkey, pubkeylen, compressed); secp256k1_eckey_pubkey_serialize(&q, pubkey, pubkeylen, compressed);
ret = 1; ret = 1;
} }
secp256k1_ecdsa_sig_free(&sig); secp256k1_ecdsa_sig_free(&sig);
@ -183,7 +183,7 @@ int secp256k1_ec_pubkey_verify(const unsigned char *pubkey, int pubkeylen) {
DEBUG_CHECK(pubkey != NULL); DEBUG_CHECK(pubkey != NULL);
secp256k1_ge_t q; secp256k1_ge_t q;
return secp256k1_ecdsa_pubkey_parse(&q, pubkey, pubkeylen); return secp256k1_eckey_pubkey_parse(&q, pubkey, pubkeylen);
} }
int secp256k1_ec_pubkey_create(unsigned char *pubkey, int *pubkeylen, const unsigned char *seckey, int compressed) { int secp256k1_ec_pubkey_create(unsigned char *pubkey, int *pubkeylen, const unsigned char *seckey, int compressed) {
@ -201,7 +201,7 @@ int secp256k1_ec_pubkey_create(unsigned char *pubkey, int *pubkeylen, const unsi
secp256k1_num_free(&sec); secp256k1_num_free(&sec);
secp256k1_ge_t p; secp256k1_ge_t p;
secp256k1_ge_set_gej(&p, &pj); secp256k1_ge_set_gej(&p, &pj);
secp256k1_ecdsa_pubkey_serialize(&p, pubkey, pubkeylen, compressed); secp256k1_eckey_pubkey_serialize(&p, pubkey, pubkeylen, compressed);
return 1; return 1;
} }
@ -210,9 +210,9 @@ int secp256k1_ec_pubkey_decompress(unsigned char *pubkey, int *pubkeylen) {
DEBUG_CHECK(pubkeylen != NULL); DEBUG_CHECK(pubkeylen != NULL);
secp256k1_ge_t p; secp256k1_ge_t p;
if (!secp256k1_ecdsa_pubkey_parse(&p, pubkey, *pubkeylen)) if (!secp256k1_eckey_pubkey_parse(&p, pubkey, *pubkeylen))
return 0; return 0;
secp256k1_ecdsa_pubkey_serialize(&p, pubkey, pubkeylen, 0); secp256k1_eckey_pubkey_serialize(&p, pubkey, pubkeylen, 0);
return 1; return 1;
} }
@ -257,7 +257,7 @@ int secp256k1_ec_pubkey_tweak_add(unsigned char *pubkey, int pubkeylen, const un
ret = 0; ret = 0;
secp256k1_ge_t p; secp256k1_ge_t p;
if (ret) { if (ret) {
if (!secp256k1_ecdsa_pubkey_parse(&p, pubkey, pubkeylen)) if (!secp256k1_eckey_pubkey_parse(&p, pubkey, pubkeylen))
ret = 0; ret = 0;
} }
if (ret) { if (ret) {
@ -272,7 +272,7 @@ int secp256k1_ec_pubkey_tweak_add(unsigned char *pubkey, int pubkeylen, const un
ret = 0; ret = 0;
secp256k1_ge_set_gej(&p, &pt); secp256k1_ge_set_gej(&p, &pt);
int oldlen = pubkeylen; int oldlen = pubkeylen;
secp256k1_ecdsa_pubkey_serialize(&p, pubkey, &pubkeylen, oldlen <= 33); secp256k1_eckey_pubkey_serialize(&p, pubkey, &pubkeylen, oldlen <= 33);
VERIFY_CHECK(pubkeylen == oldlen); VERIFY_CHECK(pubkeylen == oldlen);
} }
secp256k1_num_free(&term); secp256k1_num_free(&term);
@ -319,7 +319,7 @@ int secp256k1_ec_pubkey_tweak_mul(unsigned char *pubkey, int pubkeylen, const un
ret = 0; ret = 0;
secp256k1_ge_t p; secp256k1_ge_t p;
if (ret) { if (ret) {
if (!secp256k1_ecdsa_pubkey_parse(&p, pubkey, pubkeylen)) if (!secp256k1_eckey_pubkey_parse(&p, pubkey, pubkeylen))
ret = 0; ret = 0;
} }
if (ret) { if (ret) {
@ -332,7 +332,7 @@ int secp256k1_ec_pubkey_tweak_mul(unsigned char *pubkey, int pubkeylen, const un
secp256k1_num_free(&zero); secp256k1_num_free(&zero);
secp256k1_ge_set_gej(&p, &pt); secp256k1_ge_set_gej(&p, &pt);
int oldlen = pubkeylen; int oldlen = pubkeylen;
secp256k1_ecdsa_pubkey_serialize(&p, pubkey, &pubkeylen, oldlen <= 33); secp256k1_eckey_pubkey_serialize(&p, pubkey, &pubkeylen, oldlen <= 33);
VERIFY_CHECK(pubkeylen == oldlen); VERIFY_CHECK(pubkeylen == oldlen);
} }
secp256k1_num_free(&factor); secp256k1_num_free(&factor);
@ -347,7 +347,7 @@ int secp256k1_ec_privkey_export(const unsigned char *seckey, unsigned char *priv
secp256k1_num_t key; secp256k1_num_t key;
secp256k1_num_init(&key); secp256k1_num_init(&key);
secp256k1_num_set_bin(&key, seckey, 32); secp256k1_num_set_bin(&key, seckey, 32);
int ret = secp256k1_ecdsa_privkey_serialize(privkey, privkeylen, &key, compressed); int ret = secp256k1_eckey_privkey_serialize(privkey, privkeylen, &key, compressed);
secp256k1_num_free(&key); secp256k1_num_free(&key);
return ret; return ret;
} }
@ -358,7 +358,7 @@ int secp256k1_ec_privkey_import(unsigned char *seckey, const unsigned char *priv
secp256k1_num_t key; secp256k1_num_t key;
secp256k1_num_init(&key); secp256k1_num_init(&key);
int ret = secp256k1_ecdsa_privkey_parse(&key, privkey, privkeylen); int ret = secp256k1_eckey_privkey_parse(&key, privkey, privkeylen);
if (ret) if (ret)
secp256k1_num_get_bin(seckey, 32, &key); secp256k1_num_get_bin(seckey, 32, &key);
secp256k1_num_free(&key); secp256k1_num_free(&key);

@ -649,7 +649,7 @@ EC_KEY *get_openssl_key(const secp256k1_num_t *key) {
int compr = secp256k1_rand32() & 1; int compr = secp256k1_rand32() & 1;
const unsigned char* pbegin = privkey; const unsigned char* pbegin = privkey;
EC_KEY *ec_key = EC_KEY_new_by_curve_name(NID_secp256k1); EC_KEY *ec_key = EC_KEY_new_by_curve_name(NID_secp256k1);
CHECK(secp256k1_ecdsa_privkey_serialize(privkey, &privkeylen, key, compr)); CHECK(secp256k1_eckey_privkey_serialize(privkey, &privkeylen, key, compr));
CHECK(d2i_ECPrivateKey(&ec_key, &pbegin, privkeylen)); CHECK(d2i_ECPrivateKey(&ec_key, &pbegin, privkeylen));
CHECK(EC_KEY_check_key(ec_key)); CHECK(EC_KEY_check_key(ec_key));
return ec_key; return ec_key;

Loading…
Cancel
Save