Lines Matching full:curve
18 const struct ecc_curve *curve; member
27 const struct ecc_curve *curve; member
82 sig->curve->g.ndigits); in ecdsa_get_signature_r()
91 sig->curve->g.ndigits); in ecdsa_get_signature_s()
96 const struct ecc_curve *curve = ctx->curve; in _ecdsa_verify() local
97 unsigned int ndigits = curve->g.ndigits; in _ecdsa_verify()
106 if (vli_is_zero(r, ndigits) || vli_cmp(r, curve->n, ndigits) >= 0 || in _ecdsa_verify()
107 vli_is_zero(s, ndigits) || vli_cmp(s, curve->n, ndigits) >= 0) in _ecdsa_verify()
115 vli_mod_inv(s1, s, curve->n, ndigits); in _ecdsa_verify()
117 vli_mod_mult_slow(u1, hash, s1, curve->n, ndigits); in _ecdsa_verify()
119 vli_mod_mult_slow(u2, r, s1, curve->n, ndigits); in _ecdsa_verify()
121 ecc_point_mult_shamir(&res, u1, &curve->g, u2, &ctx->pub_key, curve); in _ecdsa_verify()
124 if (unlikely(vli_cmp(res.x, curve->n, ndigits) == 1)) in _ecdsa_verify()
126 vli_sub(res.x, res.x, curve->n, ndigits); in _ecdsa_verify()
141 size_t keylen = ctx->curve->g.ndigits * sizeof(u64); in ecdsa_verify()
143 .curve = ctx->curve, in ecdsa_verify()
178 ecc_swap_digits((u64 *)rawhash, hash, ctx->curve->g.ndigits); in ecdsa_verify()
191 ctx->curve = ecc_get_curve(curve_id); in ecdsa_ecc_ctx_init()
192 if (!ctx->curve) in ecdsa_ecc_ctx_init()
213 ctx->curve->g.ndigits); in ecdsa_ecc_ctx_reset()
242 if (ndigits != ctx->curve->g.ndigits) in ecdsa_set_pub_key()
247 ret = ecc_is_pubkey_valid_full(ctx->curve, &ctx->pub_key); in ecdsa_set_pub_key()