My Project
Loading...
Searching...
No Matches
tfm.h File Reference

Go to the source code of this file.

Data Structures

struct  WC_BIGINT
 
struct  fp_int
 
struct  exptModNb_t
 

Typedefs

typedef unsigned long fp_word
 
typedef unsigned long long fp_digit
 
typedef unsigned long fp_word __attribute__((mode(TI)))
 
typedef unsigned long long ulong64
 
typedef struct WC_BIGINT WC_BIGINT
 
typedef struct fp_int fp_int
 
typedef fp_digit mp_digit
 
typedef fp_word mp_word
 
typedef fp_int mp_int
 

Enumerations

enum  tfmExptModNbState {
  TFM_EXPTMOD_NB_INIT = 0 , TFM_EXPTMOD_NB_MONT , TFM_EXPTMOD_NB_MONT_RED , TFM_EXPTMOD_NB_MONT_MUL ,
  TFM_EXPTMOD_NB_MONT_MOD , TFM_EXPTMOD_NB_MONT_MODCHK , TFM_EXPTMOD_NB_NEXT , TFM_EXPTMOD_NB_MUL ,
  TFM_EXPTMOD_NB_MUL_RED , TFM_EXPTMOD_NB_SQR , TFM_EXPTMOD_NB_SQR_RED , TFM_EXPTMOD_NB_RED ,
  TFM_EXPTMOD_NB_COUNT
}
 
enum  { TFM_EXPTMOD_NB_STOP = 0 , TFM_EXPTMOD_NB_CONTINUE = 1 }
 

Functions

void fp_init (fp_int *a)
 
MP_API void fp_zero (fp_int *a)
 
MP_API void fp_clear (fp_int *a)
 
MP_API void fp_forcezero (fp_int *a)
 
MP_API void fp_free (fp_int *a)
 
void fp_set (fp_int *a, fp_digit b)
 
void fp_set_int (fp_int *a, unsigned long b)
 
int fp_is_bit_set (fp_int *a, fp_digit b)
 
int fp_set_bit (fp_int *a, fp_digit b)
 
void fp_copy (fp_int *a, fp_int *b)
 
void fp_init_copy (fp_int *a, fp_int *b)
 
void fp_rshd (fp_int *a, int x)
 
void fp_rshb (fp_int *a, int x)
 
void fp_lshd (fp_int *a, int x)
 
int fp_cmp (fp_int *a, fp_int *b)
 
int fp_cmp_mag (fp_int *a, fp_int *b)
 
void fp_div_2d (fp_int *a, int b, fp_int *c, fp_int *d)
 
void fp_mod_2d (fp_int *a, int b, fp_int *c)
 
void fp_mul_2d (fp_int *a, int b, fp_int *c)
 
void fp_2expt (fp_int *a, int b)
 
void fp_mul_2 (fp_int *a, fp_int *c)
 
void fp_div_2 (fp_int *a, fp_int *c)
 
int fp_cnt_lsb (fp_int *a)
 
void fp_add (fp_int *a, fp_int *b, fp_int *c)
 
void fp_sub (fp_int *a, fp_int *b, fp_int *c)
 
int fp_mul (fp_int *a, fp_int *b, fp_int *c)
 
int fp_sqr (fp_int *a, fp_int *b)
 
int fp_div (fp_int *a, fp_int *b, fp_int *c, fp_int *d)
 
int fp_mod (fp_int *a, fp_int *b, fp_int *c)
 
int fp_cmp_d (fp_int *a, fp_digit b)
 
void fp_add_d (fp_int *a, fp_digit b, fp_int *c)
 
int fp_sub_d (fp_int *a, fp_digit b, fp_int *c)
 
void fp_mul_d (fp_int *a, fp_digit b, fp_int *c)
 
int fp_mulmod (fp_int *a, fp_int *b, fp_int *c, fp_int *d)
 
int fp_submod (fp_int *a, fp_int *b, fp_int *c, fp_int *d)
 
int fp_addmod (fp_int *a, fp_int *b, fp_int *c, fp_int *d)
 
int fp_sqrmod (fp_int *a, fp_int *b, fp_int *c)
 
int fp_invmod (fp_int *a, fp_int *b, fp_int *c)
 
int fp_invmod_mont_ct (fp_int *a, fp_int *b, fp_int *c, fp_digit mp)
 
int fp_montgomery_setup (fp_int *a, fp_digit *mp)
 
void fp_montgomery_calc_normalization (fp_int *a, fp_int *b)
 
int fp_montgomery_reduce (fp_int *a, fp_int *m, fp_digit mp)
 
int fp_exptmod (fp_int *a, fp_int *b, fp_int *c, fp_int *d)
 
int fp_exptmod_ex (fp_int *a, fp_int *b, int minDigits, fp_int *c, fp_int *d)
 
