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