Shorter CI run: less repetitions and a single KAT per level

Fixes a few memory leaks in debug code
Fix for big-endian support
Sync test vectors for prof testing
This commit is contained in:
Basil Hess
2023-07-11 11:30:28 +02:00
parent df24e34993
commit ff34a8cd18
8 changed files with 57 additions and 48 deletions

View File

@@ -218,12 +218,17 @@ int id2iso_test_long_id2iso() {
// var finalize
quat_alg_elem_finalize(&gen_key);
quat_alg_elem_finalize(&gen_check);
quat_alg_elem_finalize(&quat_temp);
ibq_finalize(&ibq_norm);
ibz_finalize(&temp);ibz_finalize(&remainder);
ibz_finalize(&temp);ibz_finalize(&remainder);ibz_finalize(&n);
quat_alg_elem_finalize(&gen);
quat_alg_elem_finalize(&gen_two);
quat_left_ideal_finalize(&lideal_small);
quat_left_ideal_finalize(&lideal_check);
quat_left_ideal_finalize(&lideal_two);
quat_left_ideal_finalize(&lideal_two_one);
quat_left_ideal_finalize(&lideal_small_one);
quat_left_ideal_finalize(&ideal_test);
quat_order_finalize(&right_order);
quat_alg_coord_finalize(&coeffs);
ibz_mat_4x4_finalize(&reduced);ibz_mat_4x4_finalize(&gram);

View File

@@ -40,6 +40,8 @@ int _id2iso_test_ker2id() {
id2iso_kernel_dlogs_to_ideal(&I, &vec2, &vec3);
// quat_left_ideal_print(&I);
quat_left_ideal_finalize(&I);
ibz_vec_2_finalize(&vec2);
ibz_vec_2_finalize(&vec3);
//TODO FIXME this really only tests that the function doesn't crash

View File

@@ -441,6 +441,11 @@ void hash_to_challenge(ibz_vec_2_t *scalars, const ec_curve_t *curve, const unsi
//FIXME should use SHAKE128 for smaller parameter sets?
SHAKE256((void *) digits, sizeof(digits), buf, FP2_ENCODED_BYTES + length);
#ifdef TARGET_BIG_ENDIAN
for (size_t i = 0; i < NWORDS_FIELD; i++)
digits[i] = BSWAP_DIGIT(digits[i]);
#endif
ibz_set(&(*scalars)[0], 1); //FIXME
ibz_copy_digit_array(&(*scalars)[1], digits);
}

View File

@@ -61,6 +61,8 @@ void protocols_commit(quat_left_ideal_t *ideal, ec_curve_t *E1, ec_basis_t *basi
ibz_gcd(&temp,&temp,&DEGREE_COMMITMENT);
ibz_div(&temp,&remainder,&temp,&DEGREE_COMMITMENT);
assert(0==ibz_cmp(&remainder,&ibz_const_zero));
ibz_finalize(&temp);ibz_finalize(&remainder);
quat_alg_coord_finalize(&coeffs);
#endif
@@ -699,6 +701,7 @@ int protocols_sign(signature_t *sig,const public_key_t *pk, const secret_key_t *
quat_alg_conj(&delta,&gen);
quat_lideal_create_from_primitive(&ideal_signing_test,&delta,&ideal_eichler_rand.norm,&right_order_key,&QUATALG_PINFTY);
assert(quat_lideal_equals(&ideal_signing_test,&ideal_eichler_rand,&QUATALG_PINFTY));
quat_left_ideal_finalize(&ideal_signing_test);
#endif
// checking cyclicity