diff options
author | NIIBE Yutaka <gniibe@fsij.org> | 2020-04-21 14:00:13 +0900 |
---|---|---|
committer | NIIBE Yutaka <gniibe@fsij.org> | 2020-04-21 14:00:13 +0900 |
commit | 2a3c58a0b4db01c17da0bf8c035fb1def2af114c (patch) | |
tree | a7894a639072edcc7aca339b10cf9acc7ce148d7 /mpi | |
parent | 45f21f871982753716d4a7676d948e8c7d644db5 (diff) | |
download | libgcrypt-2a3c58a0b4db01c17da0bf8c035fb1def2af114c.tar.gz |
mpi: Fix mpi_invm_pow2.
* mpi/mpi-inv.c (mpi_invm_pow2): Fix the algo implementation.
Fixes-commit: 515bd6e9fae448e966f71e23635503716201158d
Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
Diffstat (limited to 'mpi')
-rw-r--r-- | mpi/mpi-inv.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/mpi/mpi-inv.c b/mpi/mpi-inv.c index b44aeb78..eb20eb03 100644 --- a/mpi/mpi-inv.c +++ b/mpi/mpi-inv.c @@ -132,7 +132,9 @@ mpi_invm_pow2 (gcry_mpi_t x, gcry_mpi_t a_orig, unsigned int k) usize = iterations / BITS_PER_MPI_LIMB; mpi_resize (b, usize); + b->nlimbs = usize; mpi_resize (x, usize); + x->nlimbs = usize; tb = mpi_copy (b); @@ -152,6 +154,7 @@ mpi_invm_pow2 (gcry_mpi_t x, gcry_mpi_t a_orig, unsigned int k) _gcry_mpih_sub_n (wp, up, vp, usize); mpih_set_cond (up, wp, usize, b0); + _gcry_mpih_rshift (up, up, usize, 1); } mpi_free (tb); |