int fp_exptmod_nct (fp_int *a, fp_int *b, fp_int *c, fp_int *d)
 
int fp_exptmod_nb (exptModNb_t *nb, fp_int *G, fp_int *X, fp_int *P, fp_int *Y)
 
int fp_count_bits (fp_int *a)
 
int fp_leading_bit (fp_int *a)
 
int fp_unsigned_bin_size (fp_int *a)
 
void fp_read_unsigned_bin (fp_int *a, const unsigned char *b, int c)
 
int fp_to_unsigned_bin (fp_int *a, unsigned char *b)
 
int fp_to_unsigned_bin_len (fp_int *a, unsigned char *b, int c)
 
int fp_to_unsigned_bin_at_pos (int x, fp_int *t, unsigned char *b)
 
void s_fp_add (fp_int *a, fp_int *b, fp_int *c)
 
void s_fp_sub (fp_int *a, fp_int *b, fp_int *c)
 
void fp_reverse (unsigned char *s, int len)
 
int fp_mul_comba (fp_int *a, fp_int *b, fp_int *c)
 
int fp_mul_comba_small (fp_int *a, fp_int *b, fp_int *c)
 
int fp_mul_comba3 (fp_int *a, fp_int *b, fp_int *c)
 
int fp_mul_comba4 (fp_int *a, fp_int *b, fp_int *c)
 
int fp_mul_comba6 (fp_int *a, fp_int *b, fp_int *c)
 
int fp_mul_comba7 (fp_int *a, fp_int *b, fp_int *c)
 
int fp_mul_comba8 (fp_int *a, fp_int *b, fp_int *c)
 
int fp_mul_comba9 (fp_int *a, fp_int *b, fp_int *c)
 
int fp_mul_comba12 (fp_int *a, fp_int *b, fp_int *c)
 
int fp_mul_comba17 (fp_int *a, fp_int *b, fp_int *c)
 
int fp_mul_comba20 (fp_int *a, fp_int *b, fp_int *c)
 
int fp_mul_comba24 (fp_int *a, fp_int *b, fp_int *c)
 
int fp_mul_comba28 (fp_int *a, fp_int *b, fp_int *c)
 
int fp_mul_comba32 (fp_int *a, fp_int *b, fp_int *c)
 
int fp_mul_comba48 (fp_int *a, fp_int *b, fp_int *c)
 
int fp_mul_comba64 (fp_int *a, fp_int *b, fp_int *c)
 
int fp_sqr_comba (fp_int *a, fp_int *b)
 
int fp_sqr_comba_small (fp_int *a, fp_int *b)
 
int fp_sqr_comba3 (fp_int *a, fp_int *b)
 
int fp_sqr_comba4 (fp_int *a, fp_int *b)
 
int fp_sqr_comba6 (fp_int *a, fp_int *b)
 
int fp_sqr_comba7 (fp_int *a, fp_int *b)
 
int fp_sqr_comba8 (fp_int *a, fp_int *b)
 
int fp_sqr_comba9 (fp_int *a, fp_int *b)
 
int fp_sqr_comba12 (fp_int *a, fp_int *b)
 
int fp_sqr_comba17 (fp_int *a, fp_int *b)
 
int fp_sqr_comba20 (fp_int *a, fp_int *b)
 
int fp_sqr_comba24 (fp_int *a, fp_int *b)
 
int fp_sqr_comba28 (fp_int *a, fp_int *b)
 
int fp_sqr_comba32 (fp_int *a, fp_int *b)
 
int fp_sqr_comba48 (fp_int *a, fp_int *b)
 
int fp_sqr_comba64 (fp_int *a, fp_int *b)
 
MP_API int mp_init (mp_int *a)
 
MP_API void mp_clear (mp_int *a)
 
MP_API void mp_free (mp_int *a)
 
MP_API void mp_forcezero (mp_int *a)
 
MP_API int mp_init_multi (mp_int *a, mp_int *b, mp_int *c, mp_int *d, mp_int *e, mp_int *f)
 
MP_API int mp_add (mp_int *a, mp_int *b, mp_int *c)
 
MP_API int mp_sub (mp_int *a, mp_int *b, mp_int *c)
 
MP_API int mp_add_d (mp_int *a, mp_digit b, mp_int *c)
 
MP_API int mp_mul (mp_int *a, mp_int *b, mp_int *c)
 
MP_API int mp_mul_d (mp_int *a, mp_digit b, mp_int *c)
 
MP_API int mp_mulmod (mp_int *a, mp_int *b, mp_int *c, mp_int *d)
 
MP_API int mp_submod (mp_int *a, mp_int *b, mp_int *c, mp_int *d)
 
MP_API int mp_addmod (mp_int *a, mp_int *b, mp_int *c, mp_int *d)
 
MP_API int mp_mod (mp_int *a, mp_int *b, mp_int *c)
 
