143
|
1 #if !(defined(LTM1) && defined(LTM2) && defined(LTM3)) |
|
2 #if defined(LTM2) |
|
3 #define LTM3 |
|
4 #endif |
|
5 #if defined(LTM1) |
|
6 #define LTM2 |
|
7 #endif |
|
8 #define LTM1 |
|
9 |
|
10 #if defined(LTM_ALL) |
|
11 #define BN_ERROR_C |
|
12 #define BN_FAST_MP_INVMOD_C |
|
13 #define BN_FAST_MP_MONTGOMERY_REDUCE_C |
|
14 #define BN_FAST_S_MP_MUL_DIGS_C |
|
15 #define BN_FAST_S_MP_MUL_HIGH_DIGS_C |
|
16 #define BN_FAST_S_MP_SQR_C |
|
17 #define BN_MP_2EXPT_C |
|
18 #define BN_MP_ABS_C |
|
19 #define BN_MP_ADD_C |
|
20 #define BN_MP_ADD_D_C |
|
21 #define BN_MP_ADDMOD_C |
|
22 #define BN_MP_AND_C |
|
23 #define BN_MP_CLAMP_C |
|
24 #define BN_MP_CLEAR_C |
|
25 #define BN_MP_CLEAR_MULTI_C |
|
26 #define BN_MP_CMP_C |
|
27 #define BN_MP_CMP_D_C |
|
28 #define BN_MP_CMP_MAG_C |
|
29 #define BN_MP_CNT_LSB_C |
|
30 #define BN_MP_COPY_C |
|
31 #define BN_MP_COUNT_BITS_C |
|
32 #define BN_MP_DIV_C |
|
33 #define BN_MP_DIV_2_C |
|
34 #define BN_MP_DIV_2D_C |
|
35 #define BN_MP_DIV_3_C |
|
36 #define BN_MP_DIV_D_C |
|
37 #define BN_MP_DR_IS_MODULUS_C |
|
38 #define BN_MP_DR_REDUCE_C |
|
39 #define BN_MP_DR_SETUP_C |
|
40 #define BN_MP_EXCH_C |
|
41 #define BN_MP_EXPT_D_C |
|
42 #define BN_MP_EXPTMOD_C |
|
43 #define BN_MP_EXPTMOD_FAST_C |
|
44 #define BN_MP_EXTEUCLID_C |
|
45 #define BN_MP_FREAD_C |
|
46 #define BN_MP_FWRITE_C |
|
47 #define BN_MP_GCD_C |
|
48 #define BN_MP_GET_INT_C |
|
49 #define BN_MP_GROW_C |
|
50 #define BN_MP_INIT_C |
|
51 #define BN_MP_INIT_COPY_C |
|
52 #define BN_MP_INIT_MULTI_C |
|
53 #define BN_MP_INIT_SET_C |
|
54 #define BN_MP_INIT_SET_INT_C |
|
55 #define BN_MP_INIT_SIZE_C |
|
56 #define BN_MP_INVMOD_C |
|
57 #define BN_MP_INVMOD_SLOW_C |
|
58 #define BN_MP_IS_SQUARE_C |
|
59 #define BN_MP_JACOBI_C |
|
60 #define BN_MP_KARATSUBA_MUL_C |
|
61 #define BN_MP_KARATSUBA_SQR_C |
|
62 #define BN_MP_LCM_C |
|
63 #define BN_MP_LSHD_C |
|
64 #define BN_MP_MOD_C |
|
65 #define BN_MP_MOD_2D_C |
|
66 #define BN_MP_MOD_D_C |
|
67 #define BN_MP_MONTGOMERY_CALC_NORMALIZATION_C |
|
68 #define BN_MP_MONTGOMERY_REDUCE_C |
|
69 #define BN_MP_MONTGOMERY_SETUP_C |
|
70 #define BN_MP_MUL_C |
|
71 #define BN_MP_MUL_2_C |
|
72 #define BN_MP_MUL_2D_C |
|
73 #define BN_MP_MUL_D_C |
|
74 #define BN_MP_MULMOD_C |
|
75 #define BN_MP_N_ROOT_C |
|
76 #define BN_MP_NEG_C |
|
77 #define BN_MP_OR_C |
|
78 #define BN_MP_PRIME_FERMAT_C |
|
79 #define BN_MP_PRIME_IS_DIVISIBLE_C |
|
80 #define BN_MP_PRIME_IS_PRIME_C |
|
81 #define BN_MP_PRIME_MILLER_RABIN_C |
|
82 #define BN_MP_PRIME_NEXT_PRIME_C |
|
83 #define BN_MP_PRIME_RABIN_MILLER_TRIALS_C |
|
84 #define BN_MP_PRIME_RANDOM_EX_C |
|
85 #define BN_MP_RADIX_SIZE_C |
|
86 #define BN_MP_RADIX_SMAP_C |
|
87 #define BN_MP_RAND_C |
|
88 #define BN_MP_READ_RADIX_C |
|
89 #define BN_MP_READ_SIGNED_BIN_C |
|
90 #define BN_MP_READ_UNSIGNED_BIN_C |
|
91 #define BN_MP_REDUCE_C |
|
92 #define BN_MP_REDUCE_2K_C |
|
93 #define BN_MP_REDUCE_2K_SETUP_C |
|
94 #define BN_MP_REDUCE_IS_2K_C |
|
95 #define BN_MP_REDUCE_SETUP_C |
|
96 #define BN_MP_RSHD_C |
|
97 #define BN_MP_SET_C |
|
98 #define BN_MP_SET_INT_C |
|
99 #define BN_MP_SHRINK_C |
|
100 #define BN_MP_SIGNED_BIN_SIZE_C |
|
101 #define BN_MP_SQR_C |
|
102 #define BN_MP_SQRMOD_C |
|
103 #define BN_MP_SQRT_C |
|
104 #define BN_MP_SUB_C |
|
105 #define BN_MP_SUB_D_C |
|
106 #define BN_MP_SUBMOD_C |
|
107 #define BN_MP_TO_SIGNED_BIN_C |
|
108 #define BN_MP_TO_UNSIGNED_BIN_C |
|
109 #define BN_MP_TOOM_MUL_C |
|
110 #define BN_MP_TOOM_SQR_C |
|
111 #define BN_MP_TORADIX_C |
|
112 #define BN_MP_TORADIX_N_C |
|
113 #define BN_MP_UNSIGNED_BIN_SIZE_C |
|
114 #define BN_MP_XOR_C |
|
115 #define BN_MP_ZERO_C |
|
116 #define BN_PRIME_TAB_C |
|
117 #define BN_REVERSE_C |
|
118 #define BN_S_MP_ADD_C |
|
119 #define BN_S_MP_EXPTMOD_C |
|
120 #define BN_S_MP_MUL_DIGS_C |
|
121 #define BN_S_MP_MUL_HIGH_DIGS_C |
|
122 #define BN_S_MP_SQR_C |
|
123 #define BN_S_MP_SUB_C |
|
124 #define BNCORE_C |
|
125 #endif |
|
126 |
|
127 #if defined(BN_ERROR_C) |
|
128 #define BN_MP_ERROR_TO_STRING_C |
|
129 #endif |
|
130 |
|
131 #if defined(BN_FAST_MP_INVMOD_C) |
|
132 #define BN_MP_ISEVEN_C |
|
133 #define BN_MP_INIT_MULTI_C |
|
134 #define BN_MP_COPY_C |
|
135 #define BN_MP_ABS_C |
|
136 #define BN_MP_SET_C |
|
137 #define BN_MP_DIV_2_C |
|
138 #define BN_MP_ISODD_C |
|
139 #define BN_MP_SUB_C |
|
140 #define BN_MP_CMP_C |
|
141 #define BN_MP_ISZERO_C |
|
142 #define BN_MP_CMP_D_C |
|
143 #define BN_MP_ADD_C |
|
144 #define BN_MP_EXCH_C |
|
145 #define BN_MP_CLEAR_MULTI_C |
|
146 #endif |
|
147 |
|
148 #if defined(BN_FAST_MP_MONTGOMERY_REDUCE_C) |
|
149 #define BN_MP_MONTGOMERY_REDUCE_C |
|
150 #define BN_MP_GROW_C |
|
151 #define BN_MP_RSHD_C |
|
152 #define BN_MP_CLAMP_C |
|
153 #define BN_MP_CMP_MAG_C |
|
154 #define BN_S_MP_SUB_C |
|
155 #endif |
|
156 |
|
157 #if defined(BN_FAST_S_MP_MUL_DIGS_C) |
|
158 #define BN_MP_GROW_C |
|
159 #define BN_MP_CLAMP_C |
|
160 #endif |
|
161 |
|
162 #if defined(BN_FAST_S_MP_MUL_HIGH_DIGS_C) |
|
163 #define BN_FAST_S_MP_MUL_DIGS_C |
|
164 #define BN_MP_GROW_C |
|
165 #define BN_MP_CLAMP_C |
|
166 #endif |
|
167 |
|
168 #if defined(BN_FAST_S_MP_SQR_C) |
|
169 #define BN_MP_GROW_C |
|
170 #define BN_MP_CLAMP_C |
|
171 #endif |
|
172 |
|
173 #if defined(BN_MP_2EXPT_C) |
|
174 #define BN_MP_ZERO_C |
|
175 #define BN_MP_GROW_C |
|
176 #endif |
|
177 |
|
178 #if defined(BN_MP_ABS_C) |
|
179 #define BN_MP_COPY_C |
|
180 #endif |
|
181 |
|
182 #if defined(BN_MP_ADD_C) |
|
183 #define BN_S_MP_ADD_C |
|
184 #define BN_MP_CMP_MAG_C |
|
185 #define BN_S_MP_SUB_C |
|
186 #endif |
|
187 |
|
188 #if defined(BN_MP_ADD_D_C) |
|
189 #define BN_MP_GROW_C |
|
190 #define BN_MP_SUB_D_C |
|
191 #define BN_MP_CLAMP_C |
|
192 #endif |
|
193 |
|
194 #if defined(BN_MP_ADDMOD_C) |
|
195 #define BN_MP_INIT_C |
|
196 #define BN_MP_ADD_C |
|
197 #define BN_MP_CLEAR_C |
|
198 #define BN_MP_MOD_C |
|
199 #endif |
|
200 |
|
201 #if defined(BN_MP_AND_C) |
|
202 #define BN_MP_INIT_COPY_C |
|
203 #define BN_MP_CLAMP_C |
|
204 #define BN_MP_EXCH_C |
|
205 #define BN_MP_CLEAR_C |
|
206 #endif |
|
207 |
|
208 #if defined(BN_MP_CLAMP_C) |
|
209 #endif |
|
210 |
|
211 #if defined(BN_MP_CLEAR_C) |
|
212 #endif |
|
213 |
|
214 #if defined(BN_MP_CLEAR_MULTI_C) |
|
215 #define BN_MP_CLEAR_C |
|
216 #endif |
|
217 |
|
218 #if defined(BN_MP_CMP_C) |
|
219 #define BN_MP_CMP_MAG_C |
|
220 #endif |
|
221 |
|
222 #if defined(BN_MP_CMP_D_C) |
|
223 #endif |
|
224 |
|
225 #if defined(BN_MP_CMP_MAG_C) |
|
226 #endif |
|
227 |
|
228 #if defined(BN_MP_CNT_LSB_C) |
|
229 #define BN_MP_ISZERO_C |
|
230 #endif |
|
231 |
|
232 #if defined(BN_MP_COPY_C) |
|
233 #define BN_MP_GROW_C |
|
234 #endif |
|
235 |
|
236 #if defined(BN_MP_COUNT_BITS_C) |
|
237 #endif |
|
238 |
|
239 #if defined(BN_MP_DIV_C) |
|
240 #define BN_MP_ISZERO_C |
|
241 #define BN_MP_CMP_MAG_C |
|
242 #define BN_MP_COPY_C |
|
243 #define BN_MP_ZERO_C |
|
244 #define BN_MP_INIT_MULTI_C |
|
245 #define BN_MP_SET_C |
|
246 #define BN_MP_COUNT_BITS_C |
|
247 #define BN_MP_MUL_2D_C |
|
248 #define BN_MP_CMP_C |
|
249 #define BN_MP_SUB_C |
|
250 #define BN_MP_ADD_C |
|
251 #define BN_MP_DIV_2D_C |
|
252 #define BN_MP_EXCH_C |
|
253 #define BN_MP_CLEAR_MULTI_C |
|
254 #define BN_MP_INIT_SIZE_C |
|
255 #define BN_MP_INIT_C |
|
256 #define BN_MP_INIT_COPY_C |
|
257 #define BN_MP_LSHD_C |
|
258 #define BN_MP_RSHD_C |
|
259 #define BN_MP_MUL_D_C |
|
260 #define BN_MP_CLAMP_C |
|
261 #define BN_MP_CLEAR_C |
|
262 #endif |
|
263 |
|
264 #if defined(BN_MP_DIV_2_C) |
|
265 #define BN_MP_GROW_C |
|
266 #define BN_MP_CLAMP_C |
|
267 #endif |
|
268 |
|
269 #if defined(BN_MP_DIV_2D_C) |
|
270 #define BN_MP_COPY_C |
|
271 #define BN_MP_ZERO_C |
|
272 #define BN_MP_INIT_C |
|
273 #define BN_MP_MOD_2D_C |
|
274 #define BN_MP_CLEAR_C |
|
275 #define BN_MP_RSHD_C |
|
276 #define BN_MP_CLAMP_C |
|
277 #define BN_MP_EXCH_C |
|
278 #endif |
|
279 |
|
280 #if defined(BN_MP_DIV_3_C) |
|
281 #define BN_MP_INIT_SIZE_C |
|
282 #define BN_MP_CLAMP_C |
|
283 #define BN_MP_EXCH_C |
|
284 #define BN_MP_CLEAR_C |
|
285 #endif |
|
286 |
|
287 #if defined(BN_MP_DIV_D_C) |
|
288 #define BN_MP_ISZERO_C |
|
289 #define BN_MP_COPY_C |
|
290 #define BN_MP_DIV_2D_C |
|
291 #define BN_MP_DIV_3_C |
|
292 #define BN_MP_INIT_SIZE_C |
|
293 #define BN_MP_CLAMP_C |
|
294 #define BN_MP_EXCH_C |
|
295 #define BN_MP_CLEAR_C |
|
296 #endif |
|
297 |
|
298 #if defined(BN_MP_DR_IS_MODULUS_C) |
|
299 #endif |
|
300 |
|
301 #if defined(BN_MP_DR_REDUCE_C) |
|
302 #define BN_MP_GROW_C |
|
303 #define BN_MP_CLAMP_C |
|
304 #define BN_MP_CMP_MAG_C |
|
305 #define BN_S_MP_SUB_C |
|
306 #endif |
|
307 |
|
308 #if defined(BN_MP_DR_SETUP_C) |
|
309 #endif |
|
310 |
|
311 #if defined(BN_MP_EXCH_C) |
|
312 #endif |
|
313 |
|
314 #if defined(BN_MP_EXPT_D_C) |
|
315 #define BN_MP_INIT_COPY_C |
|
316 #define BN_MP_SET_C |
|
317 #define BN_MP_SQR_C |
|
318 #define BN_MP_CLEAR_C |
|
319 #define BN_MP_MUL_C |
|
320 #endif |
|
321 |
|
322 #if defined(BN_MP_EXPTMOD_C) |
|
323 #define BN_MP_INIT_C |
|
324 #define BN_MP_INVMOD_C |
|
325 #define BN_MP_CLEAR_C |
|
326 #define BN_MP_ABS_C |
|
327 #define BN_MP_CLEAR_MULTI_C |
|
328 #define BN_MP_DR_IS_MODULUS_C |
|
329 #define BN_MP_REDUCE_IS_2K_C |
|
330 #define BN_MP_ISODD_C |
|
331 #define BN_MP_EXPTMOD_FAST_C |
|
332 #define BN_S_MP_EXPTMOD_C |
|
333 #endif |
|
334 |
|
335 #if defined(BN_MP_EXPTMOD_FAST_C) |
|
336 #define BN_MP_COUNT_BITS_C |
|
337 #define BN_MP_INIT_C |
|
338 #define BN_MP_CLEAR_C |
|
339 #define BN_MP_MONTGOMERY_SETUP_C |
|
340 #define BN_FAST_MP_MONTGOMERY_REDUCE_C |
|
341 #define BN_MP_MONTGOMERY_REDUCE_C |
|
342 #define BN_MP_DR_SETUP_C |
|
343 #define BN_MP_DR_REDUCE_C |
|
344 #define BN_MP_REDUCE_2K_SETUP_C |
|
345 #define BN_MP_REDUCE_2K_C |
|
346 #define BN_MP_MONTGOMERY_CALC_NORMALIZATION_C |
|
347 #define BN_MP_MULMOD_C |
|
348 #define BN_MP_SET_C |
|
349 #define BN_MP_MOD_C |
|
350 #define BN_MP_COPY_C |
|
351 #define BN_MP_SQR_C |
|
352 #define BN_MP_MUL_C |
|
353 #define BN_MP_EXCH_C |
|
354 #endif |
|
355 |
|
356 #if defined(BN_MP_EXTEUCLID_C) |
|
357 #define BN_MP_INIT_MULTI_C |
|
358 #define BN_MP_SET_C |
|
359 #define BN_MP_COPY_C |
|
360 #define BN_MP_ISZERO_C |
|
361 #define BN_MP_DIV_C |
|
362 #define BN_MP_MUL_C |
|
363 #define BN_MP_SUB_C |
|
364 #define BN_MP_EXCH_C |
|
365 #define BN_MP_CLEAR_MULTI_C |
|
366 #endif |
|
367 |
|
368 #if defined(BN_MP_FREAD_C) |
|
369 #define BN_MP_ZERO_C |
|
370 #define BN_MP_S_RMAP_C |
|
371 #define BN_MP_MUL_D_C |
|
372 #define BN_MP_ADD_D_C |
|
373 #define BN_MP_CMP_D_C |
|
374 #endif |
|
375 |
|
376 #if defined(BN_MP_FWRITE_C) |
|
377 #define BN_MP_RADIX_SIZE_C |
|
378 #define BN_MP_TORADIX_C |
|
379 #endif |
|
380 |
|
381 #if defined(BN_MP_GCD_C) |
|
382 #define BN_MP_ISZERO_C |
|
383 #define BN_MP_ABS_C |
|
384 #define BN_MP_ZERO_C |
|
385 #define BN_MP_INIT_COPY_C |
|
386 #define BN_MP_CNT_LSB_C |
|
387 #define BN_MP_DIV_2D_C |
|
388 #define BN_MP_CMP_MAG_C |
|
389 #define BN_MP_EXCH_C |
|
390 #define BN_S_MP_SUB_C |
|
391 #define BN_MP_MUL_2D_C |
|
392 #define BN_MP_CLEAR_C |
|
393 #endif |
|
394 |
|
395 #if defined(BN_MP_GET_INT_C) |
|
396 #endif |
|
397 |
|
398 #if defined(BN_MP_GROW_C) |
|
399 #endif |
|
400 |
|
401 #if defined(BN_MP_INIT_C) |
|
402 #endif |
|
403 |
|
404 #if defined(BN_MP_INIT_COPY_C) |
|
405 #define BN_MP_COPY_C |
|
406 #endif |
|
407 |
|
408 #if defined(BN_MP_INIT_MULTI_C) |
|
409 #define BN_MP_ERR_C |
|
410 #define BN_MP_INIT_C |
|
411 #define BN_MP_CLEAR_C |
|
412 #endif |
|
413 |
|
414 #if defined(BN_MP_INIT_SET_C) |
|
415 #define BN_MP_INIT_C |
|
416 #define BN_MP_SET_C |
|
417 #endif |
|
418 |
|
419 #if defined(BN_MP_INIT_SET_INT_C) |
|
420 #define BN_MP_INIT_C |
|
421 #define BN_MP_SET_INT_C |
|
422 #endif |
|
423 |
|
424 #if defined(BN_MP_INIT_SIZE_C) |
|
425 #define BN_MP_INIT_C |
|
426 #endif |
|
427 |
|
428 #if defined(BN_MP_INVMOD_C) |
|
429 #define BN_MP_ISZERO_C |
|
430 #define BN_MP_ISODD_C |
|
431 #define BN_FAST_MP_INVMOD_C |
|
432 #define BN_MP_INVMOD_SLOW_C |
|
433 #endif |
|
434 |
|
435 #if defined(BN_MP_INVMOD_SLOW_C) |
|
436 #define BN_MP_ISZERO_C |
|
437 #define BN_MP_INIT_MULTI_C |
|
438 #define BN_MP_COPY_C |
|
439 #define BN_MP_ISEVEN_C |
|
440 #define BN_MP_SET_C |
|
441 #define BN_MP_DIV_2_C |
|
442 #define BN_MP_ISODD_C |
|
443 #define BN_MP_ADD_C |
|
444 #define BN_MP_SUB_C |
|
445 #define BN_MP_CMP_C |
|
446 #define BN_MP_CMP_D_C |
|
447 #define BN_MP_CMP_MAG_C |
|
448 #define BN_MP_EXCH_C |
|
449 #define BN_MP_CLEAR_MULTI_C |
|
450 #endif |
|
451 |
|
452 #if defined(BN_MP_IS_SQUARE_C) |
|
453 #define BN_MP_MOD_D_C |
|
454 #define BN_MP_INIT_SET_INT_C |
|
455 #define BN_MP_MOD_C |
|
456 #define BN_MP_GET_INT_C |
|
457 #define BN_MP_SQRT_C |
|
458 #define BN_MP_SQR_C |
|
459 #define BN_MP_CMP_MAG_C |
|
460 #define BN_MP_CLEAR_C |
|
461 #endif |
|
462 |
|
463 #if defined(BN_MP_JACOBI_C) |
|
464 #define BN_MP_CMP_D_C |
|
465 #define BN_MP_ISZERO_C |
|
466 #define BN_MP_INIT_COPY_C |
|
467 #define BN_MP_CNT_LSB_C |
|
468 #define BN_MP_DIV_2D_C |
|
469 #define BN_MP_MOD_C |
|
470 #define BN_MP_CLEAR_C |
|
471 #endif |
|
472 |
|
473 #if defined(BN_MP_KARATSUBA_MUL_C) |
|
474 #define BN_MP_MUL_C |
|
475 #define BN_MP_INIT_SIZE_C |
|
476 #define BN_MP_CLAMP_C |
|
477 #define BN_MP_SUB_C |
|
478 #define BN_MP_ADD_C |
|
479 #define BN_MP_LSHD_C |
|
480 #define BN_MP_CLEAR_C |
|
481 #endif |
|
482 |
|
483 #if defined(BN_MP_KARATSUBA_SQR_C) |
|
484 #define BN_MP_KARATSUBA_MUL_C |
|
485 #define BN_MP_INIT_SIZE_C |
|
486 #define BN_MP_CLAMP_C |
|
487 #define BN_MP_SQR_C |
|
488 #define BN_MP_SUB_C |
|
489 #define BN_S_MP_ADD_C |
|
490 #define BN_MP_LSHD_C |
|
491 #define BN_MP_ADD_C |
|
492 #define BN_MP_CLEAR_C |
|
493 #endif |
|
494 |
|
495 #if defined(BN_MP_LCM_C) |
|
496 #define BN_MP_INIT_MULTI_C |
|
497 #define BN_MP_GCD_C |
|
498 #define BN_MP_CMP_MAG_C |
|
499 #define BN_MP_DIV_C |
|
500 #define BN_MP_MUL_C |
|
501 #define BN_MP_CLEAR_MULTI_C |
|
502 #endif |
|
503 |
|
504 #if defined(BN_MP_LSHD_C) |
|
505 #define BN_MP_GROW_C |
|
506 #define BN_MP_RSHD_C |
|
507 #endif |
|
508 |
|
509 #if defined(BN_MP_MOD_C) |
|
510 #define BN_MP_INIT_C |
|
511 #define BN_MP_DIV_C |
|
512 #define BN_MP_CLEAR_C |
|
513 #define BN_MP_ADD_C |
|
514 #define BN_MP_EXCH_C |
|
515 #endif |
|
516 |
|
517 #if defined(BN_MP_MOD_2D_C) |
|
518 #define BN_MP_ZERO_C |
|
519 #define BN_MP_COPY_C |
|
520 #define BN_MP_CLAMP_C |
|
521 #endif |
|
522 |
|
523 #if defined(BN_MP_MOD_D_C) |
|
524 #define BN_MP_DIV_D_C |
|
525 #endif |
|
526 |
|
527 #if defined(BN_MP_MONTGOMERY_CALC_NORMALIZATION_C) |
|
528 #define BN_MP_COUNT_BITS_C |
|
529 #define BN_MP_2EXPT_C |
|
530 #define BN_MP_SET_C |
|
531 #define BN_MP_MUL_2_C |
|
532 #define BN_MP_CMP_MAG_C |
|
533 #define BN_S_MP_SUB_C |
|
534 #endif |
|
535 |
|
536 #if defined(BN_MP_MONTGOMERY_REDUCE_C) |
|
537 #define BN_MP_MUL_C |
|
538 #define BN_FAST_MP_MONTGOMERY_REDUCE_C |
|
539 #define BN_MP_GROW_C |
|
540 #define BN_MP_MONTGOMERY_SETUP_C |
|
541 #define BN_MP_CLAMP_C |
|
542 #define BN_MP_RSHD_C |
|
543 #define BN_MP_CMP_MAG_C |
|
544 #define BN_S_MP_SUB_C |
|
545 #endif |
|
546 |
|
547 #if defined(BN_MP_MONTGOMERY_SETUP_C) |
|
548 #endif |
|
549 |
|
550 #if defined(BN_MP_MUL_C) |
|
551 #define BN_MP_TOOM_MUL_C |
|
552 #define BN_MP_KARATSUBA_MUL_C |
|
553 #define BN_FAST_S_MP_MUL_DIGS_C |
|
554 #define BN_S_MP_MUL_C |
|
555 #define BN_S_MP_MUL_DIGS_C |
|
556 #endif |
|
557 |
|
558 #if defined(BN_MP_MUL_2_C) |
|
559 #define BN_MP_GROW_C |
|
560 #endif |
|
561 |
|
562 #if defined(BN_MP_MUL_2D_C) |
|
563 #define BN_MP_COPY_C |
|
564 #define BN_MP_GROW_C |
|
565 #define BN_MP_LSHD_C |
|
566 #define BN_MP_CLAMP_C |
|
567 #endif |
|
568 |
|
569 #if defined(BN_MP_MUL_D_C) |
|
570 #define BN_MP_GROW_C |
|
571 #define BN_MP_CLAMP_C |
|
572 #endif |
|
573 |
|
574 #if defined(BN_MP_MULMOD_C) |
|
575 #define BN_MP_INIT_C |
|
576 #define BN_MP_MUL_C |
|
577 #define BN_MP_CLEAR_C |
|
578 #define BN_MP_MOD_C |
|
579 #endif |
|
580 |
|
581 #if defined(BN_MP_N_ROOT_C) |
|
582 #define BN_MP_INIT_C |
|
583 #define BN_MP_SET_C |
|
584 #define BN_MP_COPY_C |
|
585 #define BN_MP_EXPT_D_C |
|
586 #define BN_MP_MUL_C |
|
587 #define BN_MP_SUB_C |
|
588 #define BN_MP_MUL_D_C |
|
589 #define BN_MP_DIV_C |
|
590 #define BN_MP_CMP_C |
|
591 #define BN_MP_SUB_D_C |
|
592 #define BN_MP_EXCH_C |
|
593 #define BN_MP_CLEAR_C |
|
594 #endif |
|
595 |
|
596 #if defined(BN_MP_NEG_C) |
|
597 #define BN_MP_COPY_C |
|
598 #define BN_MP_ISZERO_C |
|
599 #endif |
|
600 |
|
601 #if defined(BN_MP_OR_C) |
|
602 #define BN_MP_INIT_COPY_C |
|
603 #define BN_MP_CLAMP_C |
|
604 #define BN_MP_EXCH_C |
|
605 #define BN_MP_CLEAR_C |
|
606 #endif |
|
607 |
|
608 #if defined(BN_MP_PRIME_FERMAT_C) |
|
609 #define BN_MP_CMP_D_C |
|
610 #define BN_MP_INIT_C |
|
611 #define BN_MP_EXPTMOD_C |
|
612 #define BN_MP_CMP_C |
|
613 #define BN_MP_CLEAR_C |
|
614 #endif |
|
615 |
|
616 #if defined(BN_MP_PRIME_IS_DIVISIBLE_C) |
|
617 #define BN_MP_MOD_D_C |
|
618 #endif |
|
619 |
|
620 #if defined(BN_MP_PRIME_IS_PRIME_C) |
|
621 #define BN_MP_CMP_D_C |
|
622 #define BN_MP_PRIME_IS_DIVISIBLE_C |
|
623 #define BN_MP_INIT_C |
|
624 #define BN_MP_SET_C |
|
625 #define BN_MP_PRIME_MILLER_RABIN_C |
|
626 #define BN_MP_CLEAR_C |
|
627 #endif |
|
628 |
|
629 #if defined(BN_MP_PRIME_MILLER_RABIN_C) |
|
630 #define BN_MP_CMP_D_C |
|
631 #define BN_MP_INIT_COPY_C |
|
632 #define BN_MP_SUB_D_C |
|
633 #define BN_MP_CNT_LSB_C |
|
634 #define BN_MP_DIV_2D_C |
|
635 #define BN_MP_EXPTMOD_C |
|
636 #define BN_MP_CMP_C |
|
637 #define BN_MP_SQRMOD_C |
|
638 #define BN_MP_CLEAR_C |
|
639 #endif |
|
640 |
|
641 #if defined(BN_MP_PRIME_NEXT_PRIME_C) |
|
642 #define BN_MP_CMP_D_C |
|
643 #define BN_MP_SET_C |
|
644 #define BN_MP_SUB_D_C |
|
645 #define BN_MP_ISEVEN_C |
|
646 #define BN_MP_MOD_D_C |
|
647 #define BN_MP_INIT_C |
|
648 #define BN_MP_ADD_D_C |
|
649 #define BN_MP_PRIME_MILLER_RABIN_C |
|
650 #define BN_MP_CLEAR_C |
|
651 #endif |
|
652 |
|
653 #if defined(BN_MP_PRIME_RABIN_MILLER_TRIALS_C) |
|
654 #endif |
|
655 |
|
656 #if defined(BN_MP_PRIME_RANDOM_EX_C) |
|
657 #define BN_MP_READ_UNSIGNED_BIN_C |
|
658 #define BN_MP_PRIME_IS_PRIME_C |
|
659 #define BN_MP_SUB_D_C |
|
660 #define BN_MP_DIV_2_C |
|
661 #define BN_MP_MUL_2_C |
|
662 #define BN_MP_ADD_D_C |
|
663 #endif |
|
664 |
|
665 #if defined(BN_MP_RADIX_SIZE_C) |
|
666 #define BN_MP_COUNT_BITS_C |
|
667 #define BN_MP_INIT_COPY_C |
|
668 #define BN_MP_ISZERO_C |
|
669 #define BN_MP_DIV_D_C |
|
670 #define BN_MP_CLEAR_C |
|
671 #endif |
|
672 |
|
673 #if defined(BN_MP_RADIX_SMAP_C) |
|
674 #define BN_MP_S_RMAP_C |
|
675 #endif |
|
676 |
|
677 #if defined(BN_MP_RAND_C) |
|
678 #define BN_MP_ZERO_C |
|
679 #define BN_MP_ADD_D_C |
|
680 #define BN_MP_LSHD_C |
|
681 #endif |
|
682 |
|
683 #if defined(BN_MP_READ_RADIX_C) |
|
684 #define BN_MP_ZERO_C |
|
685 #define BN_MP_S_RMAP_C |
|
686 #define BN_MP_MUL_D_C |
|
687 #define BN_MP_ADD_D_C |
|
688 #define BN_MP_ISZERO_C |
|
689 #endif |
|
690 |
|
691 #if defined(BN_MP_READ_SIGNED_BIN_C) |
|
692 #define BN_MP_READ_UNSIGNED_BIN_C |
|
693 #endif |
|
694 |
|
695 #if defined(BN_MP_READ_UNSIGNED_BIN_C) |
|
696 #define BN_MP_GROW_C |
|
697 #define BN_MP_ZERO_C |
|
698 #define BN_MP_MUL_2D_C |
|
699 #define BN_MP_CLAMP_C |
|
700 #endif |
|
701 |
|
702 #if defined(BN_MP_REDUCE_C) |
|
703 #define BN_MP_REDUCE_SETUP_C |
|
704 #define BN_MP_INIT_COPY_C |
|
705 #define BN_MP_RSHD_C |
|
706 #define BN_MP_MUL_C |
|
707 #define BN_S_MP_MUL_HIGH_DIGS_C |
|
708 #define BN_MP_MOD_2D_C |
|
709 #define BN_S_MP_MUL_DIGS_C |
|
710 #define BN_MP_SUB_C |
|
711 #define BN_MP_CMP_D_C |
|
712 #define BN_MP_SET_C |
|
713 #define BN_MP_LSHD_C |
|
714 #define BN_MP_ADD_C |
|
715 #define BN_MP_CMP_C |
|
716 #define BN_S_MP_SUB_C |
|
717 #define BN_MP_CLEAR_C |
|
718 #endif |
|
719 |
|
720 #if defined(BN_MP_REDUCE_2K_C) |
|
721 #define BN_MP_INIT_C |
|
722 #define BN_MP_COUNT_BITS_C |
|
723 #define BN_MP_DIV_2D_C |
|
724 #define BN_MP_MUL_D_C |
|
725 #define BN_S_MP_ADD_C |
|
726 #define BN_MP_CMP_MAG_C |
|
727 #define BN_S_MP_SUB_C |
|
728 #define BN_MP_CLEAR_C |
|
729 #endif |
|
730 |
|
731 #if defined(BN_MP_REDUCE_2K_SETUP_C) |
|
732 #define BN_MP_INIT_C |
|
733 #define BN_MP_COUNT_BITS_C |
|
734 #define BN_MP_2EXPT_C |
|
735 #define BN_MP_CLEAR_C |
|
736 #define BN_S_MP_SUB_C |
|
737 #endif |
|
738 |
|
739 #if defined(BN_MP_REDUCE_IS_2K_C) |
|
740 #define BN_MP_REDUCE_2K_C |
|
741 #define BN_MP_COUNT_BITS_C |
|
742 #endif |
|
743 |
|
744 #if defined(BN_MP_REDUCE_SETUP_C) |
|
745 #define BN_MP_2EXPT_C |
|
746 #define BN_MP_DIV_C |
|
747 #endif |
|
748 |
|
749 #if defined(BN_MP_RSHD_C) |
|
750 #define BN_MP_ZERO_C |
|
751 #endif |
|
752 |
|
753 #if defined(BN_MP_SET_C) |
|
754 #define BN_MP_ZERO_C |
|
755 #endif |
|
756 |
|
757 #if defined(BN_MP_SET_INT_C) |
|
758 #define BN_MP_ZERO_C |
|
759 #define BN_MP_MUL_2D_C |
|
760 #define BN_MP_CLAMP_C |
|
761 #endif |
|
762 |
|
763 #if defined(BN_MP_SHRINK_C) |
|
764 #endif |
|
765 |
|
766 #if defined(BN_MP_SIGNED_BIN_SIZE_C) |
|
767 #define BN_MP_UNSIGNED_BIN_SIZE_C |
|
768 #endif |
|
769 |
|
770 #if defined(BN_MP_SQR_C) |
|
771 #define BN_MP_TOOM_SQR_C |
|
772 #define BN_MP_KARATSUBA_SQR_C |
|
773 #define BN_FAST_S_MP_SQR_C |
|
774 #define BN_S_MP_SQR_C |
|
775 #endif |
|
776 |
|
777 #if defined(BN_MP_SQRMOD_C) |
|
778 #define BN_MP_INIT_C |
|
779 #define BN_MP_SQR_C |
|
780 #define BN_MP_CLEAR_C |
|
781 #define BN_MP_MOD_C |
|
782 #endif |
|
783 |
|
784 #if defined(BN_MP_SQRT_C) |
|
785 #define BN_MP_N_ROOT_C |
|
786 #define BN_MP_ISZERO_C |
|
787 #define BN_MP_ZERO_C |
|
788 #define BN_MP_INIT_COPY_C |
|
789 #define BN_MP_RSHD_C |
|
790 #define BN_MP_DIV_C |
|
791 #define BN_MP_ADD_C |
|
792 #define BN_MP_DIV_2_C |
|
793 #define BN_MP_CMP_MAG_C |
|
794 #define BN_MP_EXCH_C |
|
795 #define BN_MP_CLEAR_C |
|
796 #endif |
|
797 |
|
798 #if defined(BN_MP_SUB_C) |
|
799 #define BN_S_MP_ADD_C |
|
800 #define BN_MP_CMP_MAG_C |
|
801 #define BN_S_MP_SUB_C |
|
802 #endif |
|
803 |
|
804 #if defined(BN_MP_SUB_D_C) |
|
805 #define BN_MP_GROW_C |
|
806 #define BN_MP_ADD_D_C |
|
807 #define BN_MP_CLAMP_C |
|
808 #endif |
|
809 |
|
810 #if defined(BN_MP_SUBMOD_C) |
|
811 #define BN_MP_INIT_C |
|
812 #define BN_MP_SUB_C |
|
813 #define BN_MP_CLEAR_C |
|
814 #define BN_MP_MOD_C |
|
815 #endif |
|
816 |
|
817 #if defined(BN_MP_TO_SIGNED_BIN_C) |
|
818 #define BN_MP_TO_UNSIGNED_BIN_C |
|
819 #endif |
|
820 |
|
821 #if defined(BN_MP_TO_UNSIGNED_BIN_C) |
|
822 #define BN_MP_INIT_COPY_C |
|
823 #define BN_MP_ISZERO_C |
|
824 #define BN_MP_DIV_2D_C |
|
825 #define BN_MP_CLEAR_C |
|
826 #endif |
|
827 |
|
828 #if defined(BN_MP_TOOM_MUL_C) |
|
829 #define BN_MP_INIT_MULTI_C |
|
830 #define BN_MP_MOD_2D_C |
|
831 #define BN_MP_COPY_C |
|
832 #define BN_MP_RSHD_C |
|
833 #define BN_MP_MUL_C |
|
834 #define BN_MP_MUL_2_C |
|
835 #define BN_MP_ADD_C |
|
836 #define BN_MP_SUB_C |
|
837 #define BN_MP_DIV_2_C |
|
838 #define BN_MP_MUL_2D_C |
|
839 #define BN_MP_MUL_D_C |
|
840 #define BN_MP_DIV_3_C |
|
841 #define BN_MP_LSHD_C |
|
842 #define BN_MP_CLEAR_MULTI_C |
|
843 #endif |
|
844 |
|
845 #if defined(BN_MP_TOOM_SQR_C) |
|
846 #define BN_MP_INIT_MULTI_C |
|
847 #define BN_MP_MOD_2D_C |
|
848 #define BN_MP_COPY_C |
|
849 #define BN_MP_RSHD_C |
|
850 #define BN_MP_SQR_C |
|
851 #define BN_MP_MUL_2_C |
|
852 #define BN_MP_ADD_C |
|
853 #define BN_MP_SUB_C |
|
854 #define BN_MP_DIV_2_C |
|
855 #define BN_MP_MUL_2D_C |
|
856 #define BN_MP_MUL_D_C |
|
857 #define BN_MP_DIV_3_C |
|
858 #define BN_MP_LSHD_C |
|
859 #define BN_MP_CLEAR_MULTI_C |
|
860 #endif |
|
861 |
|
862 #if defined(BN_MP_TORADIX_C) |
|
863 #define BN_MP_ISZERO_C |
|
864 #define BN_MP_INIT_COPY_C |
|
865 #define BN_MP_DIV_D_C |
|
866 #define BN_MP_CLEAR_C |
|
867 #define BN_MP_S_RMAP_C |
|
868 #endif |
|
869 |
|
870 #if defined(BN_MP_TORADIX_N_C) |
|
871 #define BN_MP_ISZERO_C |
|
872 #define BN_MP_INIT_COPY_C |
|
873 #define BN_MP_DIV_D_C |
|
874 #define BN_MP_CLEAR_C |
|
875 #define BN_MP_S_RMAP_C |
|
876 #endif |
|
877 |
|
878 #if defined(BN_MP_UNSIGNED_BIN_SIZE_C) |
|
879 #define BN_MP_COUNT_BITS_C |
|
880 #endif |
|
881 |
|
882 #if defined(BN_MP_XOR_C) |
|
883 #define BN_MP_INIT_COPY_C |
|
884 #define BN_MP_CLAMP_C |
|
885 #define BN_MP_EXCH_C |
|
886 #define BN_MP_CLEAR_C |
|
887 #endif |
|
888 |
|
889 #if defined(BN_MP_ZERO_C) |
|
890 #endif |
|
891 |
|
892 #if defined(BN_PRIME_TAB_C) |
|
893 #endif |
|
894 |
|
895 #if defined(BN_REVERSE_C) |
|
896 #endif |
|
897 |
|
898 #if defined(BN_S_MP_ADD_C) |
|
899 #define BN_MP_GROW_C |
|
900 #define BN_MP_CLAMP_C |
|
901 #endif |
|
902 |
|
903 #if defined(BN_S_MP_EXPTMOD_C) |
|
904 #define BN_MP_COUNT_BITS_C |
|
905 #define BN_MP_INIT_C |
|
906 #define BN_MP_CLEAR_C |
|
907 #define BN_MP_REDUCE_SETUP_C |
|
908 #define BN_MP_MOD_C |
|
909 #define BN_MP_COPY_C |
|
910 #define BN_MP_SQR_C |
|
911 #define BN_MP_REDUCE_C |
|
912 #define BN_MP_MUL_C |
|
913 #define BN_MP_SET_C |
|
914 #define BN_MP_EXCH_C |
|
915 #endif |
|
916 |
|
917 #if defined(BN_S_MP_MUL_DIGS_C) |
|
918 #define BN_FAST_S_MP_MUL_DIGS_C |
|
919 #define BN_MP_INIT_SIZE_C |
|
920 #define BN_MP_CLAMP_C |
|
921 #define BN_MP_EXCH_C |
|
922 #define BN_MP_CLEAR_C |
|
923 #endif |
|
924 |
|
925 #if defined(BN_S_MP_MUL_HIGH_DIGS_C) |
|
926 #define BN_FAST_S_MP_MUL_HIGH_DIGS_C |
|
927 #define BN_MP_INIT_SIZE_C |
|
928 #define BN_MP_CLAMP_C |
|
929 #define BN_MP_EXCH_C |
|
930 #define BN_MP_CLEAR_C |
|
931 #endif |
|
932 |
|
933 #if defined(BN_S_MP_SQR_C) |
|
934 #define BN_MP_INIT_SIZE_C |
|
935 #define BN_MP_CLAMP_C |
|
936 #define BN_MP_EXCH_C |
|
937 #define BN_MP_CLEAR_C |
|
938 #endif |
|
939 |
|
940 #if defined(BN_S_MP_SUB_C) |
|
941 #define BN_MP_GROW_C |
|
942 #define BN_MP_CLAMP_C |
|
943 #endif |
|
944 |
|
945 #if defined(BNCORE_C) |
|
946 #endif |
|
947 |
|
948 #ifdef LTM3 |
|
949 #define LTM_LAST |
|
950 #endif |
|
951 #include <tommath_superclass.h> |
|
952 #include <tommath_class.h> |
|
953 #else |
|
954 #define LTM_LAST |
|
955 #endif |