Lines Matching refs:BN_ULONG

37 # define TOBN(hi,lo)    ((BN_ULONG)hi<<32|lo)
54 BN_ULONG X[P256_LIMBS];
55 BN_ULONG Y[P256_LIMBS];
56 BN_ULONG Z[P256_LIMBS];
60 BN_ULONG X[P256_LIMBS];
61 BN_ULONG Y[P256_LIMBS];
99 void ecp_nistz256_add(BN_ULONG res[P256_LIMBS],
100 const BN_ULONG a[P256_LIMBS],
101 const BN_ULONG b[P256_LIMBS]);
103 void ecp_nistz256_mul_by_2(BN_ULONG res[P256_LIMBS],
104 const BN_ULONG a[P256_LIMBS]);
106 void ecp_nistz256_mul_by_3(BN_ULONG res[P256_LIMBS],
107 const BN_ULONG a[P256_LIMBS]);
110 void ecp_nistz256_div_by_2(BN_ULONG res[P256_LIMBS],
111 const BN_ULONG a[P256_LIMBS]);
113 void ecp_nistz256_sub(BN_ULONG res[P256_LIMBS],
114 const BN_ULONG a[P256_LIMBS],
115 const BN_ULONG b[P256_LIMBS]);
117 void ecp_nistz256_neg(BN_ULONG res[P256_LIMBS], const BN_ULONG a[P256_LIMBS]);
119 void ecp_nistz256_mul_mont(BN_ULONG res[P256_LIMBS],
120 const BN_ULONG a[P256_LIMBS],
121 const BN_ULONG b[P256_LIMBS]);
123 void ecp_nistz256_sqr_mont(BN_ULONG res[P256_LIMBS],
124 const BN_ULONG a[P256_LIMBS]);
126 void ecp_nistz256_from_mont(BN_ULONG res[P256_LIMBS],
127 const BN_ULONG in[P256_LIMBS]);
129 void ecp_nistz256_to_mont(BN_ULONG res[P256_LIMBS],
130 const BN_ULONG in[P256_LIMBS]);
142 static const BN_ULONG ONE[P256_LIMBS] = {
177 static void copy_conditional(BN_ULONG dst[P256_LIMBS],
178 const BN_ULONG src[P256_LIMBS], BN_ULONG move)
180 BN_ULONG mask1 = 0-move;
181 BN_ULONG mask2 = ~mask1;
195 static BN_ULONG is_zero(BN_ULONG in)
203 static BN_ULONG is_equal(const BN_ULONG a[P256_LIMBS],
204 const BN_ULONG b[P256_LIMBS])
206 BN_ULONG res;
222 static BN_ULONG is_one(const BIGNUM *z)
224 BN_ULONG res = 0;
225 BN_ULONG *a = bn_get_words(z);
268 BN_ULONG S[P256_LIMBS];
269 BN_ULONG M[P256_LIMBS];
270 BN_ULONG Zsqr[P256_LIMBS];
271 BN_ULONG tmp0[P256_LIMBS];
273 const BN_ULONG *in_x = a->X;
274 const BN_ULONG *in_y = a->Y;
275 const BN_ULONG *in_z = a->Z;
277 BN_ULONG *res_x = r->X;
278 BN_ULONG *res_y = r->Y;
279 BN_ULONG *res_z = r->Z;
315 BN_ULONG U2[P256_LIMBS], S2[P256_LIMBS];
316 BN_ULONG U1[P256_LIMBS], S1[P256_LIMBS];
317 BN_ULONG Z1sqr[P256_LIMBS];
318 BN_ULONG Z2sqr[P256_LIMBS];
319 BN_ULONG H[P256_LIMBS], R[P256_LIMBS];
320 BN_ULONG Hsqr[P256_LIMBS];
321 BN_ULONG Rsqr[P256_LIMBS];
322 BN_ULONG Hcub[P256_LIMBS];
324 BN_ULONG res_x[P256_LIMBS];
325 BN_ULONG res_y[P256_LIMBS];
326 BN_ULONG res_z[P256_LIMBS];
328 BN_ULONG in1infty, in2infty;
330 const BN_ULONG *in1_x = a->X;
331 const BN_ULONG *in1_y = a->Y;
332 const BN_ULONG *in1_z = a->Z;
334 const BN_ULONG *in2_x = b->X;
335 const BN_ULONG *in2_y = b->Y;
336 const BN_ULONG *in2_z = b->Z;
446 BN_ULONG U2[P256_LIMBS], S2[P256_LIMBS];
447 BN_ULONG Z1sqr[P256_LIMBS];
448 BN_ULONG H[P256_LIMBS], R[P256_LIMBS];
449 BN_ULONG Hsqr[P256_LIMBS];
450 BN_ULONG Rsqr[P256_LIMBS];
451 BN_ULONG Hcub[P256_LIMBS];
453 BN_ULONG res_x[P256_LIMBS];
454 BN_ULONG res_y[P256_LIMBS];
455 BN_ULONG res_z[P256_LIMBS];
457 BN_ULONG in1infty, in2infty;
459 const BN_ULONG *in1_x = a->X;
460 const BN_ULONG *in1_y = a->Y;
461 const BN_ULONG *in1_z = a->Z;
463 const BN_ULONG *in2_x = b->X;
464 const BN_ULONG *in2_y = b->Y;
529 static void ecp_nistz256_mod_inverse(BN_ULONG r[P256_LIMBS],
530 const BN_ULONG in[P256_LIMBS])
536 BN_ULONG p2[P256_LIMBS];
537 BN_ULONG p4[P256_LIMBS];
538 BN_ULONG p8[P256_LIMBS];
539 BN_ULONG p16[P256_LIMBS];
540 BN_ULONG p32[P256_LIMBS];
541 BN_ULONG res[P256_LIMBS];
609 __owur static int ecp_nistz256_bignum_to_field_elem(BN_ULONG out[P256_LIMBS],
665 BN_ULONG d = bn_get_words(scalars[i])[j / BN_BYTES];
790 static const BN_ULONG def_xG[P256_LIMBS] = {
795 static const BN_ULONG def_yG[P256_LIMBS] = {
1027 BN_ULONG infty;
1042 BN_ULONG d = bn_get_words(scalar)[i / BN_BYTES];
1180 BN_ULONG z_inv2[P256_LIMBS];
1181 BN_ULONG z_inv3[P256_LIMBS];
1182 BN_ULONG x_aff[P256_LIMBS];
1183 BN_ULONG y_aff[P256_LIMBS];
1184 BN_ULONG point_x[P256_LIMBS], point_y[P256_LIMBS], point_z[P256_LIMBS];
1185 BN_ULONG x_ret[P256_LIMBS], y_ret[P256_LIMBS];
1294 void ecp_nistz256_ord_mul_mont(BN_ULONG res[P256_LIMBS],
1295 const BN_ULONG a[P256_LIMBS],
1296 const BN_ULONG b[P256_LIMBS]);
1297 void ecp_nistz256_ord_sqr_mont(BN_ULONG res[P256_LIMBS],
1298 const BN_ULONG a[P256_LIMBS],
1299 BN_ULONG rep);
1305 static const BN_ULONG RR[P256_LIMBS] = {
1310 static const BN_ULONG one[P256_LIMBS] = {
1317 BN_ULONG table[15][P256_LIMBS];
1318 BN_ULONG out[P256_LIMBS], t[P256_LIMBS];