Lines Matching refs:u64
40 u64 x[NUM_ECC_DIGITS];
41 u64 y[NUM_ECC_DIGITS];
45 u64 m_low;
46 u64 m_high;
62 static u64 curve_p[NUM_ECC_DIGITS] = CURVE_P_32;
64 static u64 curve_n[NUM_ECC_DIGITS] = CURVE_N_32;
66 static void vli_clear(u64 *vli) in vli_clear()
75 static bool vli_is_zero(const u64 *vli) in vli_is_zero()
88 static u64 vli_test_bit(const u64 *vli, unsigned int bit) in vli_test_bit()
90 return (vli[bit / 64] & ((u64) 1 << (bit % 64))); in vli_test_bit()
94 static unsigned int vli_num_digits(const u64 *vli) in vli_num_digits()
108 static unsigned int vli_num_bits(const u64 *vli) in vli_num_bits()
111 u64 digit; in vli_num_bits()
125 static void vli_set(u64 *dest, const u64 *src) in vli_set()
134 static int vli_cmp(const u64 *left, const u64 *right) in vli_cmp()
151 static u64 vli_lshift(u64 *result, const u64 *in, in vli_lshift()
154 u64 carry = 0; in vli_lshift()
158 u64 temp = in[i]; in vli_lshift()
168 static void vli_rshift1(u64 *vli) in vli_rshift1()
170 u64 *end = vli; in vli_rshift1()
171 u64 carry = 0; in vli_rshift1()
176 u64 temp = *vli; in vli_rshift1()
183 static u64 vli_add(u64 *result, const u64 *left, in vli_add()
184 const u64 *right) in vli_add()
186 u64 carry = 0; in vli_add()
190 u64 sum; in vli_add()
203 static u64 vli_sub(u64 *result, const u64 *left, const u64 *right) in vli_sub()
205 u64 borrow = 0; in vli_sub()
209 u64 diff; in vli_sub()
221 static uint128_t mul_64_64(u64 left, u64 right) in mul_64_64()
223 u64 a0 = left & 0xffffffffull; in mul_64_64()
224 u64 a1 = left >> 32; in mul_64_64()
225 u64 b0 = right & 0xffffffffull; in mul_64_64()
226 u64 b1 = right >> 32; in mul_64_64()
227 u64 m0 = a0 * b0; in mul_64_64()
228 u64 m1 = a0 * b1; in mul_64_64()
229 u64 m2 = a1 * b0; in mul_64_64()
230 u64 m3 = a1 * b1; in mul_64_64()
256 static void vli_mult(u64 *result, const u64 *left, const u64 *right) in vli_mult()
259 u64 r2 = 0; in vli_mult()
291 static void vli_square(u64 *result, const u64 *left) in vli_square()
294 u64 r2 = 0; in vli_square()
333 static void vli_mod_add(u64 *result, const u64 *left, const u64 *right, in vli_mod_add()
334 const u64 *mod) in vli_mod_add()
336 u64 carry; in vli_mod_add()
350 static void vli_mod_sub(u64 *result, const u64 *left, const u64 *right, in vli_mod_sub()
351 const u64 *mod) in vli_mod_sub()
353 u64 borrow = vli_sub(result, left, right); in vli_mod_sub()
365 static void vli_mmod_fast(u64 *result, const u64 *product) in vli_mmod_fast()
367 u64 tmp[NUM_ECC_DIGITS]; in vli_mmod_fast()
441 static void vli_mod_mult_fast(u64 *result, const u64 *left, const u64 *right) in vli_mod_mult_fast()
443 u64 product[2 * NUM_ECC_DIGITS]; in vli_mod_mult_fast()
450 static void vli_mod_square_fast(u64 *result, const u64 *left) in vli_mod_square_fast()
452 u64 product[2 * NUM_ECC_DIGITS]; in vli_mod_square_fast()
463 static void vli_mod_inv(u64 *result, const u64 *input, const u64 *mod) in vli_mod_inv()
465 u64 a[NUM_ECC_DIGITS], b[NUM_ECC_DIGITS]; in vli_mod_inv()
466 u64 u[NUM_ECC_DIGITS], v[NUM_ECC_DIGITS]; in vli_mod_inv()
467 u64 carry; in vli_mod_inv()
549 static void ecc_point_double_jacobian(u64 *x1, u64 *y1, u64 *z1) in ecc_point_double_jacobian()
552 u64 t4[NUM_ECC_DIGITS]; in ecc_point_double_jacobian()
553 u64 t5[NUM_ECC_DIGITS]; in ecc_point_double_jacobian()
572 u64 carry = vli_add(x1, x1, curve_p); in ecc_point_double_jacobian()
593 static void apply_z(u64 *x1, u64 *y1, u64 *z) in apply_z()
595 u64 t1[NUM_ECC_DIGITS]; in apply_z()
604 static void xycz_initial_double(u64 *x1, u64 *y1, u64 *x2, u64 *y2, in xycz_initial_double()
605 u64 *p_initial_z) in xycz_initial_double()
607 u64 z[NUM_ECC_DIGITS]; in xycz_initial_double()
629 static void xycz_add(u64 *x1, u64 *y1, u64 *x2, u64 *y2) in xycz_add()
632 u64 t5[NUM_ECC_DIGITS]; in xycz_add()
656 static void xycz_add_c(u64 *x1, u64 *y1, u64 *x2, u64 *y2) in xycz_add_c()
659 u64 t5[NUM_ECC_DIGITS]; in xycz_add_c()
660 u64 t6[NUM_ECC_DIGITS]; in xycz_add_c()
661 u64 t7[NUM_ECC_DIGITS]; in xycz_add_c()
690 const struct ecc_point *point, u64 *scalar, in ecc_point_mult()
691 u64 *initial_z, int num_bits) in ecc_point_mult()
694 u64 rx[2][NUM_ECC_DIGITS]; in ecc_point_mult()
695 u64 ry[2][NUM_ECC_DIGITS]; in ecc_point_mult()
696 u64 z[NUM_ECC_DIGITS]; in ecc_point_mult()
731 u64 native[NUM_ECC_DIGITS]) in ecc_bytes2native()
739 ((u64) digit[0] << 0) | in ecc_bytes2native()
740 ((u64) digit[1] << 8) | in ecc_bytes2native()
741 ((u64) digit[2] << 16) | in ecc_bytes2native()
742 ((u64) digit[3] << 24) | in ecc_bytes2native()
743 ((u64) digit[4] << 32) | in ecc_bytes2native()
744 ((u64) digit[5] << 40) | in ecc_bytes2native()
745 ((u64) digit[6] << 48) | in ecc_bytes2native()
746 ((u64) digit[7] << 56); in ecc_bytes2native()
750 static void ecc_native2bytes(const u64 native[NUM_ECC_DIGITS], in ecc_native2bytes()
772 u64 priv[NUM_ECC_DIGITS]; in ecc_make_key()
801 u64 priv[NUM_ECC_DIGITS]; in ecdh_shared_secret()
802 u64 rand[NUM_ECC_DIGITS]; in ecdh_shared_secret()