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