MP_API int mp_invmod (mp_int *a, mp_int *b, mp_int *c)
 
MP_API int mp_invmod_mont_ct (mp_int *a, mp_int *b, mp_int *c, fp_digit mp)
 
MP_API int mp_exptmod (mp_int *g, mp_int *x, mp_int *p, mp_int *y)
 
MP_API int mp_exptmod_ex (mp_int *g, mp_int *x, int minDigits, mp_int *p, mp_int *y)
 
MP_API int mp_exptmod_nct (mp_int *g, mp_int *x, mp_int *p, mp_int *y)
 
MP_API int mp_mul_2d (mp_int *a, int b, mp_int *c)
 
MP_API int mp_2expt (mp_int *a, int b)
 
MP_API int mp_div (mp_int *a, mp_int *b, mp_int *c, mp_int *d)
 
MP_API int mp_cmp (mp_int *a, mp_int *b)
 
MP_API int mp_cmp_d (mp_int *a, mp_digit b)
 
MP_API int mp_unsigned_bin_size (mp_int *a)
 
MP_API int mp_read_unsigned_bin (mp_int *a, const unsigned char *b, int c)
 
MP_API int mp_to_unsigned_bin_at_pos (int x, mp_int *t, unsigned char *b)
 
MP_API int mp_to_unsigned_bin (mp_int *a, unsigned char *b)
 
MP_API int mp_to_unsigned_bin_len (mp_int *a, unsigned char *b, int c)
 
MP_API int mp_sub_d (fp_int *a, fp_digit b, fp_int *c)
 
MP_API int mp_copy (fp_int *a, fp_int *b)
 
MP_API int mp_isodd (mp_int *a)
 
MP_API int mp_iszero (mp_int *a)
 
MP_API int mp_count_bits (mp_int *a)
 
MP_API int mp_leading_bit (mp_int *a)
 
MP_API int mp_set_int (mp_int *a, unsigned long b)
 
MP_API int mp_is_bit_set (mp_int *a, mp_digit b)
 
MP_API int mp_set_bit (mp_int *a, mp_digit b)
 
MP_API void mp_rshb (mp_int *a, int x)
 
MP_API void mp_rshd (mp_int *a, int x)
 
MP_API int mp_toradix (mp_int *a, char *str, int radix)
 
MP_API int mp_radix_size (mp_int *a, int radix, int *size)
 
MP_API void mp_dump (const char *desc, mp_int *a, byte verbose)
 
MP_API int mp_read_radix (mp_int *a, const char *str, int radix)
 
MP_API int mp_sqr (fp_int *a, fp_int *b)
 
MP_API int mp_montgomery_reduce (fp_int *a, fp_int *m, fp_digit mp)
 
MP_API int mp_montgomery_setup (fp_int *a, fp_digit *rho)
 
MP_API int mp_div_2 (fp_int *a, fp_int *b)
 
MP_API int mp_init_copy (fp_int *a, fp_int *b)
 
MP_API int mp_set (fp_int *a, fp_digit b)
 
MP_API int mp_sqrmod (mp_int *a, mp_int *b, mp_int *c)
 
MP_API int mp_montgomery_calc_normalization (mp_int *a, mp_int *b)
 
MP_API int mp_prime_is_prime (mp_int *a, int t, int *result)
 
MP_API int mp_prime_is_prime_ex (mp_int *a, int t, int *result, WC_RNG *rng)
 
MP_API int mp_gcd (fp_int *a, fp_int *b, fp_int *c)
 
MP_API int mp_lcm (fp_int *a, fp_int *b, fp_int *c)
 
MP_API int mp_rand_prime (mp_int *N, int len, WC_RNG *rng, void *heap)
 
MP_API int mp_exch (mp_int *a, mp_int *b)
 
MP_API int mp_cnt_lsb (fp_int *a)
 
MP_API int mp_div_2d (fp_int *a, int b, fp_int *c, fp_int *d)
 
MP_API int mp_mod_d (fp_int *a, fp_digit b, fp_digit *c)
 
MP_API int mp_lshd (mp_int *a, int b)
 
MP_API int mp_abs (mp_int *a, mp_int *b)
 
WOLFSSL_API word32 CheckRunTimeFastMath (void)
 This function checks the runtime fastmath settings for the maximum size of an integer. It is important when a user is using a wolfCrypt library independently, as the FP_SIZE must match for each library in order for math to work correctly. This check is defined as CheckFastMathSettings(), which simply compares CheckRunTimeFastMath and FP_SIZE, returning 0 if there is a mismatch, or 1 if they match.
 

Variables

 C
 

Detailed Description

Edited by Moises Guimaraes (moise.nosp@m.s.gu.nosp@m.imara.nosp@m.es@p.nosp@m.hoebu.nosp@m.s.co.nosp@m.m.br) to fit CyaSSL's needs.