Rename tweak to tweak32 in public API
This commit is contained in:
parent
f587f04e35
commit
6e85d675aa
|
@ -633,7 +633,7 @@ SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_pubkey_negate(
|
||||||
* invalid according to secp256k1_ec_seckey_verify, this
|
* invalid according to secp256k1_ec_seckey_verify, this
|
||||||
* function returns 0. seckey will be set to some unspecified
|
* function returns 0. seckey will be set to some unspecified
|
||||||
* value if this function returns 0. (cannot be NULL)
|
* value if this function returns 0. (cannot be NULL)
|
||||||
* In: tweak: pointer to a 32-byte tweak. If the tweak is invalid according to
|
* In: tweak32: pointer to a 32-byte tweak. If the tweak is invalid according to
|
||||||
* secp256k1_ec_seckey_verify, this function returns 0. For
|
* secp256k1_ec_seckey_verify, this function returns 0. For
|
||||||
* uniformly random 32-byte arrays the chance of being invalid
|
* uniformly random 32-byte arrays the chance of being invalid
|
||||||
* is negligible (around 1 in 2^128) (cannot be NULL).
|
* is negligible (around 1 in 2^128) (cannot be NULL).
|
||||||
|
@ -641,7 +641,7 @@ SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_pubkey_negate(
|
||||||
SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_seckey_tweak_add(
|
SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_seckey_tweak_add(
|
||||||
const secp256k1_context* ctx,
|
const secp256k1_context* ctx,
|
||||||
unsigned char *seckey,
|
unsigned char *seckey,
|
||||||
const unsigned char *tweak
|
const unsigned char *tweak32
|
||||||
) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3);
|
) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3);
|
||||||
|
|
||||||
/** Same as secp256k1_ec_seckey_tweak_add, but DEPRECATED. Will be removed in
|
/** Same as secp256k1_ec_seckey_tweak_add, but DEPRECATED. Will be removed in
|
||||||
|
@ -649,7 +649,7 @@ SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_seckey_tweak_add(
|
||||||
SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_privkey_tweak_add(
|
SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_privkey_tweak_add(
|
||||||
const secp256k1_context* ctx,
|
const secp256k1_context* ctx,
|
||||||
unsigned char *seckey,
|
unsigned char *seckey,
|
||||||
const unsigned char *tweak
|
const unsigned char *tweak32
|
||||||
) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3);
|
) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3);
|
||||||
|
|
||||||
/** Tweak a public key by adding tweak times the generator to it.
|
/** Tweak a public key by adding tweak times the generator to it.
|
||||||
|
@ -661,7 +661,7 @@ SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_privkey_tweak_add(
|
||||||
* (cannot be NULL).
|
* (cannot be NULL).
|
||||||
* In/Out: pubkey: pointer to a public key object. pubkey will be set to an
|
* In/Out: pubkey: pointer to a public key object. pubkey will be set to an
|
||||||
* invalid value if this function returns 0 (cannot be NULL).
|
* invalid value if this function returns 0 (cannot be NULL).
|
||||||
* In: tweak: pointer to a 32-byte tweak. If the tweak is invalid according to
|
* In: tweak32: pointer to a 32-byte tweak. If the tweak is invalid according to
|
||||||
* secp256k1_ec_seckey_verify, this function returns 0. For
|
* secp256k1_ec_seckey_verify, this function returns 0. For
|
||||||
* uniformly random 32-byte arrays the chance of being invalid
|
* uniformly random 32-byte arrays the chance of being invalid
|
||||||
* is negligible (around 1 in 2^128) (cannot be NULL).
|
* is negligible (around 1 in 2^128) (cannot be NULL).
|
||||||
|
@ -669,7 +669,7 @@ SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_privkey_tweak_add(
|
||||||
SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_pubkey_tweak_add(
|
SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_pubkey_tweak_add(
|
||||||
const secp256k1_context* ctx,
|
const secp256k1_context* ctx,
|
||||||
secp256k1_pubkey *pubkey,
|
secp256k1_pubkey *pubkey,
|
||||||
const unsigned char *tweak
|
const unsigned char *tweak32
|
||||||
) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3);
|
) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3);
|
||||||
|
|
||||||
/** Tweak a secret key by multiplying it by a tweak.
|
/** Tweak a secret key by multiplying it by a tweak.
|
||||||
|
@ -680,7 +680,7 @@ SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_pubkey_tweak_add(
|
||||||
* invalid according to secp256k1_ec_seckey_verify, this
|
* invalid according to secp256k1_ec_seckey_verify, this
|
||||||
* function returns 0. seckey will be set to some unspecified
|
* function returns 0. seckey will be set to some unspecified
|
||||||
* value if this function returns 0. (cannot be NULL)
|
* value if this function returns 0. (cannot be NULL)
|
||||||
* In: tweak: pointer to a 32-byte tweak. If the tweak is invalid according to
|
* In: tweak32: pointer to a 32-byte tweak. If the tweak is invalid according to
|
||||||
* secp256k1_ec_seckey_verify, this function returns 0. For
|
* secp256k1_ec_seckey_verify, this function returns 0. For
|
||||||
* uniformly random 32-byte arrays the chance of being invalid
|
* uniformly random 32-byte arrays the chance of being invalid
|
||||||
* is negligible (around 1 in 2^128) (cannot be NULL).
|
* is negligible (around 1 in 2^128) (cannot be NULL).
|
||||||
|
@ -688,7 +688,7 @@ SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_pubkey_tweak_add(
|
||||||
SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_seckey_tweak_mul(
|
SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_seckey_tweak_mul(
|
||||||
const secp256k1_context* ctx,
|
const secp256k1_context* ctx,
|
||||||
unsigned char *seckey,
|
unsigned char *seckey,
|
||||||
const unsigned char *tweak
|
const unsigned char *tweak32
|
||||||
) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3);
|
) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3);
|
||||||
|
|
||||||
/** Same as secp256k1_ec_seckey_tweak_mul, but DEPRECATED. Will be removed in
|
/** Same as secp256k1_ec_seckey_tweak_mul, but DEPRECATED. Will be removed in
|
||||||
|
@ -696,7 +696,7 @@ SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_seckey_tweak_mul(
|
||||||
SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_privkey_tweak_mul(
|
SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_privkey_tweak_mul(
|
||||||
const secp256k1_context* ctx,
|
const secp256k1_context* ctx,
|
||||||
unsigned char *seckey,
|
unsigned char *seckey,
|
||||||
const unsigned char *tweak
|
const unsigned char *tweak32
|
||||||
) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3);
|
) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3);
|
||||||
|
|
||||||
/** Tweak a public key by multiplying it by a tweak value.
|
/** Tweak a public key by multiplying it by a tweak value.
|
||||||
|
@ -706,7 +706,7 @@ SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_privkey_tweak_mul(
|
||||||
* (cannot be NULL).
|
* (cannot be NULL).
|
||||||
* In/Out: pubkey: pointer to a public key object. pubkey will be set to an
|
* In/Out: pubkey: pointer to a public key object. pubkey will be set to an
|
||||||
* invalid value if this function returns 0 (cannot be NULL).
|
* invalid value if this function returns 0 (cannot be NULL).
|
||||||
* In: tweak: pointer to a 32-byte tweak. If the tweak is invalid according to
|
* In: tweak32: pointer to a 32-byte tweak. If the tweak is invalid according to
|
||||||
* secp256k1_ec_seckey_verify, this function returns 0. For
|
* secp256k1_ec_seckey_verify, this function returns 0. For
|
||||||
* uniformly random 32-byte arrays the chance of being invalid
|
* uniformly random 32-byte arrays the chance of being invalid
|
||||||
* is negligible (around 1 in 2^128) (cannot be NULL).
|
* is negligible (around 1 in 2^128) (cannot be NULL).
|
||||||
|
@ -714,7 +714,7 @@ SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_privkey_tweak_mul(
|
||||||
SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_pubkey_tweak_mul(
|
SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_pubkey_tweak_mul(
|
||||||
const secp256k1_context* ctx,
|
const secp256k1_context* ctx,
|
||||||
secp256k1_pubkey *pubkey,
|
secp256k1_pubkey *pubkey,
|
||||||
const unsigned char *tweak
|
const unsigned char *tweak32
|
||||||
) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3);
|
) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3);
|
||||||
|
|
||||||
/** Updates the context randomization to protect against side-channel leakage.
|
/** Updates the context randomization to protect against side-channel leakage.
|
||||||
|
|
|
@ -623,26 +623,26 @@ int secp256k1_ec_pubkey_negate(const secp256k1_context* ctx, secp256k1_pubkey *p
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static int secp256k1_ec_seckey_tweak_add_helper(secp256k1_scalar *sec, const unsigned char *tweak) {
|
static int secp256k1_ec_seckey_tweak_add_helper(secp256k1_scalar *sec, const unsigned char *tweak32) {
|
||||||
secp256k1_scalar term;
|
secp256k1_scalar term;
|
||||||
int overflow = 0;
|
int overflow = 0;
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
|
||||||
secp256k1_scalar_set_b32(&term, tweak, &overflow);
|
secp256k1_scalar_set_b32(&term, tweak32, &overflow);
|
||||||
ret = (!overflow) & secp256k1_eckey_privkey_tweak_add(sec, &term);
|
ret = (!overflow) & secp256k1_eckey_privkey_tweak_add(sec, &term);
|
||||||
secp256k1_scalar_clear(&term);
|
secp256k1_scalar_clear(&term);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
int secp256k1_ec_seckey_tweak_add(const secp256k1_context* ctx, unsigned char *seckey, const unsigned char *tweak) {
|
int secp256k1_ec_seckey_tweak_add(const secp256k1_context* ctx, unsigned char *seckey, const unsigned char *tweak32) {
|
||||||
secp256k1_scalar sec;
|
secp256k1_scalar sec;
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
VERIFY_CHECK(ctx != NULL);
|
VERIFY_CHECK(ctx != NULL);
|
||||||
ARG_CHECK(seckey != NULL);
|
ARG_CHECK(seckey != NULL);
|
||||||
ARG_CHECK(tweak != NULL);
|
ARG_CHECK(tweak32 != NULL);
|
||||||
|
|
||||||
ret = secp256k1_scalar_set_b32_seckey(&sec, seckey);
|
ret = secp256k1_scalar_set_b32_seckey(&sec, seckey);
|
||||||
ret &= secp256k1_ec_seckey_tweak_add_helper(&sec, tweak);
|
ret &= secp256k1_ec_seckey_tweak_add_helper(&sec, tweak32);
|
||||||
secp256k1_scalar_cmov(&sec, &secp256k1_scalar_zero, !ret);
|
secp256k1_scalar_cmov(&sec, &secp256k1_scalar_zero, !ret);
|
||||||
secp256k1_scalar_get_b32(seckey, &sec);
|
secp256k1_scalar_get_b32(seckey, &sec);
|
||||||
|
|
||||||
|
@ -650,28 +650,28 @@ int secp256k1_ec_seckey_tweak_add(const secp256k1_context* ctx, unsigned char *s
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
int secp256k1_ec_privkey_tweak_add(const secp256k1_context* ctx, unsigned char *seckey, const unsigned char *tweak) {
|
int secp256k1_ec_privkey_tweak_add(const secp256k1_context* ctx, unsigned char *seckey, const unsigned char *tweak32) {
|
||||||
return secp256k1_ec_seckey_tweak_add(ctx, seckey, tweak);
|
return secp256k1_ec_seckey_tweak_add(ctx, seckey, tweak32);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int secp256k1_ec_pubkey_tweak_add_helper(const secp256k1_ecmult_context* ecmult_ctx, secp256k1_ge *p, const unsigned char *tweak) {
|
static int secp256k1_ec_pubkey_tweak_add_helper(const secp256k1_ecmult_context* ecmult_ctx, secp256k1_ge *p, const unsigned char *tweak32) {
|
||||||
secp256k1_scalar term;
|
secp256k1_scalar term;
|
||||||
int overflow = 0;
|
int overflow = 0;
|
||||||
secp256k1_scalar_set_b32(&term, tweak, &overflow);
|
secp256k1_scalar_set_b32(&term, tweak32, &overflow);
|
||||||
return !overflow && secp256k1_eckey_pubkey_tweak_add(ecmult_ctx, p, &term);
|
return !overflow && secp256k1_eckey_pubkey_tweak_add(ecmult_ctx, p, &term);
|
||||||
}
|
}
|
||||||
|
|
||||||
int secp256k1_ec_pubkey_tweak_add(const secp256k1_context* ctx, secp256k1_pubkey *pubkey, const unsigned char *tweak) {
|
int secp256k1_ec_pubkey_tweak_add(const secp256k1_context* ctx, secp256k1_pubkey *pubkey, const unsigned char *tweak32) {
|
||||||
secp256k1_ge p;
|
secp256k1_ge p;
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
VERIFY_CHECK(ctx != NULL);
|
VERIFY_CHECK(ctx != NULL);
|
||||||
ARG_CHECK(secp256k1_ecmult_context_is_built(&ctx->ecmult_ctx));
|
ARG_CHECK(secp256k1_ecmult_context_is_built(&ctx->ecmult_ctx));
|
||||||
ARG_CHECK(pubkey != NULL);
|
ARG_CHECK(pubkey != NULL);
|
||||||
ARG_CHECK(tweak != NULL);
|
ARG_CHECK(tweak32 != NULL);
|
||||||
|
|
||||||
ret = secp256k1_pubkey_load(ctx, &p, pubkey);
|
ret = secp256k1_pubkey_load(ctx, &p, pubkey);
|
||||||
memset(pubkey, 0, sizeof(*pubkey));
|
memset(pubkey, 0, sizeof(*pubkey));
|
||||||
ret = ret && secp256k1_ec_pubkey_tweak_add_helper(&ctx->ecmult_ctx, &p, tweak);
|
ret = ret && secp256k1_ec_pubkey_tweak_add_helper(&ctx->ecmult_ctx, &p, tweak32);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
secp256k1_pubkey_save(pubkey, &p);
|
secp256k1_pubkey_save(pubkey, &p);
|
||||||
}
|
}
|
||||||
|
@ -679,16 +679,16 @@ int secp256k1_ec_pubkey_tweak_add(const secp256k1_context* ctx, secp256k1_pubkey
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
int secp256k1_ec_seckey_tweak_mul(const secp256k1_context* ctx, unsigned char *seckey, const unsigned char *tweak) {
|
int secp256k1_ec_seckey_tweak_mul(const secp256k1_context* ctx, unsigned char *seckey, const unsigned char *tweak32) {
|
||||||
secp256k1_scalar factor;
|
secp256k1_scalar factor;
|
||||||
secp256k1_scalar sec;
|
secp256k1_scalar sec;
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
int overflow = 0;
|
int overflow = 0;
|
||||||
VERIFY_CHECK(ctx != NULL);
|
VERIFY_CHECK(ctx != NULL);
|
||||||
ARG_CHECK(seckey != NULL);
|
ARG_CHECK(seckey != NULL);
|
||||||
ARG_CHECK(tweak != NULL);
|
ARG_CHECK(tweak32 != NULL);
|
||||||
|
|
||||||
secp256k1_scalar_set_b32(&factor, tweak, &overflow);
|
secp256k1_scalar_set_b32(&factor, tweak32, &overflow);
|
||||||
ret = secp256k1_scalar_set_b32_seckey(&sec, seckey);
|
ret = secp256k1_scalar_set_b32_seckey(&sec, seckey);
|
||||||
ret &= (!overflow) & secp256k1_eckey_privkey_tweak_mul(&sec, &factor);
|
ret &= (!overflow) & secp256k1_eckey_privkey_tweak_mul(&sec, &factor);
|
||||||
secp256k1_scalar_cmov(&sec, &secp256k1_scalar_zero, !ret);
|
secp256k1_scalar_cmov(&sec, &secp256k1_scalar_zero, !ret);
|
||||||
|
@ -699,11 +699,11 @@ int secp256k1_ec_seckey_tweak_mul(const secp256k1_context* ctx, unsigned char *s
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
int secp256k1_ec_privkey_tweak_mul(const secp256k1_context* ctx, unsigned char *seckey, const unsigned char *tweak) {
|
int secp256k1_ec_privkey_tweak_mul(const secp256k1_context* ctx, unsigned char *seckey, const unsigned char *tweak32) {
|
||||||
return secp256k1_ec_seckey_tweak_mul(ctx, seckey, tweak);
|
return secp256k1_ec_seckey_tweak_mul(ctx, seckey, tweak32);
|
||||||
}
|
}
|
||||||
|
|
||||||
int secp256k1_ec_pubkey_tweak_mul(const secp256k1_context* ctx, secp256k1_pubkey *pubkey, const unsigned char *tweak) {
|
int secp256k1_ec_pubkey_tweak_mul(const secp256k1_context* ctx, secp256k1_pubkey *pubkey, const unsigned char *tweak32) {
|
||||||
secp256k1_ge p;
|
secp256k1_ge p;
|
||||||
secp256k1_scalar factor;
|
secp256k1_scalar factor;
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
@ -711,9 +711,9 @@ int secp256k1_ec_pubkey_tweak_mul(const secp256k1_context* ctx, secp256k1_pubkey
|
||||||
VERIFY_CHECK(ctx != NULL);
|
VERIFY_CHECK(ctx != NULL);
|
||||||
ARG_CHECK(secp256k1_ecmult_context_is_built(&ctx->ecmult_ctx));
|
ARG_CHECK(secp256k1_ecmult_context_is_built(&ctx->ecmult_ctx));
|
||||||
ARG_CHECK(pubkey != NULL);
|
ARG_CHECK(pubkey != NULL);
|
||||||
ARG_CHECK(tweak != NULL);
|
ARG_CHECK(tweak32 != NULL);
|
||||||
|
|
||||||
secp256k1_scalar_set_b32(&factor, tweak, &overflow);
|
secp256k1_scalar_set_b32(&factor, tweak32, &overflow);
|
||||||
ret = !overflow && secp256k1_pubkey_load(ctx, &p, pubkey);
|
ret = !overflow && secp256k1_pubkey_load(ctx, &p, pubkey);
|
||||||
memset(pubkey, 0, sizeof(*pubkey));
|
memset(pubkey, 0, sizeof(*pubkey));
|
||||||
if (ret) {
|
if (ret) {
|
||||||
|
|
Loading…
Reference in New Issue