Lines Matching refs:ndigits
36 const void *value, size_t vlen, unsigned int ndigits)
38 size_t keylen = ndigits * sizeof(u64);
71 ecc_swap_digits((u64 *)rs, dest, ndigits);
82 sig->curve->g.ndigits);
91 sig->curve->g.ndigits);
97 unsigned int ndigits = curve->g.ndigits;
103 struct ecc_point res = ECC_POINT_INIT(x1, y1, ndigits);
106 if (vli_is_zero(r, ndigits) || vli_cmp(r, curve->n, ndigits) >= 0 ||
107 vli_is_zero(s, ndigits) || vli_cmp(s, curve->n, ndigits) >= 0)
112 hash[ndigits - 1], hash[ndigits - 2], hash[0]);
115 vli_mod_inv(s1, s, curve->n, ndigits);
117 vli_mod_mult_slow(u1, hash, s1, curve->n, ndigits);
119 vli_mod_mult_slow(u2, r, s1, curve->n, ndigits);
124 if (unlikely(vli_cmp(res.x, curve->n, ndigits) == 1))
126 vli_sub(res.x, res.x, curve->n, ndigits);
128 if (!vli_cmp(res.x, r, ndigits))
141 size_t keylen = ctx->curve->g.ndigits * sizeof(u64);
167 /* if the hash is shorter then we will add leading zeros to fit to ndigits */
178 ecc_swap_digits((u64 *)rawhash, hash, ctx->curve->g.ndigits);
213 ctx->curve->g.ndigits);
227 unsigned int ndigits;
241 ndigits = (keylen >> 1) / sizeof(u64);
242 if (ndigits != ctx->curve->g.ndigits)
245 ecc_swap_digits(digits, ctx->pub_key.x, ndigits);
246 ecc_swap_digits(&digits[ndigits], ctx->pub_key.y, ndigits);
265 return ctx->pub_key.ndigits << ECC_DIGITS_TO_BYTES_SHIFT;