Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Functions
mpi.h File Reference
#include <linux/types.h>

Go to the source code of this file.

Data Structures

struct  gcry_mpi
 

Macros

#define SHA1_DIGEST_LENGTH   20
 
#define BYTES_PER_MPI_LIMB   (BITS_PER_LONG / 8)
 
#define BITS_PER_MPI_LIMB   BITS_PER_LONG
 
#define mpi_get_nlimbs(a)   ((a)->nlimbs)
 
#define mpi_is_neg(a)   ((a)->sign)
 
#define log_mpidump   g10_log_mpidump
 

Typedefs

typedef unsigned long int mpi_limb_t
 
typedef signed long int mpi_limb_signed_t
 
typedef struct gcry_mpiMPI
 

Functions

MPI mpi_alloc (unsigned nlimbs)
 
MPI mpi_alloc_secure (unsigned nlimbs)
 
MPI mpi_alloc_like (MPI a)
 
void mpi_free (MPI a)
 
int mpi_resize (MPI a, unsigned nlimbs)
 
int mpi_copy (MPI *copy, const MPI a)
 
void mpi_clear (MPI a)
 
int mpi_set (MPI w, MPI u)
 
int mpi_set_ui (MPI w, ulong u)
 
MPI mpi_alloc_set_ui (unsigned long u)
 
void mpi_m_check (MPI a)
 
void mpi_swap (MPI a, MPI b)
 
MPI do_encode_md (const void *sha_buffer, unsigned nbits)
 
MPI mpi_read_raw_data (const void *xbuffer, size_t nbytes)
 
MPI mpi_read_from_buffer (const void *buffer, unsigned *ret_nread)
 
int mpi_fromstr (MPI val, const char *str)
 
u32 mpi_get_keyid (MPI a, u32 *keyid)
 
voidmpi_get_buffer (MPI a, unsigned *nbytes, int *sign)
 
voidmpi_get_secure_buffer (MPI a, unsigned *nbytes, int *sign)
 
int mpi_set_buffer (MPI a, const void *buffer, unsigned nbytes, int sign)
 
int mpi_add_ui (MPI w, MPI u, ulong v)
 
int mpi_add (MPI w, MPI u, MPI v)
 
int mpi_addm (MPI w, MPI u, MPI v, MPI m)
 
int mpi_sub_ui (MPI w, MPI u, ulong v)
 
int mpi_sub (MPI w, MPI u, MPI v)
 
int mpi_subm (MPI w, MPI u, MPI v, MPI m)
 
int mpi_mul_ui (MPI w, MPI u, ulong v)
 
int mpi_mul_2exp (MPI w, MPI u, ulong cnt)
 
int mpi_mul (MPI w, MPI u, MPI v)
 
int mpi_mulm (MPI w, MPI u, MPI v, MPI m)
 
ulong mpi_fdiv_r_ui (MPI rem, MPI dividend, ulong divisor)
 
int mpi_fdiv_r (MPI rem, MPI dividend, MPI divisor)
 
int mpi_fdiv_q (MPI quot, MPI dividend, MPI divisor)
 
int mpi_fdiv_qr (MPI quot, MPI rem, MPI dividend, MPI divisor)
 
int mpi_tdiv_r (MPI rem, MPI num, MPI den)
 
int mpi_tdiv_qr (MPI quot, MPI rem, MPI num, MPI den)
 
int mpi_tdiv_q_2exp (MPI w, MPI u, unsigned count)
 
int mpi_divisible_ui (const MPI dividend, ulong divisor)
 
int mpi_gcd (MPI g, const MPI a, const MPI b)
 
int mpi_pow (MPI w, MPI u, MPI v)
 
int mpi_powm (MPI res, MPI base, MPI exp, MPI mod)
 
int mpi_mulpowm (MPI res, MPI *basearray, MPI *exparray, MPI mod)
 
int mpi_cmp_ui (MPI u, ulong v)
 
int mpi_cmp (MPI u, MPI v)
 
int mpi_getbyte (MPI a, unsigned idx)
 
void mpi_putbyte (MPI a, unsigned idx, int value)
 
unsigned mpi_trailing_zeros (MPI a)
 
void mpi_normalize (MPI a)
 
unsigned mpi_get_nbits (MPI a)
 
int mpi_test_bit (MPI a, unsigned n)
 
int mpi_set_bit (MPI a, unsigned n)
 
int mpi_set_highbit (MPI a, unsigned n)
 
void mpi_clear_highbit (MPI a, unsigned n)
 
void mpi_clear_bit (MPI a, unsigned n)
 
int mpi_rshift (MPI x, MPI a, unsigned n)
 
int mpi_invm (MPI x, MPI u, MPI v)
 

Macro Definition Documentation

#define BITS_PER_MPI_LIMB   BITS_PER_LONG

Definition at line 42 of file mpi.h.

#define BYTES_PER_MPI_LIMB   (BITS_PER_LONG / 8)

Definition at line 41 of file mpi.h.

#define log_mpidump   g10_log_mpidump

Definition at line 87 of file mpi.h.

#define mpi_get_nlimbs (   a)    ((a)->nlimbs)

Definition at line 60 of file mpi.h.

#define mpi_is_neg (   a)    ((a)->sign)

Definition at line 61 of file mpi.h.

#define SHA1_DIGEST_LENGTH   20

Definition at line 37 of file mpi.h.

Typedef Documentation

typedef struct gcry_mpi* MPI

