Lines Matching refs:a

7  * the License. You may obtain a copy of the License at
34 * the provisions above, a recipient may use your version of this file under
55 /* Fast modular reduction for p384 = 2^384 - 2^128 - 2^96 + 2^32 - 1. a can be r.
59 ec_GFp_nistp384_mod(const mp_int *a, mp_int *r, const GFMethod *meth)
62 int a_bits = mpl_significant_bits(a);
90 MP_CHECKOK(mp_mod(a, &meth->irr, r));
93 s[0][i] = MP_DIGIT(a, i);
99 s[1][4] = MP_DIGIT(a, 21);
100 s[1][5] = MP_DIGIT(a, 22);
101 s[1][6] = MP_DIGIT(a, 23);
108 s[2][i] = MP_DIGIT(a, i+12);
110 s[3][0] = MP_DIGIT(a, 21);
111 s[3][1] = MP_DIGIT(a, 22);
112 s[3][2] = MP_DIGIT(a, 23);
114 s[3][i] = MP_DIGIT(a, i+9);
117 s[4][1] = MP_DIGIT(a, 23);
119 s[4][3] = MP_DIGIT(a, 20);
121 s[4][i] = MP_DIGIT(a, i+8);
127 s[5][4] = MP_DIGIT(a, 20);
128 s[5][5] = MP_DIGIT(a, 21);
129 s[5][6] = MP_DIGIT(a, 22);
130 s[5][7] = MP_DIGIT(a, 23);
135 s[6][0] = MP_DIGIT(a, 20);
138 s[6][3] = MP_DIGIT(a, 21);
139 s[6][4] = MP_DIGIT(a, 22);
140 s[6][5] = MP_DIGIT(a, 23);
147 s[7][0] = MP_DIGIT(a, 23);
149 s[7][i] = MP_DIGIT(a, i+11);
152 s[8][1] = MP_DIGIT(a, 20);
153 s[8][2] = MP_DIGIT(a, 21);
154 s[8][3] = MP_DIGIT(a, 22);
155 s[8][4] = MP_DIGIT(a, 23);
166 s[9][3] = MP_DIGIT(a, 23);
167 s[9][4] = MP_DIGIT(a, 23);
192 MP_CHECKOK(mp_mod(a, &meth->irr, r));
195 s[0][i] = MP_DIGIT(a, i);
199 s[1][2] = (MP_DIGIT(a, 10) >> 32) | (MP_DIGIT(a, 11) << 32);
200 s[1][3] = MP_DIGIT(a, 11) >> 32;
204 s[2][i] = MP_DIGIT(a, i+6);
206 s[3][0] = (MP_DIGIT(a, 10) >> 32) | (MP_DIGIT(a, 11) << 32);
207 s[3][1] = (MP_DIGIT(a, 11) >> 32) | (MP_DIGIT(a, 6) << 32);
209 s[3][i] = (MP_DIGIT(a, i+4) >> 32) | (MP_DIGIT(a, i+5) << 32);
211 s[4][0] = (MP_DIGIT(a, 11) >> 32) << 32;
212 s[4][1] = MP_DIGIT(a, 10) << 32;
214 s[4][i] = MP_DIGIT(a, i+4);
218 s[5][2] = MP_DIGIT(a, 10);
219 s[5][3] = MP_DIGIT(a, 11);
222 s[6][0] = (MP_DIGIT(a, 10) << 32) >> 32;
223 s[6][1] = (MP_DIGIT(a, 10) >> 32) << 32;
224 s[6][2] = MP_DIGIT(a, 11);
228 s[7][0] = (MP_DIGIT(a, 11) >> 32) | (MP_DIGIT(a, 6) << 32);
230 s[7][i] = (MP_DIGIT(a, i+5) >> 32) | (MP_DIGIT(a, i+6) << 32);
232 s[8][0] = MP_DIGIT(a, 10) << 32;
233 s[8][1] = (MP_DIGIT(a, 10) >> 32) | (MP_DIGIT(a, 11) << 32);
234 s[8][2] = MP_DIGIT(a, 11) >> 32;
239 s[9][1] = (MP_DIGIT(a, 11) >> 32) << 32;
240 s[9][2] = MP_DIGIT(a, 11) >> 32;
263 /* Compute the square of polynomial a, reduce modulo p384. Store the
264 * result in r. r could be a. Uses optimized modular reduction for p384.
267 ec_GFp_nistp384_sqr(const mp_int *a, mp_int *r, const GFMethod *meth)
271 MP_CHECKOK(mp_sqr(a, r));
277 /* Compute the product of two polynomials a and b, reduce modulo p384.
278 * Store the result in r. r could be a or b; a could be b. Uses
281 ec_GFp_nistp384_mul(const mp_int *a, const mp_int *b, mp_int *r,
286 MP_CHECKOK(mp_mul(a, b, r));