mp_size_t
ecc_ecdsa_sign_itch (const struct ecc_curve *ecc)
{
- /* Needs 3*ecc->p.size + scratch for ecc->mul_g. Currently same for
- ecc_mul_g. */
- assert (ecc->p.size + ecc->p.invert_itch <= 3*ecc->p.size + ecc->mul_g_itch);
+ /* Needs 3*ecc->p.size + scratch for ecc_mul_g. */
+ assert (ecc->p.size + ecc->p.invert_itch
+ <= 3*ecc->p.size + ECC_MUL_G_ITCH (ecc->p.size));
return ECC_ECDSA_SIGN_ITCH (ecc->p.size);
}
4. s2 <-- (h + z*s1)/k mod q.
*/
- ecc->mul_g (ecc, P, kp, P + 3*ecc->p.size);
+ ecc_mul_g (ecc, P, kp, P + 3*ecc->p.size);
/* x coordinate only, modulo q */
- ecc->h_to_a (ecc, 2, rp, P, P + 3*ecc->p.size);
+ ecc_j_to_a (ecc, 2, rp, P, P + 3*ecc->p.size);
/* Invert k, uses up to 7 * ecc->p.size including scratch (for secp384). */
ecc->q.invert (&ecc->q, kinv, kp, tp);
mp_size_t
ecc_gostdsa_sign_itch (const struct ecc_curve *ecc)
{
- /* Needs 3*ecc->p.size + scratch for ecc->mul_g. Currently same for
- ecc_mul_g. */
+ /* Needs 3*ecc->p.size + scratch for ecc_mul_g. */
return ECC_GOSTDSA_SIGN_ITCH (ecc->p.size);
}
4. s <-- (r*z + k*h) mod q.
*/
- ecc->mul_g (ecc, P, kp, P + 3*ecc->p.size);
+ ecc_mul_g (ecc, P, kp, P + 3*ecc->p.size);
/* x coordinate only, modulo q */
- ecc->h_to_a (ecc, 2, rp, P, P + 3*ecc->p.size);
+ ecc_j_to_a (ecc, 2, rp, P, P + 3*ecc->p.size);
/* Process hash digest */
gost_hash (&ecc->q, hp, length, digest);