wolfSSL SSL/TLS library, support up to TLS1.3

Dependents:   CyaSSL-Twitter-OAuth4Tw Example-client-tls-cert TwitterReader TweetTest ... more

Committer:
wolfSSL
Date:
Fri Jun 26 00:39:20 2015 +0000
Revision:
0:d92f9d21154c
wolfSSL 3.6.0

Who changed what in which revision?

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