[PATCH] MPI helper of comparison, Least Leak Intended
NIIBE Yutaka
gniibe at fsij.org
Mon Feb 17 06:23:17 CET 2025
NIIBE Yutaka <gniibe at fsij.org> wrote:
> Jussi Kivilinna <jussi.kivilinna at iki.fi> wrote:
>> int
>> _gcry_mpih_cmp_lli (mpi_ptr_t up, mpi_ptr_t vp, mpi_size_t size)
>> {
>> mpi_size_t i;
>> mpi_limb_t res_gt = 0;
>> mpi_limb_t res_lt = 0;
>>
>> for (i = 0; i < size ; i++)
>> {
>> mpi_limb_t gt, lt, eq, neq;
>> gt = mpih_ct_limb_greater_than (up[i], vp[i]);
>> lt = mpih_ct_limb_less_than (up[i], vp[i]);
>> neq = ct_limb_gen_mask(gt | lt);
>> eq = ct_limb_gen_inv_mask(gt | lt);
>> res_gt = (eq & res_gt) | (neq & gt);
>> res_lt = (eq & res_lt) | (neq & lt);
>> }
>>
>> return (int)(res_gt - res_lt); /* return 0 if U==V, 1 if U>V, -1 if U<V */
>> }
>
> Please apply and push this version, because it's the way the function
> name suggests (returning -1, 0, 1).
I'm going to push this implementation to master.
--
More information about the Gcrypt-devel
mailing list