Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of CyaSSL by
mpi_class.h
00001 /* mpi_class.h 00002 * 00003 * Copyright (C) 2006-2014 wolfSSL Inc. 00004 * 00005 * This file is part of CyaSSL. 00006 * 00007 * CyaSSL is free software; you can redistribute it and/or modify 00008 * it under the terms of the GNU General Public License as published by 00009 * the Free Software Foundation; either version 2 of the License, or 00010 * (at your option) any later version. 00011 * 00012 * CyaSSL is distributed in the hope that it will be useful, 00013 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00015 * GNU General Public License for more details. 00016 * 00017 * You should have received a copy of the GNU General Public License 00018 * along with this program; if not, write to the Free Software 00019 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA 00020 */ 00021 00022 00023 #if !(defined(LTM1) && defined(LTM2) && defined(LTM3)) 00024 #if defined(LTM2) 00025 #define LTM3 00026 #endif 00027 #if defined(LTM1) 00028 #define LTM2 00029 #endif 00030 #define LTM1 00031 00032 #if defined(LTM_ALL) 00033 #define BN_ERROR_C 00034 #define BN_FAST_MP_INVMOD_C 00035 #define BN_FAST_MP_MONTGOMERY_REDUCE_C 00036 #define BN_FAST_S_MP_MUL_DIGS_C 00037 #define BN_FAST_S_MP_MUL_HIGH_DIGS_C 00038 #define BN_FAST_S_MP_SQR_C 00039 #define BN_MP_2EXPT_C 00040 #define BN_MP_ABS_C 00041 #define BN_MP_ADD_C 00042 #define BN_MP_ADD_D_C 00043 #define BN_MP_ADDMOD_C 00044 #define BN_MP_AND_C 00045 #define BN_MP_CLAMP_C 00046 #define BN_MP_CLEAR_C 00047 #define BN_MP_CLEAR_MULTI_C 00048 #define BN_MP_CMP_C 00049 #define BN_MP_CMP_D_C 00050 #define BN_MP_CMP_MAG_C 00051 #define BN_MP_CNT_LSB_C 00052 #define BN_MP_COPY_C 00053 #define BN_MP_COUNT_BITS_C 00054 #define BN_MP_DIV_C 00055 #define BN_MP_DIV_2_C 00056 #define BN_MP_DIV_2D_C 00057 #define BN_MP_DIV_3_C 00058 #define BN_MP_DIV_D_C 00059 #define BN_MP_DR_IS_MODULUS_C 00060 #define BN_MP_DR_REDUCE_C 00061 #define BN_MP_DR_SETUP_C 00062 #define BN_MP_EXCH_C 00063 #define BN_MP_EXPT_D_C 00064 #define BN_MP_EXPTMOD_C 00065 #define BN_MP_EXPTMOD_FAST_C 00066 #define BN_MP_EXTEUCLID_C 00067 #define BN_MP_FREAD_C 00068 #define BN_MP_FWRITE_C 00069 #define BN_MP_GCD_C 00070 #define BN_MP_GET_INT_C 00071 #define BN_MP_GROW_C 00072 #define BN_MP_INIT_C 00073 #define BN_MP_INIT_COPY_C 00074 #define BN_MP_INIT_MULTI_C 00075 #define BN_MP_INIT_SET_C 00076 #define BN_MP_INIT_SET_INT_C 00077 #define BN_MP_INIT_SIZE_C 00078 #define BN_MP_INVMOD_C 00079 #define BN_MP_INVMOD_SLOW_C 00080 #define BN_MP_IS_SQUARE_C 00081 #define BN_MP_JACOBI_C 00082 #define BN_MP_KARATSUBA_MUL_C 00083 #define BN_MP_KARATSUBA_SQR_C 00084 #define BN_MP_LCM_C 00085 #define BN_MP_LSHD_C 00086 #define BN_MP_MOD_C 00087 #define BN_MP_MOD_2D_C 00088 #define BN_MP_MOD_D_C 00089 #define BN_MP_MONTGOMERY_CALC_NORMALIZATION_C 00090 #define BN_MP_MONTGOMERY_REDUCE_C 00091 #define BN_MP_MONTGOMERY_SETUP_C 00092 #define BN_MP_MUL_C 00093 #define BN_MP_MUL_2_C 00094 #define BN_MP_MUL_2D_C 00095 #define BN_MP_MUL_D_C 00096 #define BN_MP_MULMOD_C 00097 #define BN_MP_N_ROOT_C 00098 #define BN_MP_NEG_C 00099 #define BN_MP_OR_C 00100 #define BN_MP_PRIME_FERMAT_C 00101 #define BN_MP_PRIME_IS_DIVISIBLE_C 00102 #define BN_MP_PRIME_IS_PRIME_C 00103 #define BN_MP_PRIME_MILLER_RABIN_C 00104 #define BN_MP_PRIME_NEXT_PRIME_C 00105 #define BN_MP_PRIME_RABIN_MILLER_TRIALS_C 00106 #define BN_MP_PRIME_RANDOM_EX_C 00107 #define BN_MP_RADIX_SIZE_C 00108 #define BN_MP_RADIX_SMAP_C 00109 #define BN_MP_RAND_C 00110 #define BN_MP_READ_RADIX_C 00111 #define BN_MP_READ_SIGNED_BIN_C 00112 #define BN_MP_READ_UNSIGNED_BIN_C 00113 #define BN_MP_REDUCE_C 00114 #define BN_MP_REDUCE_2K_C 00115 #define BN_MP_REDUCE_2K_L_C 00116 #define BN_MP_REDUCE_2K_SETUP_C 00117 #define BN_MP_REDUCE_2K_SETUP_L_C 00118 #define BN_MP_REDUCE_IS_2K_C 00119 #define BN_MP_REDUCE_IS_2K_L_C 00120 #define BN_MP_REDUCE_SETUP_C 00121 #define BN_MP_RSHD_C 00122 #define BN_MP_SET_C 00123 #define BN_MP_SET_INT_C 00124 #define BN_MP_SHRINK_C 00125 #define BN_MP_SIGNED_BIN_SIZE_C 00126 #define BN_MP_SQR_C 00127 #define BN_MP_SQRMOD_C 00128 #define BN_MP_SQRT_C 00129 #define BN_MP_SUB_C 00130 #define BN_MP_SUB_D_C 00131 #define BN_MP_SUBMOD_C 00132 #define BN_MP_TO_SIGNED_BIN_C 00133 #define BN_MP_TO_SIGNED_BIN_N_C 00134 #define BN_MP_TO_UNSIGNED_BIN_C 00135 #define BN_MP_TO_UNSIGNED_BIN_N_C 00136 #define BN_MP_TOOM_MUL_C 00137 #define BN_MP_TOOM_SQR_C 00138 #define BN_MP_TORADIX_C 00139 #define BN_MP_TORADIX_N_C 00140 #define BN_MP_UNSIGNED_BIN_SIZE_C 00141 #define BN_MP_XOR_C 00142 #define BN_MP_ZERO_C 00143 #define BN_PRIME_TAB_C 00144 #define BN_REVERSE_C 00145 #define BN_S_MP_ADD_C 00146 #define BN_S_MP_EXPTMOD_C 00147 #define BN_S_MP_MUL_DIGS_C 00148 #define BN_S_MP_MUL_HIGH_DIGS_C 00149 #define BN_S_MP_SQR_C 00150 #define BN_S_MP_SUB_C 00151 #define BNCORE_C 00152 #endif 00153 00154 #if defined(BN_ERROR_C) 00155 #define BN_MP_ERROR_TO_STRING_C 00156 #endif 00157 00158 #if defined(BN_FAST_MP_INVMOD_C) 00159 #define BN_MP_ISEVEN_C 00160 #define BN_MP_INIT_MULTI_C 00161 #define BN_MP_COPY_C 00162 #define BN_MP_MOD_C 00163 #define BN_MP_SET_C 00164 #define BN_MP_DIV_2_C 00165 #define BN_MP_ISODD_C 00166 #define BN_MP_SUB_C 00167 #define BN_MP_CMP_C 00168 #define BN_MP_ISZERO_C 00169 #define BN_MP_CMP_D_C 00170 #define BN_MP_ADD_C 00171 #define BN_MP_EXCH_C 00172 #define BN_MP_CLEAR_MULTI_C 00173 #endif 00174 00175 #if defined(BN_FAST_MP_MONTGOMERY_REDUCE_C) 00176 #define BN_MP_GROW_C 00177 #define BN_MP_RSHD_C 00178 #define BN_MP_CLAMP_C 00179 #define BN_MP_CMP_MAG_C 00180 #define BN_S_MP_SUB_C 00181 #endif 00182 00183 #if defined(BN_FAST_S_MP_MUL_DIGS_C) 00184 #define BN_MP_GROW_C 00185 #define BN_MP_CLAMP_C 00186 #endif 00187 00188 #if defined(BN_FAST_S_MP_MUL_HIGH_DIGS_C) 00189 #define BN_MP_GROW_C 00190 #define BN_MP_CLAMP_C 00191 #endif 00192 00193 #if defined(BN_FAST_S_MP_SQR_C) 00194 #define BN_MP_GROW_C 00195 #define BN_MP_CLAMP_C 00196 #endif 00197 00198 #if defined(BN_MP_2EXPT_C) 00199 #define BN_MP_ZERO_C 00200 #define BN_MP_GROW_C 00201 #endif 00202 00203 #if defined(BN_MP_ABS_C) 00204 #define BN_MP_COPY_C 00205 #endif 00206 00207 #if defined(BN_MP_ADD_C) 00208 #define BN_S_MP_ADD_C 00209 #define BN_MP_CMP_MAG_C 00210 #define BN_S_MP_SUB_C 00211 #endif 00212 00213 #if defined(BN_MP_ADD_D_C) 00214 #define BN_MP_GROW_C 00215 #define BN_MP_SUB_D_C 00216 #define BN_MP_CLAMP_C 00217 #endif 00218 00219 #if defined(BN_MP_ADDMOD_C) 00220 #define BN_MP_INIT_C 00221 #define BN_MP_ADD_C 00222 #define BN_MP_CLEAR_C 00223 #define BN_MP_MOD_C 00224 #endif 00225 00226 #if defined(BN_MP_AND_C) 00227 #define BN_MP_INIT_COPY_C 00228 #define BN_MP_CLAMP_C 00229 #define BN_MP_EXCH_C 00230 #define BN_MP_CLEAR_C 00231 #endif 00232 00233 #if defined(BN_MP_CLAMP_C) 00234 #endif 00235 00236 #if defined(BN_MP_CLEAR_C) 00237 #endif 00238 00239 #if defined(BN_MP_CLEAR_MULTI_C) 00240 #define BN_MP_CLEAR_C 00241 #endif 00242 00243 #if defined(BN_MP_CMP_C) 00244 #define BN_MP_CMP_MAG_C 00245 #endif 00246 00247 #if defined(BN_MP_CMP_D_C) 00248 #endif 00249 00250 #if defined(BN_MP_CMP_MAG_C) 00251 #endif 00252 00253 #if defined(BN_MP_CNT_LSB_C) 00254 #define BN_MP_ISZERO_C 00255 #endif 00256 00257 #if defined(BN_MP_COPY_C) 00258 #define BN_MP_GROW_C 00259 #endif 00260 00261 #if defined(BN_MP_COUNT_BITS_C) 00262 #endif 00263 00264 #if defined(BN_MP_DIV_C) 00265 #define BN_MP_ISZERO_C 00266 #define BN_MP_CMP_MAG_C 00267 #define BN_MP_COPY_C 00268 #define BN_MP_ZERO_C 00269 #define BN_MP_INIT_MULTI_C 00270 #define BN_MP_SET_C 00271 #define BN_MP_COUNT_BITS_C 00272 #define BN_MP_ABS_C 00273 #define BN_MP_MUL_2D_C 00274 #define BN_MP_CMP_C 00275 #define BN_MP_SUB_C 00276 #define BN_MP_ADD_C 00277 #define BN_MP_DIV_2D_C 00278 #define BN_MP_EXCH_C 00279 #define BN_MP_CLEAR_MULTI_C 00280 #define BN_MP_INIT_SIZE_C 00281 #define BN_MP_INIT_C 00282 #define BN_MP_INIT_COPY_C 00283 #define BN_MP_LSHD_C 00284 #define BN_MP_RSHD_C 00285 #define BN_MP_MUL_D_C 00286 #define BN_MP_CLAMP_C 00287 #define BN_MP_CLEAR_C 00288 #endif 00289 00290 #if defined(BN_MP_DIV_2_C) 00291 #define BN_MP_GROW_C 00292 #define BN_MP_CLAMP_C 00293 #endif 00294 00295 #if defined(BN_MP_DIV_2D_C) 00296 #define BN_MP_COPY_C 00297 #define BN_MP_ZERO_C 00298 #define BN_MP_INIT_C 00299 #define BN_MP_MOD_2D_C 00300 #define BN_MP_CLEAR_C 00301 #define BN_MP_RSHD_C 00302 #define BN_MP_CLAMP_C 00303 #define BN_MP_EXCH_C 00304 #endif 00305 00306 #if defined(BN_MP_DIV_3_C) 00307 #define BN_MP_INIT_SIZE_C 00308 #define BN_MP_CLAMP_C 00309 #define BN_MP_EXCH_C 00310 #define BN_MP_CLEAR_C 00311 #endif 00312 00313 #if defined(BN_MP_DIV_D_C) 00314 #define BN_MP_ISZERO_C 00315 #define BN_MP_COPY_C 00316 #define BN_MP_DIV_2D_C 00317 #define BN_MP_DIV_3_C 00318 #define BN_MP_INIT_SIZE_C 00319 #define BN_MP_CLAMP_C 00320 #define BN_MP_EXCH_C 00321 #define BN_MP_CLEAR_C 00322 #endif 00323 00324 #if defined(BN_MP_DR_IS_MODULUS_C) 00325 #endif 00326 00327 #if defined(BN_MP_DR_REDUCE_C) 00328 #define BN_MP_GROW_C 00329 #define BN_MP_CLAMP_C 00330 #define BN_MP_CMP_MAG_C 00331 #define BN_S_MP_SUB_C 00332 #endif 00333 00334 #if defined(BN_MP_DR_SETUP_C) 00335 #endif 00336 00337 #if defined(BN_MP_EXCH_C) 00338 #endif 00339 00340 #if defined(BN_MP_EXPT_D_C) 00341 #define BN_MP_INIT_COPY_C 00342 #define BN_MP_SET_C 00343 #define BN_MP_SQR_C 00344 #define BN_MP_CLEAR_C 00345 #define BN_MP_MUL_C 00346 #endif 00347 00348 #if defined(BN_MP_EXPTMOD_C) 00349 #define BN_MP_INIT_C 00350 #define BN_MP_INVMOD_C 00351 #define BN_MP_CLEAR_C 00352 #define BN_MP_ABS_C 00353 #define BN_MP_CLEAR_MULTI_C 00354 #define BN_MP_REDUCE_IS_2K_L_C 00355 #define BN_S_MP_EXPTMOD_C 00356 #define BN_MP_DR_IS_MODULUS_C 00357 #define BN_MP_REDUCE_IS_2K_C 00358 #define BN_MP_ISODD_C 00359 #define BN_MP_EXPTMOD_FAST_C 00360 #endif 00361 00362 #if defined(BN_MP_EXPTMOD_FAST_C) 00363 #define BN_MP_COUNT_BITS_C 00364 #define BN_MP_INIT_C 00365 #define BN_MP_CLEAR_C 00366 #define BN_MP_MONTGOMERY_SETUP_C 00367 #define BN_FAST_MP_MONTGOMERY_REDUCE_C 00368 #define BN_MP_MONTGOMERY_REDUCE_C 00369 #define BN_MP_DR_SETUP_C 00370 #define BN_MP_DR_REDUCE_C 00371 #define BN_MP_REDUCE_2K_SETUP_C 00372 #define BN_MP_REDUCE_2K_C 00373 #define BN_MP_MONTGOMERY_CALC_NORMALIZATION_C 00374 #define BN_MP_MULMOD_C 00375 #define BN_MP_SET_C 00376 #define BN_MP_MOD_C 00377 #define BN_MP_COPY_C 00378 #define BN_MP_SQR_C 00379 #define BN_MP_MUL_C 00380 #define BN_MP_EXCH_C 00381 #endif 00382 00383 #if defined(BN_MP_EXTEUCLID_C) 00384 #define BN_MP_INIT_MULTI_C 00385 #define BN_MP_SET_C 00386 #define BN_MP_COPY_C 00387 #define BN_MP_ISZERO_C 00388 #define BN_MP_DIV_C 00389 #define BN_MP_MUL_C 00390 #define BN_MP_SUB_C 00391 #define BN_MP_NEG_C 00392 #define BN_MP_EXCH_C 00393 #define BN_MP_CLEAR_MULTI_C 00394 #endif 00395 00396 #if defined(BN_MP_FREAD_C) 00397 #define BN_MP_ZERO_C 00398 #define BN_MP_S_RMAP_C 00399 #define BN_MP_MUL_D_C 00400 #define BN_MP_ADD_D_C 00401 #define BN_MP_CMP_D_C 00402 #endif 00403 00404 #if defined(BN_MP_FWRITE_C) 00405 #define BN_MP_RADIX_SIZE_C 00406 #define BN_MP_TORADIX_C 00407 #endif 00408 00409 #if defined(BN_MP_GCD_C) 00410 #define BN_MP_ISZERO_C 00411 #define BN_MP_ABS_C 00412 #define BN_MP_ZERO_C 00413 #define BN_MP_INIT_COPY_C 00414 #define BN_MP_CNT_LSB_C 00415 #define BN_MP_DIV_2D_C 00416 #define BN_MP_CMP_MAG_C 00417 #define BN_MP_EXCH_C 00418 #define BN_S_MP_SUB_C 00419 #define BN_MP_MUL_2D_C 00420 #define BN_MP_CLEAR_C 00421 #endif 00422 00423 #if defined(BN_MP_GET_INT_C) 00424 #endif 00425 00426 #if defined(BN_MP_GROW_C) 00427 #endif 00428 00429 #if defined(BN_MP_INIT_C) 00430 #endif 00431 00432 #if defined(BN_MP_INIT_COPY_C) 00433 #define BN_MP_COPY_C 00434 #endif 00435 00436 #if defined(BN_MP_INIT_MULTI_C) 00437 #define BN_MP_ERR_C 00438 #define BN_MP_INIT_C 00439 #define BN_MP_CLEAR_C 00440 #endif 00441 00442 #if defined(BN_MP_INIT_SET_C) 00443 #define BN_MP_INIT_C 00444 #define BN_MP_SET_C 00445 #endif 00446 00447 #if defined(BN_MP_INIT_SET_INT_C) 00448 #define BN_MP_INIT_C 00449 #define BN_MP_SET_INT_C 00450 #endif 00451 00452 #if defined(BN_MP_INIT_SIZE_C) 00453 #define BN_MP_INIT_C 00454 #endif 00455 00456 #if defined(BN_MP_INVMOD_C) 00457 #define BN_MP_ISZERO_C 00458 #define BN_MP_ISODD_C 00459 #define BN_FAST_MP_INVMOD_C 00460 #define BN_MP_INVMOD_SLOW_C 00461 #endif 00462 00463 #if defined(BN_MP_INVMOD_SLOW_C) 00464 #define BN_MP_ISZERO_C 00465 #define BN_MP_INIT_MULTI_C 00466 #define BN_MP_MOD_C 00467 #define BN_MP_COPY_C 00468 #define BN_MP_ISEVEN_C 00469 #define BN_MP_SET_C 00470 #define BN_MP_DIV_2_C 00471 #define BN_MP_ISODD_C 00472 #define BN_MP_ADD_C 00473 #define BN_MP_SUB_C 00474 #define BN_MP_CMP_C 00475 #define BN_MP_CMP_D_C 00476 #define BN_MP_CMP_MAG_C 00477 #define BN_MP_EXCH_C 00478 #define BN_MP_CLEAR_MULTI_C 00479 #endif 00480 00481 #if defined(BN_MP_IS_SQUARE_C) 00482 #define BN_MP_MOD_D_C 00483 #define BN_MP_INIT_SET_INT_C 00484 #define BN_MP_MOD_C 00485 #define BN_MP_GET_INT_C 00486 #define BN_MP_SQRT_C 00487 #define BN_MP_SQR_C 00488 #define BN_MP_CMP_MAG_C 00489 #define BN_MP_CLEAR_C 00490 #endif 00491 00492 #if defined(BN_MP_JACOBI_C) 00493 #define BN_MP_CMP_D_C 00494 #define BN_MP_ISZERO_C 00495 #define BN_MP_INIT_COPY_C 00496 #define BN_MP_CNT_LSB_C 00497 #define BN_MP_DIV_2D_C 00498 #define BN_MP_MOD_C 00499 #define BN_MP_CLEAR_C 00500 #endif 00501 00502 #if defined(BN_MP_KARATSUBA_MUL_C) 00503 #define BN_MP_MUL_C 00504 #define BN_MP_INIT_SIZE_C 00505 #define BN_MP_CLAMP_C 00506 #define BN_MP_SUB_C 00507 #define BN_MP_ADD_C 00508 #define BN_MP_LSHD_C 00509 #define BN_MP_CLEAR_C 00510 #endif 00511 00512 #if defined(BN_MP_KARATSUBA_SQR_C) 00513 #define BN_MP_INIT_SIZE_C 00514 #define BN_MP_CLAMP_C 00515 #define BN_MP_SQR_C 00516 #define BN_MP_SUB_C 00517 #define BN_S_MP_ADD_C 00518 #define BN_MP_LSHD_C 00519 #define BN_MP_ADD_C 00520 #define BN_MP_CLEAR_C 00521 #endif 00522 00523 #if defined(BN_MP_LCM_C) 00524 #define BN_MP_INIT_MULTI_C 00525 #define BN_MP_GCD_C 00526 #define BN_MP_CMP_MAG_C 00527 #define BN_MP_DIV_C 00528 #define BN_MP_MUL_C 00529 #define BN_MP_CLEAR_MULTI_C 00530 #endif 00531 00532 #if defined(BN_MP_LSHD_C) 00533 #define BN_MP_GROW_C 00534 #define BN_MP_RSHD_C 00535 #endif 00536 00537 #if defined(BN_MP_MOD_C) 00538 #define BN_MP_INIT_C 00539 #define BN_MP_DIV_C 00540 #define BN_MP_CLEAR_C 00541 #define BN_MP_ADD_C 00542 #define BN_MP_EXCH_C 00543 #endif 00544 00545 #if defined(BN_MP_MOD_2D_C) 00546 #define BN_MP_ZERO_C 00547 #define BN_MP_COPY_C 00548 #define BN_MP_CLAMP_C 00549 #endif 00550 00551 #if defined(BN_MP_MOD_D_C) 00552 #define BN_MP_DIV_D_C 00553 #endif 00554 00555 #if defined(BN_MP_MONTGOMERY_CALC_NORMALIZATION_C) 00556 #define BN_MP_COUNT_BITS_C 00557 #define BN_MP_2EXPT_C 00558 #define BN_MP_SET_C 00559 #define BN_MP_MUL_2_C 00560 #define BN_MP_CMP_MAG_C 00561 #define BN_S_MP_SUB_C 00562 #endif 00563 00564 #if defined(BN_MP_MONTGOMERY_REDUCE_C) 00565 #define BN_FAST_MP_MONTGOMERY_REDUCE_C 00566 #define BN_MP_GROW_C 00567 #define BN_MP_CLAMP_C 00568 #define BN_MP_RSHD_C 00569 #define BN_MP_CMP_MAG_C 00570 #define BN_S_MP_SUB_C 00571 #endif 00572 00573 #if defined(BN_MP_MONTGOMERY_SETUP_C) 00574 #endif 00575 00576 #if defined(BN_MP_MUL_C) 00577 #define BN_MP_TOOM_MUL_C 00578 #define BN_MP_KARATSUBA_MUL_C 00579 #define BN_FAST_S_MP_MUL_DIGS_C 00580 #define BN_S_MP_MUL_C 00581 #define BN_S_MP_MUL_DIGS_C 00582 #endif 00583 00584 #if defined(BN_MP_MUL_2_C) 00585 #define BN_MP_GROW_C 00586 #endif 00587 00588 #if defined(BN_MP_MUL_2D_C) 00589 #define BN_MP_COPY_C 00590 #define BN_MP_GROW_C 00591 #define BN_MP_LSHD_C 00592 #define BN_MP_CLAMP_C 00593 #endif 00594 00595 #if defined(BN_MP_MUL_D_C) 00596 #define BN_MP_GROW_C 00597 #define BN_MP_CLAMP_C 00598 #endif 00599 00600 #if defined(BN_MP_MULMOD_C) 00601 #define BN_MP_INIT_C 00602 #define BN_MP_MUL_C 00603 #define BN_MP_CLEAR_C 00604 #define BN_MP_MOD_C 00605 #endif 00606 00607 #if defined(BN_MP_N_ROOT_C) 00608 #define BN_MP_INIT_C 00609 #define BN_MP_SET_C 00610 #define BN_MP_COPY_C 00611 #define BN_MP_EXPT_D_C 00612 #define BN_MP_MUL_C 00613 #define BN_MP_SUB_C 00614 #define BN_MP_MUL_D_C 00615 #define BN_MP_DIV_C 00616 #define BN_MP_CMP_C 00617 #define BN_MP_SUB_D_C 00618 #define BN_MP_EXCH_C 00619 #define BN_MP_CLEAR_C 00620 #endif 00621 00622 #if defined(BN_MP_NEG_C) 00623 #define BN_MP_COPY_C 00624 #define BN_MP_ISZERO_C 00625 #endif 00626 00627 #if defined(BN_MP_OR_C) 00628 #define BN_MP_INIT_COPY_C 00629 #define BN_MP_CLAMP_C 00630 #define BN_MP_EXCH_C 00631 #define BN_MP_CLEAR_C 00632 #endif 00633 00634 #if defined(BN_MP_PRIME_FERMAT_C) 00635 #define BN_MP_CMP_D_C 00636 #define BN_MP_INIT_C 00637 #define BN_MP_EXPTMOD_C 00638 #define BN_MP_CMP_C 00639 #define BN_MP_CLEAR_C 00640 #endif 00641 00642 #if defined(BN_MP_PRIME_IS_DIVISIBLE_C) 00643 #define BN_MP_MOD_D_C 00644 #endif 00645 00646 #if defined(BN_MP_PRIME_IS_PRIME_C) 00647 #define BN_MP_CMP_D_C 00648 #define BN_MP_PRIME_IS_DIVISIBLE_C 00649 #define BN_MP_INIT_C 00650 #define BN_MP_SET_C 00651 #define BN_MP_PRIME_MILLER_RABIN_C 00652 #define BN_MP_CLEAR_C 00653 #endif 00654 00655 #if defined(BN_MP_PRIME_MILLER_RABIN_C) 00656 #define BN_MP_CMP_D_C 00657 #define BN_MP_INIT_COPY_C 00658 #define BN_MP_SUB_D_C 00659 #define BN_MP_CNT_LSB_C 00660 #define BN_MP_DIV_2D_C 00661 #define BN_MP_EXPTMOD_C 00662 #define BN_MP_CMP_C 00663 #define BN_MP_SQRMOD_C 00664 #define BN_MP_CLEAR_C 00665 #endif 00666 00667 #if defined(BN_MP_PRIME_NEXT_PRIME_C) 00668 #define BN_MP_CMP_D_C 00669 #define BN_MP_SET_C 00670 #define BN_MP_SUB_D_C 00671 #define BN_MP_ISEVEN_C 00672 #define BN_MP_MOD_D_C 00673 #define BN_MP_INIT_C 00674 #define BN_MP_ADD_D_C 00675 #define BN_MP_PRIME_MILLER_RABIN_C 00676 #define BN_MP_CLEAR_C 00677 #endif 00678 00679 #if defined(BN_MP_PRIME_RABIN_MILLER_TRIALS_C) 00680 #endif 00681 00682 #if defined(BN_MP_PRIME_RANDOM_EX_C) 00683 #define BN_MP_READ_UNSIGNED_BIN_C 00684 #define BN_MP_PRIME_IS_PRIME_C 00685 #define BN_MP_SUB_D_C 00686 #define BN_MP_DIV_2_C 00687 #define BN_MP_MUL_2_C 00688 #define BN_MP_ADD_D_C 00689 #endif 00690 00691 #if defined(BN_MP_RADIX_SIZE_C) 00692 #define BN_MP_COUNT_BITS_C 00693 #define BN_MP_INIT_COPY_C 00694 #define BN_MP_ISZERO_C 00695 #define BN_MP_DIV_D_C 00696 #define BN_MP_CLEAR_C 00697 #endif 00698 00699 #if defined(BN_MP_RADIX_SMAP_C) 00700 #define BN_MP_S_RMAP_C 00701 #endif 00702 00703 #if defined(BN_MP_RAND_C) 00704 #define BN_MP_ZERO_C 00705 #define BN_MP_ADD_D_C 00706 #define BN_MP_LSHD_C 00707 #endif 00708 00709 #if defined(BN_MP_READ_RADIX_C) 00710 #define BN_MP_ZERO_C 00711 #define BN_MP_S_RMAP_C 00712 #define BN_MP_RADIX_SMAP_C 00713 #define BN_MP_MUL_D_C 00714 #define BN_MP_ADD_D_C 00715 #define BN_MP_ISZERO_C 00716 #endif 00717 00718 #if defined(BN_MP_READ_SIGNED_BIN_C) 00719 #define BN_MP_READ_UNSIGNED_BIN_C 00720 #endif 00721 00722 #if defined(BN_MP_READ_UNSIGNED_BIN_C) 00723 #define BN_MP_GROW_C 00724 #define BN_MP_ZERO_C 00725 #define BN_MP_MUL_2D_C 00726 #define BN_MP_CLAMP_C 00727 #endif 00728 00729 #if defined(BN_MP_REDUCE_C) 00730 #define BN_MP_REDUCE_SETUP_C 00731 #define BN_MP_INIT_COPY_C 00732 #define BN_MP_RSHD_C 00733 #define BN_MP_MUL_C 00734 #define BN_S_MP_MUL_HIGH_DIGS_C 00735 #define BN_FAST_S_MP_MUL_HIGH_DIGS_C 00736 #define BN_MP_MOD_2D_C 00737 #define BN_S_MP_MUL_DIGS_C 00738 #define BN_MP_SUB_C 00739 #define BN_MP_CMP_D_C 00740 #define BN_MP_SET_C 00741 #define BN_MP_LSHD_C 00742 #define BN_MP_ADD_C 00743 #define BN_MP_CMP_C 00744 #define BN_S_MP_SUB_C 00745 #define BN_MP_CLEAR_C 00746 #endif 00747 00748 #if defined(BN_MP_REDUCE_2K_C) 00749 #define BN_MP_INIT_C 00750 #define BN_MP_COUNT_BITS_C 00751 #define BN_MP_DIV_2D_C 00752 #define BN_MP_MUL_D_C 00753 #define BN_S_MP_ADD_C 00754 #define BN_MP_CMP_MAG_C 00755 #define BN_S_MP_SUB_C 00756 #define BN_MP_CLEAR_C 00757 #endif 00758 00759 #if defined(BN_MP_REDUCE_2K_L_C) 00760 #define BN_MP_INIT_C 00761 #define BN_MP_COUNT_BITS_C 00762 #define BN_MP_DIV_2D_C 00763 #define BN_MP_MUL_C 00764 #define BN_S_MP_ADD_C 00765 #define BN_MP_CMP_MAG_C 00766 #define BN_S_MP_SUB_C 00767 #define BN_MP_CLEAR_C 00768 #endif 00769 00770 #if defined(BN_MP_REDUCE_2K_SETUP_C) 00771 #define BN_MP_INIT_C 00772 #define BN_MP_COUNT_BITS_C 00773 #define BN_MP_2EXPT_C 00774 #define BN_MP_CLEAR_C 00775 #define BN_S_MP_SUB_C 00776 #endif 00777 00778 #if defined(BN_MP_REDUCE_2K_SETUP_L_C) 00779 #define BN_MP_INIT_C 00780 #define BN_MP_2EXPT_C 00781 #define BN_MP_COUNT_BITS_C 00782 #define BN_S_MP_SUB_C 00783 #define BN_MP_CLEAR_C 00784 #endif 00785 00786 #if defined(BN_MP_REDUCE_IS_2K_C) 00787 #define BN_MP_REDUCE_2K_C 00788 #define BN_MP_COUNT_BITS_C 00789 #endif 00790 00791 #if defined(BN_MP_REDUCE_IS_2K_L_C) 00792 #endif 00793 00794 #if defined(BN_MP_REDUCE_SETUP_C) 00795 #define BN_MP_2EXPT_C 00796 #define BN_MP_DIV_C 00797 #endif 00798 00799 #if defined(BN_MP_RSHD_C) 00800 #define BN_MP_ZERO_C 00801 #endif 00802 00803 #if defined(BN_MP_SET_C) 00804 #define BN_MP_ZERO_C 00805 #endif 00806 00807 #if defined(BN_MP_SET_INT_C) 00808 #define BN_MP_ZERO_C 00809 #define BN_MP_MUL_2D_C 00810 #define BN_MP_CLAMP_C 00811 #endif 00812 00813 #if defined(BN_MP_SHRINK_C) 00814 #endif 00815 00816 #if defined(BN_MP_SIGNED_BIN_SIZE_C) 00817 #define BN_MP_UNSIGNED_BIN_SIZE_C 00818 #endif 00819 00820 #if defined(BN_MP_SQR_C) 00821 #define BN_MP_TOOM_SQR_C 00822 #define BN_MP_KARATSUBA_SQR_C 00823 #define BN_FAST_S_MP_SQR_C 00824 #define BN_S_MP_SQR_C 00825 #endif 00826 00827 #if defined(BN_MP_SQRMOD_C) 00828 #define BN_MP_INIT_C 00829 #define BN_MP_SQR_C 00830 #define BN_MP_CLEAR_C 00831 #define BN_MP_MOD_C 00832 #endif 00833 00834 #if defined(BN_MP_SQRT_C) 00835 #define BN_MP_N_ROOT_C 00836 #define BN_MP_ISZERO_C 00837 #define BN_MP_ZERO_C 00838 #define BN_MP_INIT_COPY_C 00839 #define BN_MP_RSHD_C 00840 #define BN_MP_DIV_C 00841 #define BN_MP_ADD_C 00842 #define BN_MP_DIV_2_C 00843 #define BN_MP_CMP_MAG_C 00844 #define BN_MP_EXCH_C 00845 #define BN_MP_CLEAR_C 00846 #endif 00847 00848 #if defined(BN_MP_SUB_C) 00849 #define BN_S_MP_ADD_C 00850 #define BN_MP_CMP_MAG_C 00851 #define BN_S_MP_SUB_C 00852 #endif 00853 00854 #if defined(BN_MP_SUB_D_C) 00855 #define BN_MP_GROW_C 00856 #define BN_MP_ADD_D_C 00857 #define BN_MP_CLAMP_C 00858 #endif 00859 00860 #if defined(BN_MP_SUBMOD_C) 00861 #define BN_MP_INIT_C 00862 #define BN_MP_SUB_C 00863 #define BN_MP_CLEAR_C 00864 #define BN_MP_MOD_C 00865 #endif 00866 00867 #if defined(BN_MP_TO_SIGNED_BIN_C) 00868 #define BN_MP_TO_UNSIGNED_BIN_C 00869 #endif 00870 00871 #if defined(BN_MP_TO_SIGNED_BIN_N_C) 00872 #define BN_MP_SIGNED_BIN_SIZE_C 00873 #define BN_MP_TO_SIGNED_BIN_C 00874 #endif 00875 00876 #if defined(BN_MP_TO_UNSIGNED_BIN_C) 00877 #define BN_MP_INIT_COPY_C 00878 #define BN_MP_ISZERO_C 00879 #define BN_MP_DIV_2D_C 00880 #define BN_MP_CLEAR_C 00881 #endif 00882 00883 #if defined(BN_MP_TO_UNSIGNED_BIN_N_C) 00884 #define BN_MP_UNSIGNED_BIN_SIZE_C 00885 #define BN_MP_TO_UNSIGNED_BIN_C 00886 #endif 00887 00888 #if defined(BN_MP_TOOM_MUL_C) 00889 #define BN_MP_INIT_MULTI_C 00890 #define BN_MP_MOD_2D_C 00891 #define BN_MP_COPY_C 00892 #define BN_MP_RSHD_C 00893 #define BN_MP_MUL_C 00894 #define BN_MP_MUL_2_C 00895 #define BN_MP_ADD_C 00896 #define BN_MP_SUB_C 00897 #define BN_MP_DIV_2_C 00898 #define BN_MP_MUL_2D_C 00899 #define BN_MP_MUL_D_C 00900 #define BN_MP_DIV_3_C 00901 #define BN_MP_LSHD_C 00902 #define BN_MP_CLEAR_MULTI_C 00903 #endif 00904 00905 #if defined(BN_MP_TOOM_SQR_C) 00906 #define BN_MP_INIT_MULTI_C 00907 #define BN_MP_MOD_2D_C 00908 #define BN_MP_COPY_C 00909 #define BN_MP_RSHD_C 00910 #define BN_MP_SQR_C 00911 #define BN_MP_MUL_2_C 00912 #define BN_MP_ADD_C 00913 #define BN_MP_SUB_C 00914 #define BN_MP_DIV_2_C 00915 #define BN_MP_MUL_2D_C 00916 #define BN_MP_MUL_D_C 00917 #define BN_MP_DIV_3_C 00918 #define BN_MP_LSHD_C 00919 #define BN_MP_CLEAR_MULTI_C 00920 #endif 00921 00922 #if defined(BN_MP_TORADIX_C) 00923 #define BN_MP_ISZERO_C 00924 #define BN_MP_INIT_COPY_C 00925 #define BN_MP_DIV_D_C 00926 #define BN_MP_CLEAR_C 00927 #define BN_MP_S_RMAP_C 00928 #endif 00929 00930 #if defined(BN_MP_TORADIX_N_C) 00931 #define BN_MP_ISZERO_C 00932 #define BN_MP_INIT_COPY_C 00933 #define BN_MP_DIV_D_C 00934 #define BN_MP_CLEAR_C 00935 #define BN_MP_S_RMAP_C 00936 #endif 00937 00938 #if defined(BN_MP_UNSIGNED_BIN_SIZE_C) 00939 #define BN_MP_COUNT_BITS_C 00940 #endif 00941 00942 #if defined(BN_MP_XOR_C) 00943 #define BN_MP_INIT_COPY_C 00944 #define BN_MP_CLAMP_C 00945 #define BN_MP_EXCH_C 00946 #define BN_MP_CLEAR_C 00947 #endif 00948 00949 #if defined(BN_MP_ZERO_C) 00950 #endif 00951 00952 #if defined(BN_PRIME_TAB_C) 00953 #endif 00954 00955 #if defined(BN_REVERSE_C) 00956 #endif 00957 00958 #if defined(BN_S_MP_ADD_C) 00959 #define BN_MP_GROW_C 00960 #define BN_MP_CLAMP_C 00961 #endif 00962 00963 #if defined(BN_S_MP_EXPTMOD_C) 00964 #define BN_MP_COUNT_BITS_C 00965 #define BN_MP_INIT_C 00966 #define BN_MP_CLEAR_C 00967 #define BN_MP_REDUCE_SETUP_C 00968 #define BN_MP_REDUCE_C 00969 #define BN_MP_REDUCE_2K_SETUP_L_C 00970 #define BN_MP_REDUCE_2K_L_C 00971 #define BN_MP_MOD_C 00972 #define BN_MP_COPY_C 00973 #define BN_MP_SQR_C 00974 #define BN_MP_MUL_C 00975 #define BN_MP_SET_C 00976 #define BN_MP_EXCH_C 00977 #endif 00978 00979 #if defined(BN_S_MP_MUL_DIGS_C) 00980 #define BN_FAST_S_MP_MUL_DIGS_C 00981 #define BN_MP_INIT_SIZE_C 00982 #define BN_MP_CLAMP_C 00983 #define BN_MP_EXCH_C 00984 #define BN_MP_CLEAR_C 00985 #endif 00986 00987 #if defined(BN_S_MP_MUL_HIGH_DIGS_C) 00988 #define BN_FAST_S_MP_MUL_HIGH_DIGS_C 00989 #define BN_MP_INIT_SIZE_C 00990 #define BN_MP_CLAMP_C 00991 #define BN_MP_EXCH_C 00992 #define BN_MP_CLEAR_C 00993 #endif 00994 00995 #if defined(BN_S_MP_SQR_C) 00996 #define BN_MP_INIT_SIZE_C 00997 #define BN_MP_CLAMP_C 00998 #define BN_MP_EXCH_C 00999 #define BN_MP_CLEAR_C 01000 #endif 01001 01002 #if defined(BN_S_MP_SUB_C) 01003 #define BN_MP_GROW_C 01004 #define BN_MP_CLAMP_C 01005 #endif 01006 01007 #if defined(BNCORE_C) 01008 #endif 01009 01010 #ifdef LTM3 01011 #define LTM_LAST 01012 #endif 01013 #include "mpi_superclass.h" 01014 #include "mpi_class.h" 01015 #else 01016 #define LTM_LAST 01017 #endif 01018 01019
Generated on Tue Jul 12 2022 21:40:05 by
1.7.2
