Lines Matching refs:curve_prime
690 const u64 *curve_prime, u64 *tmp)
709 while (carry || vli_cmp(curve_prime, result, ndigits) != 1)
710 carry -= vli_sub(result, result, curve_prime, ndigits);
713 /* Computes result = product % curve_prime
717 const u64 *curve_prime, u64 *tmp)
784 carry += vli_add(result, result, curve_prime, ndigits);
787 while (carry || vli_cmp(curve_prime, result, ndigits) != 1)
788 carry -= vli_sub(result, result, curve_prime, ndigits);
796 /* Computes result = product % curve_prime
800 const u64 *curve_prime, u64 *tmp)
892 carry += vli_add(result, result, curve_prime, ndigits);
895 while (carry || vli_cmp(curve_prime, result, ndigits) != 1)
896 carry -= vli_sub(result, result, curve_prime, ndigits);
905 /* Computes result = product % curve_prime for different curve_primes.
914 const u64 *curve_prime = curve->p;
920 if (curve_prime[ndigits - 1] == -1ull) {
921 vli_mmod_special(result, product, curve_prime,
924 } else if (curve_prime[ndigits - 1] == 1ull << 63 &&
925 curve_prime[ndigits - 2] == 0) {
926 vli_mmod_special2(result, product, curve_prime,
930 vli_mmod_barrett(result, product, curve_prime, ndigits);
936 vli_mmod_fast_192(result, product, curve_prime, tmp);
939 vli_mmod_fast_256(result, product, curve_prime, tmp);
942 vli_mmod_fast_384(result, product, curve_prime, tmp);
965 /* Computes result = (left * right) % curve_prime. */
975 /* Computes result = left^2 % curve_prime. */
1086 const u64 *curve_prime = curve->p;
1104 vli_mod_add(x1, x1, z1, curve_prime, ndigits);
1106 vli_mod_add(z1, z1, z1, curve_prime, ndigits);
1108 vli_mod_sub(z1, x1, z1, curve_prime, ndigits);
1113 vli_mod_add(z1, x1, x1, curve_prime, ndigits);
1115 vli_mod_add(x1, x1, z1, curve_prime, ndigits);
1117 u64 carry = vli_add(x1, x1, curve_prime, ndigits);
1129 vli_mod_sub(z1, z1, t5, curve_prime, ndigits);
1131 vli_mod_sub(z1, z1, t5, curve_prime, ndigits);
1133 vli_mod_sub(t5, t5, z1, curve_prime, ndigits);
1137 vli_mod_sub(t4, x1, t4, curve_prime, ndigits);
1187 const u64 *curve_prime = curve->p;
1191 vli_mod_sub(t5, x2, x1, curve_prime, ndigits);
1199 vli_mod_sub(y2, y2, y1, curve_prime, ndigits);
1204 vli_mod_sub(t5, t5, x1, curve_prime, ndigits);
1206 vli_mod_sub(t5, t5, x2, curve_prime, ndigits);
1208 vli_mod_sub(x2, x2, x1, curve_prime, ndigits);
1212 vli_mod_sub(x2, x1, t5, curve_prime, ndigits);
1216 vli_mod_sub(y2, y2, y1, curve_prime, ndigits);
1232 const u64 *curve_prime = curve->p;
1236 vli_mod_sub(t5, x2, x1, curve_prime, ndigits);
1244 vli_mod_add(t5, y2, y1, curve_prime, ndigits);
1246 vli_mod_sub(y2, y2, y1, curve_prime, ndigits);
1249 vli_mod_sub(t6, x2, x1, curve_prime, ndigits);
1253 vli_mod_add(t6, x1, x2, curve_prime, ndigits);
1257 vli_mod_sub(x2, x2, t6, curve_prime, ndigits);
1260 vli_mod_sub(t7, x1, x2, curve_prime, ndigits);
1264 vli_mod_sub(y2, y2, y1, curve_prime, ndigits);
1269 vli_mod_sub(t7, t7, t6, curve_prime, ndigits);
1271 vli_mod_sub(t6, t7, x1, curve_prime, ndigits);
1275 vli_mod_sub(y1, t6, y1, curve_prime, ndigits);
1290 u64 *curve_prime = curve->p;
1316 vli_mod_sub(z, rx[1], rx[0], curve_prime, ndigits);
1323 vli_mod_inv(z, z, curve_prime, point->ndigits);