Lines Matching refs:curve
38 const struct ecc_curve *curve; /* curve from oid */
88 * Digest value, digest algorithm, and curve (modulus) should have the
92 if (!ctx->curve ||
97 req->dst_len != ctx->curve->g.ndigits * sizeof(u64) ||
98 ctx->pub_key.ndigits != ctx->curve->g.ndigits ||
116 vli_cmp(r, ctx->curve->n, ndigits) >= 0 ||
118 vli_cmp(s, ctx->curve->n, ndigits) >= 0)
124 if (vli_cmp(e, ctx->curve->n, ndigits) >= 0)
125 vli_sub(e, e, ctx->curve->n, ndigits);
130 vli_mod_inv(v, e, ctx->curve->n, ndigits);
133 vli_mod_mult_slow(z1, s, v, ctx->curve->n, ndigits);
134 vli_sub(_r, ctx->curve->n, r, ndigits);
135 vli_mod_mult_slow(z2, _r, v, ctx->curve->n, ndigits);
138 ecc_point_mult_shamir(&cc, z1, &ctx->curve->g, z2, &ctx->pub_key,
139 ctx->curve);
140 if (vli_cmp(cc.x, ctx->curve->n, ndigits) >= 0)
141 vli_sub(cc.x, cc.x, ctx->curve->n, ndigits);
158 ctx->curve = get_curve_by_oid(ctx->curve_oid);
225 * Sizes of algo (set in digest_len) and curve should match
228 if (!ctx->curve ||
229 ctx->curve->g.ndigits * sizeof(u64) != ctx->digest_len)
233 * curve size.
237 ctx->key_len != ctx->curve->g.ndigits * sizeof(u64) * 2)
246 if (ecc_is_pubkey_valid_partial(ctx->curve, &ctx->pub_key))