127 unsigned char pre_sig[64];
128 unsigned char buf[32];
129 unsigned char sk[2][32];
132 unsigned char max64[64];
133 unsigned char zeros132[132] = { 0 };
134 unsigned char session_secrand[2][32];
135 unsigned char nonrepeating_cnt = 0;
141 unsigned char pubnonce_ser[66];
147 unsigned char aggnonce_ser[66];
148 unsigned char msg[32];
160 unsigned char tweak[32];
164 memset(max64, 0xff,
sizeof(max64));
165 memset(&invalid_keypair, 0,
sizeof(invalid_keypair));
166 memset(&invalid_pk, 0,
sizeof(invalid_pk));
167 memset(&invalid_secnonce, 0,
sizeof(invalid_secnonce));
168 memset(&invalid_partial_sig, 0,
sizeof(invalid_partial_sig));
173 memset(&invalid_keyagg_cache, 0,
sizeof(invalid_keyagg_cache));
174 memset(&invalid_pk, 0,
sizeof(invalid_pk));
175 memset(&invalid_pubnonce, 0,
sizeof(invalid_pubnonce));
176 memset(&invalid_session, 0,
sizeof(invalid_session));
180 for (i = 0; i < 2; i++) {
182 invalid_pk_ptr2[i] = &invalid_pk;
183 invalid_pk_ptr3[i] = &pk[i];
184 pubnonce_ptr[i] = &pubnonce[i];
185 inf_pubnonce_ptr[i] = &inf_pubnonce[i];
186 partial_sig_ptr[i] = &partial_sig[i];
187 invalid_partial_sig_ptr[i] = &partial_sig[i];
188 testrand256(session_secrand[i]);
192 invalid_pubnonce_ptr[0] = &invalid_pubnonce;
193 invalid_partial_sig_ptr[0] = &invalid_partial_sig;
196 invalid_pk_ptr3[2] = &invalid_pk;
205 for (i = 0; i < 2; i++) {
209 pk_ptr[i] = original_ptr;
235 for (i = 0; i < 2; i++) {
238 CHECK((*tweak_func[i])(CTX, &tmp_output_pk, &tmp_keyagg_cache,
tweak) == 1);
240 tmp_keyagg_cache = keyagg_cache;
241 CHECK((*tweak_func[i])(CTX, NULL, &tmp_keyagg_cache,
tweak) == 1);
242 tmp_keyagg_cache = keyagg_cache;
245 tmp_keyagg_cache = keyagg_cache;
246 CHECK_ILLEGAL(CTX, (*tweak_func[i])(CTX, &tmp_output_pk, &tmp_keyagg_cache, NULL));
248 tmp_keyagg_cache = keyagg_cache;
249 CHECK((*tweak_func[i])(CTX, &tmp_output_pk, &tmp_keyagg_cache, max64) == 0);
251 tmp_keyagg_cache = keyagg_cache;
253 CHECK_ILLEGAL(CTX, (*tweak_func[i])(CTX, &tmp_output_pk, &invalid_keyagg_cache,
tweak));
278 memcpy(&session_secrand[0], zeros132,
sizeof(session_secrand[0]));
361 for (i = 0; i < 2; i++) {
363 pubnonce_ptr[i] = NULL;
365 pubnonce_ptr[i] = original_ptr;
375 CHECK(secp256k1_musig_aggnonce_load(CTX, aggnonce_pt, &aggnonce) == 1);
376 for (i = 0; i < 2; i++) {
377 CHECK(secp256k1_ge_is_infinity(&aggnonce_pt[i]) == 1);
416 memcpy(&secnonce_tmp, &secnonce[0],
sizeof(secnonce_tmp));
421 memcpy(&secnonce_tmp, &secnonce[0],
sizeof(secnonce_tmp));
423 memcpy(&secnonce_tmp, &secnonce[0],
sizeof(secnonce_tmp));
427 memcpy(&secnonce_tmp, &secnonce[0],
sizeof(secnonce_tmp));
429 memcpy(&secnonce_tmp, &secnonce[0],
sizeof(secnonce_tmp));
431 unsigned char sk_tmp[32];
436 memcpy(&secnonce_tmp, &secnonce[0],
sizeof(secnonce_tmp));
439 memcpy(&secnonce_tmp, &secnonce[0],
sizeof(secnonce_tmp));
441 memcpy(&secnonce_tmp, &secnonce[0],
sizeof(secnonce_tmp));
443 memcpy(&secnonce_tmp, &secnonce[0],
sizeof(secnonce_tmp));
445 memcpy(&secnonce_tmp, &secnonce[0],
sizeof(secnonce_tmp));
492 for (i = 0; i < 2; i++) {
494 partial_sig_ptr[i] = NULL;
496 partial_sig_ptr[i] = original_ptr;
1098 unsigned char pubnonce66[66];
1101 uint64_t nonrepeating_cnt = 0;
1102 unsigned char sk[32] = {
1103 0xEE, 0xC1, 0xCB, 0x7D, 0x1B, 0x72, 0x54, 0xC5,
1104 0xCA, 0xB0, 0xD9, 0xC6, 0x1A, 0xB0, 0x2E, 0x64,
1105 0x3D, 0x46, 0x4A, 0x59, 0xFE, 0x6C, 0x96, 0xA7,
1106 0xEF, 0xE8, 0x71, 0xF0, 0x7C, 0x5A, 0xEF, 0x54,
1108 unsigned char expected_secnonce[64] = {
1109 0x84, 0x2F, 0x13, 0x80, 0xCD, 0x17, 0xA1, 0x98,
1110 0xFC, 0x3D, 0xAD, 0x3B, 0x7D, 0xA7, 0x49, 0x29,
1111 0x41, 0xF4, 0x69, 0x76, 0xF2, 0x70, 0x2F, 0xF7,
1112 0xC6, 0x6F, 0x24, 0xF4, 0x72, 0x03, 0x6A, 0xF1,
1113 0xDA, 0x3F, 0x95, 0x2D, 0xDE, 0x4A, 0x2D, 0xA6,
1114 0xB6, 0x32, 0x57, 0x07, 0xCE, 0x87, 0xA4, 0xE3,
1115 0x61, 0x6D, 0x06, 0xFC, 0x5F, 0x81, 0xA9, 0xC9,
1116 0x93, 0x86, 0xD2, 0x0A, 0x99, 0xCE, 0xCF, 0x99,
1118 unsigned char expected_pubnonce[66] = {
1119 0x03, 0xA5, 0xB9, 0xB6, 0x90, 0x79, 0x42, 0xEA,
1120 0xCD, 0xDA, 0x49, 0xA3, 0x66, 0x01, 0x6E, 0xC2,
1121 0xE6, 0x24, 0x04, 0xA1, 0xBF, 0x4A, 0xB6, 0xD4,
1122 0xDB, 0x82, 0x06, 0x7B, 0xC3, 0xAD, 0xF0, 0x86,
1123 0xD7, 0x03, 0x32, 0x05, 0xDB, 0x9E, 0xB3, 0x4D,
1124 0x5C, 0x7C, 0xE0, 0x28, 0x48, 0xCA, 0xC6, 0x8A,
1125 0x83, 0xED, 0x73, 0xE3, 0x88, 0x34, 0x77, 0xF5,
1126 0x63, 0xF2, 0x3C, 0xE9, 0xA1, 0x1A, 0x77, 0x21,