Merge bitcoin-core/secp256k1#1711: tests: update Wycheproof

5433648ca0 Fix typos and spellings (Adrien Ufferte)
9ea54c69b7 tests: update Wycheproof files (fanquake)

Pull request description:

ACKs for top commit:
  real-or-random:
    ACK 5433648ca0
  josibake:
    ACK 5433648ca0

Tree-SHA512: abc39f898263da81b53da5223916f079878d31cca850384dd135ee555e7086ecfdbff1d329bf61438d188d76ad87dc610f119009ad91c0d2f8f3fdf99dc12e7a
This commit is contained in:
Jonas Nick
2025-07-29 14:07:30 +00:00
4 changed files with 10 additions and 10 deletions

View File

@@ -213,7 +213,7 @@ static void secp256k1_ecmult_gen(const secp256k1_ecmult_gen_context *ctx, secp25
* but this would simply discard the bits that fall off at the bottom,
* and thus, for example, bitdata could still have only two values if we
* happen to shift by exactly 31 positions. We use a rotation instead,
* which ensures that bitdata doesn't loose entropy. This relies on the
* which ensures that bitdata doesn't lose entropy. This relies on the
* rotation being atomic, i.e., the compiler emitting an actual rot
* instruction. */
uint32_t bitdata = secp256k1_rotr32(recoded[bit_pos >> 5], bit_pos & 0x1f);

View File

@@ -3904,7 +3904,7 @@ static void test_ge(void) {
free(gej);
}
static void test_intialized_inf(void) {
static void test_initialized_inf(void) {
secp256k1_ge p;
secp256k1_gej pj, npj, infj1, infj2, infj3;
secp256k1_fe zinv;
@@ -4030,7 +4030,7 @@ static void run_ge(void) {
test_ge();
}
test_add_neg_y_diff_x();
test_intialized_inf();
test_initialized_inf();
test_ge_bytes();
}

View File

@@ -1,7 +1,7 @@
* The file `ecdsa_secp256k1_sha256_bitcoin_test.json` in this directory
comes from project Wycheproof with git commit
`df4e933efef449fc88af0c06e028d425d84a9495`, see
https://github.com/C2SP/wycheproof/blob/df4e933efef449fc88af0c06e028d425d84a9495/testvectors_v1/ecdsa_secp256k1_sha256_bitcoin_test.json
`1f32ea7bb6cc5bd111cbd5507456b255dc8337c3`, see
https://github.com/C2SP/wycheproof/blob/1f32ea7bb6cc5bd111cbd5507456b255dc8337c3/testvectors_v1/ecdsa_secp256k1_sha256_bitcoin_test.json
* The file `ecdh_secp256k1_test.json` in this directory
comes from project Wycheproof with git commit

View File

@@ -5,7 +5,7 @@
"numberOfTests" : 463,
"header" : [
"Test vectors of type EcdsaBitcoinVerify are meant for the verification",
"of a ECDSA variant used for bitcoin, that add signature non-malleability."
"of a ECDSA variant used for Bitcoin, that add signature non-malleability."
],
"notes" : {
"ArithmeticError" : {
@@ -47,7 +47,7 @@
"InvalidSignature" : {
"bugType" : "AUTH_BYPASS",
"description" : "The signature contains special case values such as r=0 and s=0. Buggy implementations may accept such values, if the implementation does not check boundaries and computes s^(-1) == 0.",
"effect" : "Accepting such signatures can have the effect that an adversary can forge signatures without even knowning the message to sign.",
"effect" : "Accepting such signatures can have the effect that an adversary can forge signatures without even knowing the message to sign.",
"cves" : [
"CVE-2022-21449",
"CVE-2021-43572",
@@ -57,7 +57,7 @@
"InvalidTypesInSignature" : {
"bugType" : "AUTH_BYPASS",
"description" : "The signature contains invalid types. Dynamic typed languages sometime coerce such values of different types into integers. If an implementation is careless and has additional bugs, such as not checking integer boundaries then it may be possible that such signatures are accepted.",
"effect" : "Accepting such signatures can have the effect that an adversary can forge signatures without even knowning the message to sign.",
"effect" : "Accepting such signatures can have the effect that an adversary can forge signatures without even knowing the message to sign.",
"cves" : [
"CVE-2022-21449"
]
@@ -95,8 +95,8 @@
},
"SignatureMalleabilityBitcoin" : {
"bugType" : "SIGNATURE_MALLEABILITY",
"description" : "\"BitCoins\"-curves are curves where signature malleability can be a serious issue. An implementation should only accept a signature s where s < n/2. If an implementation is not meant for uses cases that require signature malleability then this implementation should be tested with another set of test vectors.",
"effect" : "In bitcoin exchanges, it may be used to make a double deposits or double withdrawals",
"description" : "Signature malleability can be a serious issue in Bitcoin. An implementation should only accept a signature s where s < n/2. If an implementation is not meant for use cases that require signature malleability then this implementation should be tested with another set of test vectors.",
"effect" : "In Bitcoin exchanges, it may be used to make a double deposits or double withdrawals",
"links" : [
"https://en.bitcoin.it/wiki/Transaction_malleability",
"https://en.bitcoinwiki.org/wiki/Transaction_Malleability"