constantine/tests
Mamy Ratsimbazafy 7e97cd4ac5
Fuzz fix - non-unique modular representation after Assembly negate (#137)
* Fix #114 - Negating 0 left the prime modulus, which is working most of the time for everything except for comparison. (also somehow triggers and workaround weird compiler bug where exceptions tracking is activated in macros and all the curve enums were stringified as their ordinal value)

* https://github.com/mratsim/constantine/issues/136 was also fixed, add to anti-regression

* add comment in test

* Fix the pure Nim fallback as well
2021-01-24 12:35:27 +01:00
..
support Sage constants & tests codegen (#101) 2020-10-10 16:19:23 +02:00
vectors Implement BW6-761 Endomorphism acceleration (#104) 2020-10-13 23:58:35 +02:00
t_bigints.nim Frobenius endomorphism ψ = φ−1 πp φ (psi = untwist-Frobenius-Twist) (#78) 2020-08-31 23:18:48 +02:00
t_bigints_mod_vs_gmp.nim Remove unused curves 2020-09-27 13:13:45 +02:00
t_bigints_mul_high_words_vs_gmp.nim Naive pairings + Naive cofactor clearing (#82) 2020-09-21 23:24:00 +02:00
t_bigints_mul_vs_gmp.nim Naive pairings + Naive cofactor clearing (#82) 2020-09-21 23:24:00 +02:00
t_bigints_multimod.nim SHorter test names for github display 2020-06-15 23:15:01 +02:00
t_ec_frobenius.nim Implement BW6-761 Endomorphism acceleration (#104) 2020-10-13 23:58:35 +02:00
t_ec_sage_bls12_377.nim Fr: Finite Field parametrized by the curve order (#115) 2021-01-22 00:09:52 +01:00
t_ec_sage_bls12_381.nim Fr: Finite Field parametrized by the curve order (#115) 2021-01-22 00:09:52 +01:00
t_ec_sage_bn254_nogami.nim Fr: Finite Field parametrized by the curve order (#115) 2021-01-22 00:09:52 +01:00
t_ec_sage_bn254_snarks.nim Fr: Finite Field parametrized by the curve order (#115) 2021-01-22 00:09:52 +01:00
t_ec_sage_bw6_761_g1.nim Fr: Finite Field parametrized by the curve order (#115) 2021-01-22 00:09:52 +01:00
t_ec_sage_bw6_761_g2.nim Fr: Finite Field parametrized by the curve order (#115) 2021-01-22 00:09:52 +01:00
t_ec_sage_template.nim Fr: Finite Field parametrized by the curve order (#115) 2021-01-22 00:09:52 +01:00
t_ec_shortw_jac_g1_add_double.nim Fr: Finite Field parametrized by the curve order (#115) 2021-01-22 00:09:52 +01:00
t_ec_shortw_jac_g1_mul_distri.nim Fr: Finite Field parametrized by the curve order (#115) 2021-01-22 00:09:52 +01:00
t_ec_shortw_jac_g1_mul_sanity.nim BW6-761 part 1 (#100) 2020-10-09 07:51:47 +02:00
t_ec_shortw_jac_g1_mul_vs_ref.nim Fr: Finite Field parametrized by the curve order (#115) 2021-01-22 00:09:52 +01:00
t_ec_shortw_jac_g2_add_double_bls12_377.nim BW6-761 part 1 (#100) 2020-10-09 07:51:47 +02:00
t_ec_shortw_jac_g2_add_double_bls12_381.nim BW6-761 part 1 (#100) 2020-10-09 07:51:47 +02:00
t_ec_shortw_jac_g2_add_double_bn254_snarks.nim BW6-761 part 1 (#100) 2020-10-09 07:51:47 +02:00
t_ec_shortw_jac_g2_add_double_bw6_761.nim Fr: Finite Field parametrized by the curve order (#115) 2021-01-22 00:09:52 +01:00
t_ec_shortw_jac_g2_mixed_add_bls12_377.nim BW6-761 part 1 (#100) 2020-10-09 07:51:47 +02:00
t_ec_shortw_jac_g2_mixed_add_bls12_381.nim BW6-761 part 1 (#100) 2020-10-09 07:51:47 +02:00
t_ec_shortw_jac_g2_mixed_add_bn254_snarks.nim BW6-761 part 1 (#100) 2020-10-09 07:51:47 +02:00
t_ec_shortw_jac_g2_mixed_add_bw6_761.nim Fr: Finite Field parametrized by the curve order (#115) 2021-01-22 00:09:52 +01:00
t_ec_shortw_jac_g2_mul_distri_bls12_377.nim BW6-761 part 1 (#100) 2020-10-09 07:51:47 +02:00
t_ec_shortw_jac_g2_mul_distri_bls12_381.nim BW6-761 part 1 (#100) 2020-10-09 07:51:47 +02:00
t_ec_shortw_jac_g2_mul_distri_bn254_snarks.nim BW6-761 part 1 (#100) 2020-10-09 07:51:47 +02:00
t_ec_shortw_jac_g2_mul_distri_bw6_761.nim Fr: Finite Field parametrized by the curve order (#115) 2021-01-22 00:09:52 +01:00
t_ec_shortw_jac_g2_mul_sanity_bls12_377.nim BW6-761 part 1 (#100) 2020-10-09 07:51:47 +02:00
t_ec_shortw_jac_g2_mul_sanity_bls12_381.nim BW6-761 part 1 (#100) 2020-10-09 07:51:47 +02:00
t_ec_shortw_jac_g2_mul_sanity_bn254_snarks.nim BW6-761 part 1 (#100) 2020-10-09 07:51:47 +02:00
t_ec_shortw_jac_g2_mul_sanity_bw6_761.nim Fr: Finite Field parametrized by the curve order (#115) 2021-01-22 00:09:52 +01:00
t_ec_shortw_jac_g2_mul_vs_ref_bls12_377.nim BW6-761 part 1 (#100) 2020-10-09 07:51:47 +02:00
t_ec_shortw_jac_g2_mul_vs_ref_bls12_381.nim BW6-761 part 1 (#100) 2020-10-09 07:51:47 +02:00
t_ec_shortw_jac_g2_mul_vs_ref_bn254_snarks.nim BW6-761 part 1 (#100) 2020-10-09 07:51:47 +02:00
t_ec_shortw_jac_g2_mul_vs_ref_bw6_761.nim Fr: Finite Field parametrized by the curve order (#115) 2021-01-22 00:09:52 +01:00
t_ec_shortw_prj_edge_cases.nim BW6-761 part 1 (#100) 2020-10-09 07:51:47 +02:00
t_ec_shortw_prj_g1_add_double.nim Fr: Finite Field parametrized by the curve order (#115) 2021-01-22 00:09:52 +01:00
t_ec_shortw_prj_g1_mixed_add.nim BW6-761 part 1 (#100) 2020-10-09 07:51:47 +02:00
t_ec_shortw_prj_g1_mul_distri.nim Fr: Finite Field parametrized by the curve order (#115) 2021-01-22 00:09:52 +01:00
t_ec_shortw_prj_g1_mul_sanity.nim BW6-761 part 1 (#100) 2020-10-09 07:51:47 +02:00
t_ec_shortw_prj_g1_mul_vs_ref.nim Fr: Finite Field parametrized by the curve order (#115) 2021-01-22 00:09:52 +01:00
t_ec_shortw_prj_g2_add_double_bls12_377.nim BW6-761 part 1 (#100) 2020-10-09 07:51:47 +02:00
t_ec_shortw_prj_g2_add_double_bls12_381.nim BW6-761 part 1 (#100) 2020-10-09 07:51:47 +02:00
t_ec_shortw_prj_g2_add_double_bn254_snarks.nim BW6-761 part 1 (#100) 2020-10-09 07:51:47 +02:00
t_ec_shortw_prj_g2_add_double_bw6_761.nim Fr: Finite Field parametrized by the curve order (#115) 2021-01-22 00:09:52 +01:00
t_ec_shortw_prj_g2_mixed_add_bls12_377.nim BW6-761 part 1 (#100) 2020-10-09 07:51:47 +02:00
t_ec_shortw_prj_g2_mixed_add_bls12_381.nim BW6-761 part 1 (#100) 2020-10-09 07:51:47 +02:00
t_ec_shortw_prj_g2_mixed_add_bn254_snarks.nim BW6-761 part 1 (#100) 2020-10-09 07:51:47 +02:00
t_ec_shortw_prj_g2_mixed_add_bw6_761.nim Fr: Finite Field parametrized by the curve order (#115) 2021-01-22 00:09:52 +01:00
t_ec_shortw_prj_g2_mul_distri_bls12_377.nim BW6-761 part 1 (#100) 2020-10-09 07:51:47 +02:00
t_ec_shortw_prj_g2_mul_distri_bls12_381.nim BW6-761 part 1 (#100) 2020-10-09 07:51:47 +02:00
t_ec_shortw_prj_g2_mul_distri_bn254_snarks.nim BW6-761 part 1 (#100) 2020-10-09 07:51:47 +02:00
t_ec_shortw_prj_g2_mul_distri_bw6_761.nim Fr: Finite Field parametrized by the curve order (#115) 2021-01-22 00:09:52 +01:00
t_ec_shortw_prj_g2_mul_sanity_bls12_377.nim BW6-761 part 1 (#100) 2020-10-09 07:51:47 +02:00
t_ec_shortw_prj_g2_mul_sanity_bls12_381.nim BW6-761 part 1 (#100) 2020-10-09 07:51:47 +02:00
t_ec_shortw_prj_g2_mul_sanity_bn254_snarks.nim BW6-761 part 1 (#100) 2020-10-09 07:51:47 +02:00
t_ec_shortw_prj_g2_mul_sanity_bw6_761.nim Fr: Finite Field parametrized by the curve order (#115) 2021-01-22 00:09:52 +01:00
t_ec_shortw_prj_g2_mul_vs_ref_bls12_377.nim BW6-761 part 1 (#100) 2020-10-09 07:51:47 +02:00
t_ec_shortw_prj_g2_mul_vs_ref_bls12_381.nim BW6-761 part 1 (#100) 2020-10-09 07:51:47 +02:00
t_ec_shortw_prj_g2_mul_vs_ref_bn254_snarks.nim BW6-761 part 1 (#100) 2020-10-09 07:51:47 +02:00
t_ec_shortw_prj_g2_mul_vs_ref_bw6_761.nim Fr: Finite Field parametrized by the curve order (#115) 2021-01-22 00:09:52 +01:00
t_ec_template.nim BW6-761 part 1 (#100) 2020-10-09 07:51:47 +02:00
t_finite_fields.nim Fuzz fix - non-unique modular representation after Assembly negate (#137) 2021-01-24 12:35:27 +01:00
t_finite_fields.nim.cfg SHorter test names for github display 2020-06-15 23:15:01 +02:00
t_finite_fields_conditional_arithmetic.nim Jacobian coordinates (#95) 2020-10-02 00:01:09 +02:00
t_finite_fields_double_width.nim 5.3x faster test suite. 2020-09-03 23:30:39 +02:00
t_finite_fields_mulsquare.nim Fr: Finite Field parametrized by the curve order (#115) 2021-01-22 00:09:52 +01:00
t_finite_fields_mulsquare.nim.cfg SHorter test names for github display 2020-06-15 23:15:01 +02:00
t_finite_fields_powinv.nim Remove unused curves 2020-09-27 13:13:45 +02:00
t_finite_fields_powinv.nim.cfg SHorter test names for github display 2020-06-15 23:15:01 +02:00
t_finite_fields_sqrt.nim Square Root & Inversion addition chains - 20% perf increase (#132) 2021-01-23 20:55:40 +01:00
t_finite_fields_sqrt.nim.cfg SHorter test names for github display 2020-06-15 23:15:01 +02:00
t_finite_fields_vs_gmp.nim Remove outdated TODOs [skip ci] 2020-10-11 21:33:59 +02:00
t_fp2.nim BW6-761 part 1 (#100) 2020-10-09 07:51:47 +02:00
t_fp2_frobenius.nim Implement BW6-761 Endomorphism acceleration (#104) 2020-10-13 23:58:35 +02:00
t_fp2_sqrt.nim Fuzz fix - non-unique modular representation after Assembly negate (#137) 2021-01-24 12:35:27 +01:00
t_fp4_frobenius.nim Remove unused curves 2020-09-27 13:13:45 +02:00
t_fp6_bls12_377.nim Naive pairings + Naive cofactor clearing (#82) 2020-09-21 23:24:00 +02:00
t_fp6_bls12_381.nim Naive pairings + Naive cofactor clearing (#82) 2020-09-21 23:24:00 +02:00
t_fp6_bn254_snarks.nim Naive pairings + Naive cofactor clearing (#82) 2020-09-21 23:24:00 +02:00
t_fp6_bw6_761.nim BW6-761 part 1 (#100) 2020-10-09 07:51:47 +02:00
t_fp6_frobenius.nim Implement BW6-761 Endomorphism acceleration (#104) 2020-10-13 23:58:35 +02:00
t_fp12_anti_regression.nim Fuzz fix - non-unique modular representation after Assembly negate (#137) 2021-01-24 12:35:27 +01:00
t_fp12_bls12_377.nim Naive pairings + Naive cofactor clearing (#82) 2020-09-21 23:24:00 +02:00
t_fp12_bls12_381.nim Naive pairings + Naive cofactor clearing (#82) 2020-09-21 23:24:00 +02:00
t_fp12_bn254_snarks.nim Naive pairings + Naive cofactor clearing (#82) 2020-09-21 23:24:00 +02:00
t_fp12_exponentiation.nim Naive pairings + Naive cofactor clearing (#82) 2020-09-21 23:24:00 +02:00
t_fp12_frobenius.nim Remove unused curves 2020-09-27 13:13:45 +02:00
t_fp_cubic_root.nim Move pairings 2020-09-27 21:00:35 +02:00
t_fp_tower_frobenius_template.nim Implement BW6-761 Endomorphism acceleration (#104) 2020-10-13 23:58:35 +02:00
t_fp_tower_template.nim Naive pairings + Naive cofactor clearing (#82) 2020-09-21 23:24:00 +02:00
t_fr.nim Fr: Finite Field parametrized by the curve order (#115) 2021-01-22 00:09:52 +01:00
t_hash_sha256_vs_openssl.nim deal with DLL mess for OpenSSL test 2021-01-03 21:50:22 +01:00
t_io_bigints.nim SHorter test names for github display 2020-06-15 23:15:01 +02:00
t_io_fields.nim Assembly backend (#69) 2020-07-24 22:02:30 +02:00
t_io_fields.nim.cfg SHorter test names for github display 2020-06-15 23:15:01 +02:00
t_pairing_bls12_377_line_functions.nim BW6-761 part 1 (#100) 2020-10-09 07:51:47 +02:00
t_pairing_bls12_377_optate.nim BLS12-377 (#91) 2020-09-27 09:15:14 +02:00
t_pairing_bls12_381_line_functions.nim BW6-761 part 1 (#100) 2020-10-09 07:51:47 +02:00
t_pairing_bls12_381_optate.nim Pairing optim (#85) 2020-09-24 17:18:23 +02:00
t_pairing_bn254_nogami_optate.nim Pairings for BN254-Nogami and BN254-Snarks (#86) 2020-09-25 21:58:20 +02:00
t_pairing_bn254_snarks_optate.nim Pairings for BN254-Nogami and BN254-Snarks (#86) 2020-09-25 21:58:20 +02:00
t_pairing_cyclotomic_fp12.nim BLS12-377 (#91) 2020-09-27 09:15:14 +02:00
t_pairing_mul_fp12_by_lines.nim BW6-761 part 1 (#100) 2020-10-09 07:51:47 +02:00
t_pairing_template.nim BW6-761 part 1 (#100) 2020-10-09 07:51:47 +02:00
t_primitives.nim SHorter test names for github display 2020-06-15 23:15:01 +02:00
t_primitives_extended_precision.nim Fuzzing campaign fixes (#58) 2020-06-23 01:27:40 +02:00