Lines Matching full:curve
15 const struct ecc_curve *curve; member
25 const struct ecc_curve *curve = ctx->curve; in _ecdsa_verify() local
26 unsigned int ndigits = curve->g.ndigits; in _ecdsa_verify()
35 if (vli_is_zero(r, ndigits) || vli_cmp(r, curve->n, ndigits) >= 0 || in _ecdsa_verify()
36 vli_is_zero(s, ndigits) || vli_cmp(s, curve->n, ndigits) >= 0) in _ecdsa_verify()
44 vli_mod_inv(s1, s, curve->n, ndigits); in _ecdsa_verify()
46 vli_mod_mult_slow(u1, hash, s1, curve->n, ndigits); in _ecdsa_verify()
48 vli_mod_mult_slow(u2, r, s1, curve->n, ndigits); in _ecdsa_verify()
50 ecc_point_mult_shamir(&res, u1, &curve->g, u2, &ctx->pub_key, curve); in _ecdsa_verify()
53 if (unlikely(vli_cmp(res.x, curve->n, ndigits) == 1)) in _ecdsa_verify()
55 vli_sub(res.x, res.x, curve->n, ndigits); in _ecdsa_verify()
71 size_t bufsize = ctx->curve->g.ndigits * sizeof(u64); in ecdsa_verify()
84 ecc_digits_from_bytes(digest, bufsize, hash, ctx->curve->g.ndigits); in ecdsa_verify()
92 ctx->curve = ecc_get_curve(curve_id); in ecdsa_ecc_ctx_init()
93 if (!ctx->curve) in ecdsa_ecc_ctx_init()
114 ctx->curve->g.ndigits); in ecdsa_ecc_ctx_reset()
144 if (ndigits != ctx->curve->g.ndigits) in ecdsa_set_pub_key()
152 ret = ecc_is_pubkey_valid_full(ctx->curve, &ctx->pub_key); in ecdsa_set_pub_key()
170 return DIV_ROUND_UP(ctx->curve->nbits, 8); in ecdsa_key_size()