Lines Matching refs:P256_LIMBS
49 #define P256_LIMBS (256/BN_BITS2)
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)
187 if (P256_LIMBS == 8) {
203 static BN_ULONG is_equal(const BN_ULONG a[P256_LIMBS],
204 const BN_ULONG b[P256_LIMBS])
212 if (P256_LIMBS == 8) {
227 if (bn_get_top(z) == (P256_LIMBS - P256_LIMBS / 8)) {
232 if (P256_LIMBS == 8) {
268 BN_ULONG S[P256_LIMBS];
269 BN_ULONG M[P256_LIMBS];
270 BN_ULONG Zsqr[P256_LIMBS];
271 BN_ULONG tmp0[P256_LIMBS];
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];
342 if (P256_LIMBS == 8)
346 if (P256_LIMBS == 8)
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];
470 if (P256_LIMBS == 8)
479 if (P256_LIMBS == 8)
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],
612 return bn_copy_words(out, in, P256_LIMBS);
790 static const BN_ULONG def_xG[P256_LIMBS] = {
795 static const BN_ULONG def_yG[P256_LIMBS] = {
806 return (bn_get_top(generator->X) == P256_LIMBS) &&
807 (bn_get_top(generator->Y) == P256_LIMBS) &&
943 if ((ret = bn_set_words(out->X, in->X, P256_LIMBS))
944 && (ret = bn_set_words(out->Y, in->Y, P256_LIMBS))
945 && (ret = bn_set_words(out->Z, ONE, P256_LIMBS)))
1079 if (P256_LIMBS == 8)
1090 if (P256_LIMBS == 8) {
1160 if (!bn_set_words(r->X, p.p.X, P256_LIMBS) ||
1161 !bn_set_words(r->Y, p.p.Y, P256_LIMBS) ||
1162 !bn_set_words(r->Z, p.p.Z, P256_LIMBS)) {
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];
1205 if (!bn_set_words(x, x_ret, P256_LIMBS))
1213 if (!bn_set_words(y, 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],
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];
1328 if (bn_wexpand(r, P256_LIMBS) == NULL) {
1459 if (!bn_set_words(r, out, P256_LIMBS))