Definition at line 58 of file mpi.h.

typedef signed long int mpi_limb_signed_t

Definition at line 45 of file mpi.h.

typedef unsigned long int mpi_limb_t

Definition at line 44 of file mpi.h.

Function Documentation

MPI do_encode_md ( const void sha_buffer,
unsigned  nbits 
)
int mpi_add ( MPI  w,
MPI  u,
MPI  v 
)
int mpi_add_ui ( MPI  w,
MPI  u,
ulong  v 
)
int mpi_addm ( MPI  w,
MPI  u,
MPI  v,
MPI  m 
)
MPI mpi_alloc ( unsigned  nlimbs)

Definition at line 30 of file mpiutil.c.

MPI mpi_alloc_like ( MPI  a)
MPI mpi_alloc_secure ( unsigned  nlimbs)
MPI mpi_alloc_set_ui ( unsigned long  u)
void mpi_clear ( MPI  a)
void mpi_clear_bit ( MPI  a,
unsigned  n 
)
void mpi_clear_highbit ( MPI  a,
unsigned  n 
)
int mpi_cmp ( MPI  u,
MPI  v 
)

Definition at line 44 of file mpi-cmp.c.

int mpi_cmp_ui ( MPI  u,
ulong  v 
)

Definition at line 23 of file mpi-cmp.c.

int mpi_copy ( MPI copy,
const MPI  a 
)
int mpi_divisible_ui ( const MPI  dividend,
ulong  divisor 
)
int mpi_fdiv_q ( MPI  quot,
MPI  dividend,
MPI  divisor 
)
int mpi_fdiv_qr ( MPI  quot,
MPI  rem,
MPI  dividend,
MPI  divisor 
)
int mpi_fdiv_r ( MPI  rem,
MPI  dividend,
MPI  divisor 
)
ulong mpi_fdiv_r_ui ( MPI  rem,
MPI  dividend,
ulong  divisor 
)
void mpi_free ( MPI  a)

Definition at line 109 of file mpiutil.c.

int mpi_fromstr ( MPI  val,
const char str 
)
int mpi_gcd ( MPI  g,
const MPI  a,
const MPI  b 
)
void* mpi_get_buffer ( MPI  a,
unsigned *  nbytes,
int sign 
)

Definition at line 138 of file mpicoder.c.

u32 mpi_get_keyid ( MPI  a,
u32 keyid 
)
unsigned mpi_get_nbits ( MPI  a)

Definition at line 39 of file mpi-bit.c.

void* mpi_get_secure_buffer ( MPI  a,
unsigned *  nbytes,
int sign 
)
int mpi_getbyte ( MPI  a,
unsigned  idx 
)
int mpi_invm ( MPI  x,
MPI  u,
MPI  v 
)
void mpi_m_check ( MPI  a)
int mpi_mul ( MPI  w,
MPI  u,
MPI  v 
)
int mpi_mul_2exp ( MPI  w,
MPI  u,
ulong  cnt 
)
int mpi_mul_ui ( MPI  w,
MPI  u,
ulong  v 
)
int mpi_mulm ( MPI  w,
MPI  u,
MPI  v,
MPI  m 
)
int mpi_mulpowm ( MPI  res,
MPI basearray,
MPI exparray,
MPI  mod 
)
void mpi_normalize ( MPI  a)

Definition at line 30 of file mpi-bit.c.

int mpi_pow ( MPI  w,
MPI  u,
MPI  v 
)
int mpi_powm ( MPI  res,
MPI  base,
MPI  exp,
MPI  mod 
)

Definition at line 36 of file mpi-pow.c.

void mpi_putbyte ( MPI  a,
unsigned  idx,
int  value 
)
MPI mpi_read_from_buffer ( const void buffer,
unsigned *  ret_nread 
)

Definition at line 80 of file mpicoder.c.

MPI mpi_read_raw_data ( const void xbuffer,
size_t  nbytes 
)

mpi_read_raw_data - Read a raw byte stream as a positive integer : The data to read : The amount of data to read

Definition at line 32 of file mpicoder.c.

int mpi_resize ( MPI  a,
unsigned  nlimbs 
)

Definition at line 86 of file mpiutil.c.

int mpi_rshift ( MPI  x,
MPI  a,
unsigned  n 
)
int mpi_set ( MPI  w,
MPI  u 
)
int mpi_set_bit ( MPI  a,
unsigned  n 
)
int mpi_set_buffer ( MPI  a,
const void buffer,
unsigned  nbytes,
int  sign 
)

Definition at line 189 of file mpicoder.c.

int mpi_set_highbit ( MPI  a,
unsigned  n 
)
int mpi_set_ui ( MPI  w,
ulong  u 
)
int mpi_sub ( MPI  w,
MPI  u,
MPI  v 
)
int mpi_sub_ui ( MPI  w,
MPI  u,
ulong  v 
)
int mpi_subm ( MPI  w,
MPI  u,
MPI  v,
MPI  m 
)
void mpi_swap ( MPI  a,
MPI  b 
)
int mpi_tdiv_q_2exp ( MPI  w,
MPI  u,
unsigned  count 
)
int mpi_tdiv_qr ( MPI  quot,
MPI  rem,
MPI  num,
MPI  den 
)
int mpi_tdiv_r ( MPI  rem,
MPI  num,
MPI  den 
)
int mpi_test_bit ( MPI  a,
unsigned  n 
)
unsigned mpi_trailing_zeros ( MPI  a)