Lines Matching refs:c

30 void multiprecision_init(uint32_t* c) {  in multiprecision_init()  argument
31 for (uint32_t i = 0; i < KEY_LENGTH_DWORDS_P256; i++) c[i] = 0; in multiprecision_init()
34 void multiprecision_copy(uint32_t* c, uint32_t* a) { in multiprecision_copy() argument
35 for (uint32_t i = 0; i < KEY_LENGTH_DWORDS_P256; i++) c[i] = a[i]; in multiprecision_copy()
78 uint32_t multiprecision_add(uint32_t* c, uint32_t* a, uint32_t* b) { in multiprecision_add() argument
88 c[i] = temp; in multiprecision_add()
95 uint32_t multiprecision_sub(uint32_t* c, uint32_t* a, uint32_t* b) { in multiprecision_sub() argument
103 c[i] = temp - b[i]; in multiprecision_sub()
104 borrow |= (c[i] > temp); in multiprecision_sub()
111 void multiprecision_lshift_mod(uint32_t* c, uint32_t* a) { in multiprecision_lshift_mod() argument
115 carrier = multiprecision_lshift(c, a); in multiprecision_lshift_mod()
117 multiprecision_sub(c, c, modp); in multiprecision_lshift_mod()
118 } else if (multiprecision_compare(c, modp) >= 0) { in multiprecision_lshift_mod()
119 multiprecision_sub(c, c, modp); in multiprecision_lshift_mod()
124 void multiprecision_rshift(uint32_t* c, uint32_t* a) { in multiprecision_rshift() argument
134 c[i] = (temp >> b) | carrier; in multiprecision_rshift()
141 void multiprecision_mersenns_mult_mod(uint32_t* c, uint32_t* a, uint32_t* b) { in multiprecision_mersenns_mult_mod() argument
145 multiprecision_fast_mod_P256(c, cc); in multiprecision_mersenns_mult_mod()
149 void multiprecision_mersenns_squa_mod(uint32_t* c, uint32_t* a) { in multiprecision_mersenns_squa_mod() argument
150 multiprecision_mersenns_mult_mod(c, a, a); in multiprecision_mersenns_squa_mod()
154 void multiprecision_add_mod(uint32_t* c, uint32_t* a, uint32_t* b) { in multiprecision_add_mod() argument
158 carrier = multiprecision_add(c, a, b); in multiprecision_add_mod()
160 multiprecision_sub(c, c, modp); in multiprecision_add_mod()
161 } else if (multiprecision_compare(c, modp) >= 0) { in multiprecision_add_mod()
162 multiprecision_sub(c, c, modp); in multiprecision_add_mod()
167 void multiprecision_sub_mod(uint32_t* c, uint32_t* a, uint32_t* b) { in multiprecision_sub_mod() argument
171 borrow = multiprecision_sub(c, a, b); in multiprecision_sub_mod()
172 if (borrow) multiprecision_add(c, c, modp); in multiprecision_sub_mod()
176 uint32_t multiprecision_lshift(uint32_t* c, uint32_t* a) { in multiprecision_lshift() argument
186 c[i] = (temp << b) | carrier; in multiprecision_lshift()
194 void multiprecision_mult(uint32_t* c, uint32_t* a, uint32_t* b) { in multiprecision_mult() argument
200 multiprecision_init(c); in multiprecision_mult()
213 V = V + c[i + j]; in multiprecision_mult()
214 U += (V < c[i + j]); in multiprecision_mult()
215 c[i + j] = V; in multiprecision_mult()
217 c[i + KEY_LENGTH_DWORDS_P256] = U; in multiprecision_mult()
221 void multiprecision_fast_mod_P256(uint32_t* c, uint32_t* a) { in multiprecision_fast_mod_P256() argument
283 c[0] = a[0]; in multiprecision_fast_mod_P256()
284 c[0] += E; in multiprecision_fast_mod_P256()
285 U = (c[0] < E); in multiprecision_fast_mod_P256()
287 U -= (c[0] < A); in multiprecision_fast_mod_P256()
289 c[0] -= A; in multiprecision_fast_mod_P256()
295 c[1] = a[1] - UU; in multiprecision_fast_mod_P256()
297 c[1] = a[1] + U; in multiprecision_fast_mod_P256()
298 U = (c[1] < a[1]); in multiprecision_fast_mod_P256()
301 c[1] += F; in multiprecision_fast_mod_P256()
302 U += (c[1] < F); in multiprecision_fast_mod_P256()
304 U -= (c[1] < B); in multiprecision_fast_mod_P256()
306 c[1] -= B; in multiprecision_fast_mod_P256()
312 c[2] = a[2] - UU; in multiprecision_fast_mod_P256()
314 c[2] = a[2] + U; in multiprecision_fast_mod_P256()
315 U = (c[2] < a[2]); in multiprecision_fast_mod_P256()
318 c[2] += G; in multiprecision_fast_mod_P256()
319 U += (c[2] < G); in multiprecision_fast_mod_P256()
321 U -= (c[2] < C); in multiprecision_fast_mod_P256()
323 c[2] -= C; in multiprecision_fast_mod_P256()
329 c[3] = a[3] - UU; in multiprecision_fast_mod_P256()
331 c[3] = a[3] + U; in multiprecision_fast_mod_P256()
332 U = (c[3] < a[3]); in multiprecision_fast_mod_P256()
335 c[3] += A; in multiprecision_fast_mod_P256()
336 U += (c[3] < A); in multiprecision_fast_mod_P256()
338 c[3] += a[11]; in multiprecision_fast_mod_P256()
339 U += (c[3] < a[11]); in multiprecision_fast_mod_P256()
340 c[3] += a[12]; in multiprecision_fast_mod_P256()
341 U += (c[3] < a[12]); in multiprecision_fast_mod_P256()
342 U -= (c[3] < a[14]); in multiprecision_fast_mod_P256()
343 c[3] -= a[14]; in multiprecision_fast_mod_P256()
344 U -= (c[3] < a[15]); in multiprecision_fast_mod_P256()
345 c[3] -= a[15]; in multiprecision_fast_mod_P256()
346 U -= (c[3] < E); in multiprecision_fast_mod_P256()
348 c[3] -= E; in multiprecision_fast_mod_P256()
354 c[4] = a[4] - UU; in multiprecision_fast_mod_P256()
356 c[4] = a[4] + U; in multiprecision_fast_mod_P256()
357 U = (c[4] < a[4]); in multiprecision_fast_mod_P256()
360 c[4] += B; in multiprecision_fast_mod_P256()
361 U += (c[4] < B); in multiprecision_fast_mod_P256()
363 U -= (c[4] < a[15]); in multiprecision_fast_mod_P256()
364 c[4] -= a[15]; in multiprecision_fast_mod_P256()
365 c[4] += a[12]; in multiprecision_fast_mod_P256()
366 U += (c[4] < a[12]); in multiprecision_fast_mod_P256()
367 c[4] += a[13]; in multiprecision_fast_mod_P256()
368 U += (c[4] < a[13]); in multiprecision_fast_mod_P256()
369 U -= (c[4] < F); in multiprecision_fast_mod_P256()
371 c[4] -= F; in multiprecision_fast_mod_P256()
377 c[5] = a[5] - UU; in multiprecision_fast_mod_P256()
379 c[5] = a[5] + U; in multiprecision_fast_mod_P256()
380 U = (c[5] < a[5]); in multiprecision_fast_mod_P256()
383 c[5] += C; in multiprecision_fast_mod_P256()
384 U += (c[5] < C); in multiprecision_fast_mod_P256()
386 c[5] += a[13]; in multiprecision_fast_mod_P256()
387 U += (c[5] < a[13]); in multiprecision_fast_mod_P256()
388 c[5] += a[14]; in multiprecision_fast_mod_P256()
389 U += (c[5] < a[14]); in multiprecision_fast_mod_P256()
390 U -= (c[5] < G); in multiprecision_fast_mod_P256()
392 c[5] -= G; in multiprecision_fast_mod_P256()
398 c[6] = a[6] - UU; in multiprecision_fast_mod_P256()
400 c[6] = a[6] + U; in multiprecision_fast_mod_P256()
401 U = (c[6] < a[6]); in multiprecision_fast_mod_P256()
404 c[6] += C; in multiprecision_fast_mod_P256()
405 U += (c[6] < C); in multiprecision_fast_mod_P256()
407 c[6] += a[14]; in multiprecision_fast_mod_P256()
408 U += (c[6] < a[14]); in multiprecision_fast_mod_P256()
409 c[6] += a[14]; in multiprecision_fast_mod_P256()
410 U += (c[6] < a[14]); in multiprecision_fast_mod_P256()
411 c[6] += a[15]; in multiprecision_fast_mod_P256()
412 U += (c[6] < a[15]); in multiprecision_fast_mod_P256()
413 U -= (c[6] < E); in multiprecision_fast_mod_P256()
415 c[6] -= E; in multiprecision_fast_mod_P256()
421 c[7] = a[7] - UU; in multiprecision_fast_mod_P256()
423 c[7] = a[7] + U; in multiprecision_fast_mod_P256()
424 U = (c[7] < a[7]); in multiprecision_fast_mod_P256()
427 c[7] += a[15]; in multiprecision_fast_mod_P256()
428 U += (c[7] < a[15]); in multiprecision_fast_mod_P256()
429 c[7] += a[15]; in multiprecision_fast_mod_P256()
430 U += (c[7] < a[15]); in multiprecision_fast_mod_P256()
431 c[7] += a[15]; in multiprecision_fast_mod_P256()
432 U += (c[7] < a[15]); in multiprecision_fast_mod_P256()
433 c[7] += a[8]; in multiprecision_fast_mod_P256()
434 U += (c[7] < a[8]); in multiprecision_fast_mod_P256()
435 U -= (c[7] < D); in multiprecision_fast_mod_P256()
437 c[7] -= D; in multiprecision_fast_mod_P256()
441 multiprecision_add(c, c, modp); in multiprecision_fast_mod_P256()
446 multiprecision_sub(c, c, modp); in multiprecision_fast_mod_P256()
451 if (multiprecision_compare(c, modp) >= 0) multiprecision_sub(c, c, modp); in multiprecision_fast_mod_P256()