diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 4c4a4d59cc..c6361c358a 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -31,7 +31,12 @@ set(SECP256K1_ENABLE_MODULE_WHITELIST ON CACHE BOOL "" FORCE) set(SECP256K1_DISABLE_SHARED ON CACHE BOOL "" FORCE) set(SECP256K1_ENABLE_MODULE_ECDH ON CACHE BOOL "" FORCE) set(SECP256K1_ENABLE_MODULE_RECOVERY ON CACHE BOOL "" FORCE) +# Disable unused on-by-default features from secp256k1-zkp set(SECP256K1_ENABLE_MODULE_MUSIG OFF CACHE BOOL "" FORCE) +set(SECP256K1_ENABLE_MODULE_BPPP OFF CACHE BOOL "" FORCE) +set(SECP256K1_ENABLE_MODULE_ECDSA_ADAPTOR OFF CACHE BOOL "" FORCE) +set(SECP256K1_ENABLE_MODULE_ECDSA_S2C OFF CACHE BOOL "" FORCE) +set(SECP256K1_ENABLE_MODULE_SCHNORRSIG_HALFAGG OFF CACHE BOOL "" FORCE) set(SECP256K1_BUILD_BENCHMARK OFF CACHE BOOL "" FORCE) set(SECP256K1_BUILD_TESTS ${BUILD_TESTS} CACHE BOOL "" FORCE) set(SECP256K1_BUILD_EXHAUSTIVE_TESTS ${BUILD_TESTS} CACHE BOOL "" FORCE) diff --git a/src/blind.cpp b/src/blind.cpp index fc443d2977..67ffcb4059 100644 --- a/src/blind.cpp +++ b/src/blind.cpp @@ -22,6 +22,12 @@ class Blind_ECC_Init { secp256k1_context *ctx = secp256k1_context_create(SECP256K1_CONTEXT_SIGN | SECP256K1_CONTEXT_VERIFY); assert(ctx != nullptr); + // Pass in a random blinding seed to the secp256k1 context (side-channel hardening, + // matching the randomization of secp256k1_context_sign in key.cpp). + unsigned char randseed[32]; + GetStrongRandBytes(randseed); + assert(secp256k1_context_randomize(ctx, randseed) == 1); + secp256k1_blind_context = ctx; } diff --git a/src/confidential_validation.cpp b/src/confidential_validation.cpp index 915bbb48a7..e089bcea4b 100644 --- a/src/confidential_validation.cpp +++ b/src/confidential_validation.cpp @@ -4,6 +4,7 @@ #include #include #include