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];
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;
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;
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;
376 for (i = 0; i < 2; i++) {
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;
1096 unsigned char pubnonce66[66];
1099 uint64_t nonrepeating_cnt = 0;
1100 unsigned char sk[32] = {
1101 0xEE, 0xC1, 0xCB, 0x7D, 0x1B, 0x72, 0x54, 0xC5,
1102 0xCA, 0xB0, 0xD9, 0xC6, 0x1A, 0xB0, 0x2E, 0x64,
1103 0x3D, 0x46, 0x4A, 0x59, 0xFE, 0x6C, 0x96, 0xA7,
1104 0xEF, 0xE8, 0x71, 0xF0, 0x7C, 0x5A, 0xEF, 0x54,
1106 unsigned char expected_secnonce[64] = {
1107 0x84, 0x2F, 0x13, 0x80, 0xCD, 0x17, 0xA1, 0x98,
1108 0xFC, 0x3D, 0xAD, 0x3B, 0x7D, 0xA7, 0x49, 0x29,
1109 0x41, 0xF4, 0x69, 0x76, 0xF2, 0x70, 0x2F, 0xF7,
1110 0xC6, 0x6F, 0x24, 0xF4, 0x72, 0x03, 0x6A, 0xF1,
1111 0xDA, 0x3F, 0x95, 0x2D, 0xDE, 0x4A, 0x2D, 0xA6,
1112 0xB6, 0x32, 0x57, 0x07, 0xCE, 0x87, 0xA4, 0xE3,
1113 0x61, 0x6D, 0x06, 0xFC, 0x5F, 0x81, 0xA9, 0xC9,
1114 0x93, 0x86, 0xD2, 0x0A, 0x99, 0xCE, 0xCF, 0x99,
1116 unsigned char expected_pubnonce[66] = {
1117 0x03, 0xA5, 0xB9, 0xB6, 0x90, 0x79, 0x42, 0xEA,
1118 0xCD, 0xDA, 0x49, 0xA3, 0x66, 0x01, 0x6E, 0xC2,
1119 0xE6, 0x24, 0x04, 0xA1, 0xBF, 0x4A, 0xB6, 0xD4,
1120 0xDB, 0x82, 0x06, 0x7B, 0xC3, 0xAD, 0xF0, 0x86,
1121 0xD7, 0x03, 0x32, 0x05, 0xDB, 0x9E, 0xB3, 0x4D,
1122 0x5C, 0x7C, 0xE0, 0x28, 0x48, 0xCA, 0xC6, 0x8A,
1123 0x83, 0xED, 0x73, 0xE3, 0x88, 0x34, 0x77, 0xF5,
1124 0x63, 0xF2, 0x3C, 0xE9, 0xA1, 0x1A, 0x77, 0x21,