| GMP developers' secure corner |
Starting with GMP 5, we provide a public mpz_powm_sec function,
supported by a corresponding mpn_sec_powm
and mpn_cnd_sub_n (then called mpn_powm_sec and
mpn_subcnd_n, respectively).
Starting with GMP 6, we provide a public set of mpn_sec functions.
The purpose for the sec and cnd functions is
providing a basic set of side-channel silent function.
The functions never allocate their own scratch memory, since some applications will surely want to allocate "safe" memory.
function visibility status mpn_sec_powmpublic OK mpn_sec_mulpublic OK mpn_sec_sqrpublic OK mpn_sec_div_qrpublic OK mpn_sec_div_rpublic OK mpn_sec_pi1_div_qrprivate? OK mpn_sec_pi1_div_rprivate? OK mpn_sec_add_1public mpn_sec_sub_1public mpn_cnd_negpublic mpn_cnd_swappublic mpn_sec_minvertpublic OK mpn_cnd_add_npublic OK mpn_cnd_sub_npublic OK mpn_sec_tabselectpublic OK