Commit 7ef335be authored by Daiki Ueno's avatar Daiki Ueno Committed by Niels Möller

eccdata: Emit correct ecc_Bmodq_shifted for curve448

In curve448, the bit size of the order is slightly smaller than the
one of p's.  Adjust ecc_Bmodq_shifted accordingly.
Signed-off-by: default avatarDaiki Ueno <dueno@redhat.com>
parent e65d9fc9
......@@ -1014,16 +1014,19 @@ output_curve (const struct ecc_curve *ecc, unsigned bits_per_limb)
exit (EXIT_FAILURE);
}
}
}
else
printf ("#define ecc_Bmodp_shifted ecc_Bmodp\n");
if (bits < limb_size * bits_per_limb)
{
mpz_set_ui (t, 0);
mpz_setbit (t, ecc->bit_size);
mpz_setbit (t, bits);
mpz_sub (t, t, ecc->q);
output_bignum ("ecc_Bmodq_shifted", t, limb_size, bits_per_limb);
}
else
{
printf ("#define ecc_Bmodp_shifted ecc_Bmodp\n");
printf ("#define ecc_Bmodq_shifted ecc_Bmodq\n");
}
printf ("#define ecc_Bmodq_shifted ecc_Bmodq\n");
mpz_add_ui (t, ecc->p, 1);
mpz_fdiv_q_2exp (t, t, 1);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment