7 #ifndef SECP256K1_MODULE_WHITELIST_TESTS
8 #define SECP256K1_MODULE_WHITELIST_TESTS
13 unsigned char **online_seckey = (
unsigned char **) malloc(n_keys *
sizeof(*online_seckey));
14 unsigned char **summed_seckey = (
unsigned char **) malloc(n_keys *
sizeof(*summed_seckey));
19 unsigned char csub[32];
26 secp256k1_scalar_get_b32(csub, &ssub);
30 for (i = 0; i < n_keys; i++) {
33 online_seckey[i] = (
unsigned char *) malloc(32);
34 summed_seckey[i] = (
unsigned char *) malloc(32);
38 secp256k1_scalar_get_b32(online_seckey[i], &son);
43 secp256k1_scalar_get_b32(summed_seckey[i], &soff);
48 secp256k1_scalar_add(&soff, &soff, &ssub);
49 secp256k1_scalar_get_b32(summed_seckey[i], &soff);
54 for (i = 0; i < n_keys; i++) {
56 size_t slen =
sizeof(serialized);
60 CHECK(
secp256k1_whitelist_sign(ctx, &sig, online_pubkeys, offline_pubkeys, n_keys, &sub_pubkey, online_seckey[i], summed_seckey[i], i, NULL, NULL));
66 CHECK(slen == 33 + 32 * n_keys);
86 for (i = 0; i < n_keys; i++) {
87 free(online_seckey[i]);
88 free(summed_seckey[i]);
93 free(offline_pubkeys);
99 const unsigned char serialized0[] = { 1+32*(0+1) };
100 const unsigned char serialized1[] = {
102 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
103 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
104 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
105 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06
107 const unsigned char serialized2[] = {
109 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
110 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
111 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
112 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
124 unsigned char serialized[] = {
126 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
127 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
128 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
129 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
131 size_t serialized_len;
135 serialized_len =
sizeof(serialized) - 1;
144 for (i = 0; i < count; i++) {