constantine/tests
Mamy Ratsimbazafy f5c0b6245d
Multipairing (#165)
* Productionize multipairings for BLS12-381

* typo

* arg order + benchmark

* Introduce mul_3way_sparse_sparse

* cleanup MultiMiller loop

* fix init sparse optimization in multimiller loop [skip ci]
2021-08-16 22:22:51 +02:00
..
support Sage constants & tests codegen (#101) 2020-10-10 16:19:23 +02:00
vectors Hash to curve - BLS12-381 (#110) 2021-08-13 22:07:26 +02:00
t_bigints.nim FpDbl revisited (#144) - 7% perf improvement everywhere, up to 30% in double-width primitives 2021-02-01 03:52:27 +01:00
t_bigints_mod_vs_gmp.nim Decimal conversion (#139) 2021-01-29 20:42:36 +01: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 Rename ECP_ShortW_Proj -> ECP_ShortW_Prj 2021-02-06 16:29:53 +01:00
t_ec_sage_bls12_377.nim Rename ECP_ShortW_Proj -> ECP_ShortW_Prj 2021-02-06 16:29:53 +01:00
t_ec_sage_bls12_381.nim Rename ECP_ShortW_Proj -> ECP_ShortW_Prj 2021-02-06 16:29:53 +01:00
t_ec_sage_bn254_nogami.nim Rename ECP_ShortW_Proj -> ECP_ShortW_Prj 2021-02-06 16:29:53 +01:00
t_ec_sage_bn254_snarks.nim Rename ECP_ShortW_Proj -> ECP_ShortW_Prj 2021-02-06 16:29:53 +01:00
t_ec_sage_bw6_761_g1.nim Rename ECP_ShortW_Proj -> ECP_ShortW_Prj 2021-02-06 16:29:53 +01:00
t_ec_sage_bw6_761_g2.nim Rename ECP_ShortW_Proj -> ECP_ShortW_Prj 2021-02-06 16:29:53 +01:00
t_ec_sage_template.nim Drop nim-json-serialization for testing (#156) 2021-02-09 22:10:16 +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_mixed_add.nim Implement Jacobian mixed addition (#142) 2021-01-30 14:21:55 +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 Rename ECP_ShortW_Proj -> ECP_ShortW_Prj 2021-02-06 16:29:53 +01:00
t_ec_shortw_prj_g1_add_double.nim Rename ECP_ShortW_Proj -> ECP_ShortW_Prj 2021-02-06 16:29:53 +01:00
t_ec_shortw_prj_g1_mixed_add.nim Rename ECP_ShortW_Proj -> ECP_ShortW_Prj 2021-02-06 16:29:53 +01:00
t_ec_shortw_prj_g1_mul_distri.nim Rename ECP_ShortW_Proj -> ECP_ShortW_Prj 2021-02-06 16:29:53 +01:00
t_ec_shortw_prj_g1_mul_sanity.nim Rename ECP_ShortW_Proj -> ECP_ShortW_Prj 2021-02-06 16:29:53 +01:00
t_ec_shortw_prj_g1_mul_vs_ref.nim Rename ECP_ShortW_Proj -> ECP_ShortW_Prj 2021-02-06 16:29:53 +01:00
t_ec_shortw_prj_g2_add_double_bls12_377.nim Rename ECP_ShortW_Proj -> ECP_ShortW_Prj 2021-02-06 16:29:53 +01:00
t_ec_shortw_prj_g2_add_double_bls12_381.nim Rename ECP_ShortW_Proj -> ECP_ShortW_Prj 2021-02-06 16:29:53 +01:00
t_ec_shortw_prj_g2_add_double_bn254_snarks.nim Rename ECP_ShortW_Proj -> ECP_ShortW_Prj 2021-02-06 16:29:53 +01:00
t_ec_shortw_prj_g2_add_double_bw6_761.nim Rename ECP_ShortW_Proj -> ECP_ShortW_Prj 2021-02-06 16:29:53 +01:00
t_ec_shortw_prj_g2_mixed_add_bls12_377.nim Rename ECP_ShortW_Proj -> ECP_ShortW_Prj 2021-02-06 16:29:53 +01:00
t_ec_shortw_prj_g2_mixed_add_bls12_381.nim Rename ECP_ShortW_Proj -> ECP_ShortW_Prj 2021-02-06 16:29:53 +01:00
t_ec_shortw_prj_g2_mixed_add_bn254_snarks.nim Rename ECP_ShortW_Proj -> ECP_ShortW_Prj 2021-02-06 16:29:53 +01:00
t_ec_shortw_prj_g2_mixed_add_bw6_761.nim Rename ECP_ShortW_Proj -> ECP_ShortW_Prj 2021-02-06 16:29:53 +01:00
t_ec_shortw_prj_g2_mul_distri_bls12_377.nim Rename ECP_ShortW_Proj -> ECP_ShortW_Prj 2021-02-06 16:29:53 +01:00
t_ec_shortw_prj_g2_mul_distri_bls12_381.nim Rename ECP_ShortW_Proj -> ECP_ShortW_Prj 2021-02-06 16:29:53 +01:00
t_ec_shortw_prj_g2_mul_distri_bn254_snarks.nim Rename ECP_ShortW_Proj -> ECP_ShortW_Prj 2021-02-06 16:29:53 +01:00
t_ec_shortw_prj_g2_mul_distri_bw6_761.nim Rename ECP_ShortW_Proj -> ECP_ShortW_Prj 2021-02-06 16:29:53 +01:00
t_ec_shortw_prj_g2_mul_sanity_bls12_377.nim Rename ECP_ShortW_Proj -> ECP_ShortW_Prj 2021-02-06 16:29:53 +01:00
t_ec_shortw_prj_g2_mul_sanity_bls12_381.nim Rename ECP_ShortW_Proj -> ECP_ShortW_Prj 2021-02-06 16:29:53 +01:00
t_ec_shortw_prj_g2_mul_sanity_bn254_snarks.nim Rename ECP_ShortW_Proj -> ECP_ShortW_Prj 2021-02-06 16:29:53 +01:00
t_ec_shortw_prj_g2_mul_sanity_bw6_761.nim Rename ECP_ShortW_Proj -> ECP_ShortW_Prj 2021-02-06 16:29:53 +01:00
t_ec_shortw_prj_g2_mul_vs_ref_bls12_377.nim Rename ECP_ShortW_Proj -> ECP_ShortW_Prj 2021-02-06 16:29:53 +01:00
t_ec_shortw_prj_g2_mul_vs_ref_bls12_381.nim Rename ECP_ShortW_Proj -> ECP_ShortW_Prj 2021-02-06 16:29:53 +01:00
t_ec_shortw_prj_g2_mul_vs_ref_bn254_snarks.nim Rename ECP_ShortW_Proj -> ECP_ShortW_Prj 2021-02-06 16:29:53 +01:00
t_ec_shortw_prj_g2_mul_vs_ref_bw6_761.nim Rename ECP_ShortW_Proj -> ECP_ShortW_Prj 2021-02-06 16:29:53 +01:00
t_ec_template.nim Rename ECP_ShortW_Proj -> ECP_ShortW_Prj 2021-02-06 16:29:53 +01:00
t_finite_fields.nim Rework towering (#148) 2021-02-06 16:28:38 +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_precision.nim Square ADX (#160) 2021-02-20 13:18:49 +01:00
t_finite_fields_double_precision.nim.cfg Square ADX (#160) 2021-02-20 13:18:49 +01:00
t_finite_fields_mulsquare.nim Square ADX (#160) 2021-02-20 13:18:49 +01:00
t_finite_fields_mulsquare.nim.cfg Square ADX (#160) 2021-02-20 13:18:49 +01:00
t_finite_fields_powinv.nim forgot an import 2021-01-24 13:55:18 +01: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 hash-to-curve BLS12-381 perf (#163) 2021-08-14 21:01:50 +02: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 FpDbl revisited (#144) - 7% perf improvement everywhere, up to 30% in double-width primitives 2021-02-01 03:52:27 +01: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.nim Double-Precision towering (#155) 2021-02-09 22:57:45 +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 Double-precision cubic towering + pairing (#158) 2021-02-12 21:27:58 +01: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 hash-to-curve BLS12-381 perf (#163) 2021-08-14 21:01:50 +02:00
t_fp_tower_template.nim Double-precision cubic towering + pairing (#158) 2021-02-12 21:27:58 +01:00
t_fr.nim Double-Precision towering (#155) 2021-02-09 22:57:45 +01:00
t_hash_sha256_vs_openssl.nim Hash to curve - BLS12-381 (#110) 2021-08-13 22:07:26 +02:00
t_hash_to_curve.nim Hash to curve - BLS12-381 (#110) 2021-08-13 22:07:26 +02:00
t_hash_to_field.nim Hash to curve - BLS12-381 (#110) 2021-08-13 22:07:26 +02:00
t_io_bigints.nim Decimal conversion (#139) 2021-01-29 20:42:36 +01: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 Rename ECP_ShortW_Proj -> ECP_ShortW_Prj 2021-02-06 16:29:53 +01:00
t_pairing_bls12_377_optate.nim [WIP] Pairings for bw6 761 (#108) 2021-02-07 09:46:41 +01:00
t_pairing_bls12_381_line_functions.nim Rename ECP_ShortW_Proj -> ECP_ShortW_Prj 2021-02-06 16:29:53 +01:00
t_pairing_bls12_381_multi.nim Multipairing (#165) 2021-08-16 22:22:51 +02:00
t_pairing_bls12_381_optate.nim [WIP] Pairings for bw6 761 (#108) 2021-02-07 09:46:41 +01:00
t_pairing_bn254_nogami_optate.nim [WIP] Pairings for bw6 761 (#108) 2021-02-07 09:46:41 +01:00
t_pairing_bn254_snarks_optate.nim [WIP] Pairings for bw6 761 (#108) 2021-02-07 09:46:41 +01:00
t_pairing_bw6_761_optate.nim [WIP] Pairings for bw6 761 (#108) 2021-02-07 09:46:41 +01:00
t_pairing_cyclotomic_fp12.nim BLS12-377 (#91) 2020-09-27 09:15:14 +02:00
t_pairing_mul_fp12_by_lines.nim Multipairing (#165) 2021-08-16 22:22:51 +02:00
t_pairing_template.nim Optimize Miller Loop and prepare Multi-pairing (#159) 2021-02-14 13:06:57 +01: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
t_sig_bls_lowlevel.nim Multipairing (#165) 2021-08-16 22:22:51 +02:00