Main Page   Modules   Data Structures   File List   Data Fields   Globals   Related Pages  

mp.h File Reference

Multi-precision integer routines. More...

#include "beecrypt.api.h"
#include "mpopt.h"

Go to the source code of this file.

Defines

#define MP_HWBITS   (MP_WBITS >> 1)
#define MP_WBYTES   (MP_WBITS >> 3)
#define MP_WNIBBLES   (MP_WBITS >> 2)
#define MP_WORDS_TO_BITS(x)   ((x) << 6)
#define MP_WORDS_TO_NIBBLES(x)   ((x) << 4)
#define MP_WORDS_TO_BYTES(x)   ((x) << 3)
#define MP_BITS_TO_WORDS(x)   ((x) >> 6)
#define MP_NIBBLES_TO_WORDS(x)   ((x) >> 4)
#define MP_BYTES_TO_WORDS(x)   ((x) >> 3)
#define MP_MSBMASK   (((mpw) 0x1) << (MP_WBITS-1))
#define MP_LSBMASK   ((mpw) 0x1)
#define MP_ALLMASK   ~((mpw) 0x0)
#define mpcopy(size, dst, src)   memcpy(dst, src, MP_WORDS_TO_BYTES(size))
#define mpmove(size, dst, src)   memmove(dst, src, MP_WORDS_TO_BYTES(size))

Functions

void mpzero (size_t size, mpw *data)
 This function zeroes a multi-precision integer of a given size.

void mpfill (size_t size, mpw *data, mpw fill)
 This function fills each word of a multi-precision integer with a given value.

int mpodd (size_t size, const mpw *data)
 This functions tests if a multi-precision integer is odd.

int mpeven (size_t size, const mpw *data)
 This function tests if a multi-precision integer is even.

int mpz (size_t size, const mpw *data)
 This function tests if a multi-precision integer is zero.

int mpnz (size_t size, const mpw *data)
 This function tests if a multi-precision integer is not zero.

int mpeq (size_t size, const mpw *xdata, const mpw *ydata)
 This function tests if two multi-precision integers of the same size are equal.

int mpne (size_t size, const mpw *xdata, const mpw *ydata)
 This function tests if two multi-precision integers of the same size differ.

int mpgt (size_t size, const mpw *xdata, const mpw *ydata)
 This function tests if the first of two multi-precision integers of the same size is greater than the second.

int mplt (size_t size, const mpw *xdata, const mpw *ydata)
 This function tests if the first of two multi-precision integers of the same size is less than the second.

int mpge (size_t size, const mpw *xdata, const mpw *ydata)
 This function tests if the first of two multi-precision integers of the same size is greater than or equal to the second.

int mple (size_t size, const mpw *xdata, const mpw *ydata)
 This function tests if the first of two multi-precision integers of the same size is less than or equal to the second.

int mpeqx (size_t xsize, const mpw *xdata, size_t ysize, const mpw *ydata)
 This function tests if two multi-precision integers of different size are equal.

int mpnex (size_t xsize, const mpw *xdata, size_t ysize, const mpw *ydata)
 This function tests if two multi-precision integers of different size are equal.

int mpgtx (size_t xsize, const mpw *xdata, size_t ysize, const mpw *ydata)
 This function tests if the first of two multi-precision integers of different size is greater than the second.

int mpltx (size_t xsize, const mpw *xdata, size_t ysize, const mpw *ydata)
 This function tests if the first of two multi-precision integers of different size is less than the second.

int mpgex (size_t xsize, const mpw *xdata, size_t ysize, const mpw *ydata)
 This function tests if the first of two multi-precision integers of different size is greater than or equal to the second.

int mplex (size_t xsize, const mpw *xdata, size_t ysize, const mpw *ydata)
 This function tests if the first of two multi-precision integers of different size is less than or equal to the second.

int mpisone (size_t size, const mpw *data)
 This functions tests if the value of a multi-precision integer is equal to one.

int mpistwo (size_t size, const mpw *data)
 This function tests if the value of a multi-precision integer is equal to two.

int mpleone (size_t size, const mpw *data)
 This function tests if the value of a multi-precision integer is less than or equal to one.

int mpeqmone (size_t size, const mpw *xdata, const mpw *ydata)
 This function tests if multi-precision integer x is equal to y minus one.

int mpmsbset (size_t size, const mpw *data)
 This function tests if the most significant bit of a multi-precision integer is set.

int mplsbset (size_t size, const mpw *data)
 This function tests if the leiast significant bit of a multi-precision integer is set.

void mpsetmsb (size_t size, mpw *data)
 This function sets the most significant bit of a multi-precision integer.

void mpsetlsb (size_t size, mpw *data)
 This function sets the least significant bit of a multi-precision integer.

void mpclrmsb (size_t size, mpw *data)
 This function clears the most significant bit of a multi-precision integer.

void mpclrlsb (size_t size, mpw *data)
 This function clears the least significant bit of a multi-precision integer.

void mpand (size_t, mpw *, const mpw *)
void mpor (size_t, mpw *, const mpw *)
void mpxor (size_t, mpw *, const mpw *)
void mpnot (size_t size, mpw *data)
 This function flips all bits of a multi-precision integer.

void mpsetw (size_t size, mpw *xdata, mpw y)
 This function sets the value of a multi-precision integer to the given word. The given value is copied into the least significant word, while the most significant words are zeroed.

void mpsetx (size_t xsize, mpw *xdata, size_t ysize, const mpw *ydata)
 This function set the value of the first multi-precision integer to the second, truncating the most significant words if ysize > xsize, or zeroing the most significant words if ysize < xsize.

int mpaddw (size_t size, mpw *xdata, mpw y)
 This function adds one word to a multi-precision integer. The performed operation is in pseudocode: x += y.

int mpadd (size_t size, mpw *xdata, const mpw *ydata)
 This function adds two multi-precision integers of equal size. The performed operation is in pseudocode: x += y.

int mpaddx (size_t xsize, mpw *xdata, size_t ysize, const mpw *ydata)
 This function adds two multi-precision integers of different size. The performed operation in pseudocode: x += y.

int mpsubw (size_t size, mpw *xdata, mpw y)
 This function subtracts one word to a multi-precision integer. The performed operation in pseudocode: x -= y.

int mpsub (size_t size, mpw *xdata, const mpw *ydata)
 This function subtracts two multi-precision integers of equal size. The performed operation in pseudocode: x -= y.

int mpsubx (size_t xsize, mpw *xdata, size_t ysize, const mpw *ydata)
int mpmultwo (size_t size, mpw *data)
void mpneg (size_t size, mpw *data)
size_t mpsize (size_t size, const mpw *data)
size_t mpbits (size_t size, const mpw *data)
size_t mpmszcnt (size_t size, const mpw *data)
size_t mplszcnt (size_t size, const mpw *data)
void mplshift (size_t size, mpw *data, size_t count)
void mprshift (size_t size, mpw *data, size_t count)
size_t mprshiftlsz (size_t size, mpw *data)
size_t mpnorm (size_t size, mpw *data)
void mpdivtwo (size_t size, mpw *data)
void mpsdivtwo (size_t size, mpw *data)
mpw mpsetmul (size_t size, mpw *result, const mpw *data, mpw y)
 This function performs a multi-precision multiply-setup.

mpw mpaddmul (size_t size, mpw *result, const mpw *data, mpw y)
 This function performs a mult-precision multiply-accumulate.

void mpaddsqrtrc (size_t, mpw *, const mpw *)
 This function is used in the calculation of a multi-precision squaring.

void mpmul (mpw *, size_t, const mpw *, size_t, const mpw *)
 This function computes a full multi-precision product.

void mpsqr (mpw *, size_t, const mpw *)
 This function computes a full multi-precision square.

void mpgcd_w (size_t, const mpw *, const mpw *, mpw *, mpw *)
int mpextgcd_w (size_t, const mpw *, const mpw *, mpw *, mpw *)
mpw mppndiv (mpw, mpw, mpw)
void mpnmod (mpw *, size_t, const mpw *, size_t, const mpw *, mpw *)
void mpmod (mpw *, size_t, const mpw *, size_t, const mpw *, mpw *)
void mpndivmod (mpw *, size_t, const mpw *, size_t, const mpw *, mpw *)
void mpprint (size_t size, const mpw *data)
void mpprintln (size_t size, const mpw *data)
void mpfprint (FILE *f, size_t size, const mpw *data)
void mpfprintln (FILE *f, size_t size, const mpw *data)
int os2ip (mpw *, size_t, const byte *, size_t)
int i2osp (byte *, size_t, const mpw *, size_t)
int hs2ip (mpw *, size_t, const char *, size_t)


Detailed Description

Multi-precision integer routines.

The routines declared here are all low-level operations, most of them suitable to be implemented in assembler. Prime candidates are in order of importance (according to gprof):

With some smart use of available assembler instructions, it's possible to speed these routines up by a factor of 2 to 4.

Author:
Bob Deblier <bob.deblier@pandora.be>

Definition in file mp.h.


Define Documentation

#define MP_ALLMASK   ~((mpw) 0x0)
 

Definition at line 71 of file mp.h.

#define MP_BITS_TO_WORDS      ((x) >> 6)
 

Definition at line 55 of file mp.h.

#define MP_BYTES_TO_WORDS      ((x) >> 3)
 

Definition at line 57 of file mp.h.

#define MP_HWBITS   (MP_WBITS >> 1)
 

Definition at line 47 of file mp.h.

#define MP_LSBMASK   ((mpw) 0x1)
 

Definition at line 70 of file mp.h.

#define MP_MSBMASK   (((mpw) 0x1) << (MP_WBITS-1))
 

Definition at line 69 of file mp.h.

#define MP_NIBBLES_TO_WORDS      ((x) >> 4)
 

Definition at line 56 of file mp.h.

#define MP_WBYTES   (MP_WBITS >> 3)
 

Definition at line 48 of file mp.h.

#define MP_WNIBBLES   (MP_WBITS >> 2)
 

Definition at line 49 of file mp.h.

#define MP_WORDS_TO_BITS      ((x) << 6)
 

Definition at line 52 of file mp.h.

#define MP_WORDS_TO_BYTES      ((x) << 3)
 

Definition at line 54 of file mp.h.

#define MP_WORDS_TO_NIBBLES      ((x) << 4)
 

Definition at line 53 of file mp.h.

#define mpcopy size,
dst,
src       memcpy(dst, src, MP_WORDS_TO_BYTES(size))
 

Definition at line 78 of file mp.h.

#define mpmove size,
dst,
src       memmove(dst, src, MP_WORDS_TO_BYTES(size))
 

Definition at line 85 of file mp.h.


Function Documentation

int hs2ip mpw  ,
size_t   ,
const char *   ,
size_t   
 

int i2osp byte  ,
size_t   ,
const mpw  ,
size_t   
 

int mpadd size_t    size,
mpw   xdata,
const mpw   ydata
 

This function adds two multi-precision integers of equal size. The performed operation is in pseudocode: x += y.

Parameters:
size  The size of the multi-precision integers.
xdata  The first multi-precision integer.
ydata  The second multi-precision integer.
Returns:
The carry-over value of the operation; this value is either 0 or 1.

mpw mpaddmul size_t    size,
mpw   result,
const mpw   data,
mpw    y
 

This function performs a mult-precision multiply-accumulate.

This function is used in the computation of a full multi-precision multiplication. It computes the product-by-one-word and accumulates it with the previous result.

Parameters:
size  The size of multi-precision integer multiplier.
result  The place where result will be accumulated.
data  The multi-precision integer multiplier.
y  The multiplicand.
Return values:
The  carry-over multi-precision word.

void mpaddsqrtrc size_t    size,
mpw   result,
const mpw   data
 

This function is used in the calculation of a multi-precision squaring.

int mpaddw size_t    size,
mpw   xdata,
mpw    y
 

This function adds one word to a multi-precision integer. The performed operation is in pseudocode: x += y.

Parameters:
size  The size of the multi-precision integer.
xdata  The first multi-precision integer.
y  The multi-precision word.
Returns:
The carry-over value of the operation; this value is either 0 or 1.

int mpaddx size_t    xsize,
mpw   xdata,
size_t    ysize,
const mpw   ydata
 

This function adds two multi-precision integers of different size. The performed operation in pseudocode: x += y.

Parameters:
xsize  The size of the first multi-precision integer.
xdata  The first multi-precision integer.
ysize  The size of the second multi-precision integer.
ydata  The second multi-precision integer.
Returns:
The carry-over value of the operation; this value is either 0 or 1.

void mpand size_t   ,
mpw  ,
const mpw  
 

size_t mpbits size_t    size,
const mpw   data
 

void mpclrlsb size_t    size,
mpw   data
 

This function clears the least significant bit of a multi-precision integer.

Parameters:
size  The size of the multi-precision integer.
data  The multi-precision integer data.

void mpclrmsb size_t    size,
mpw   data
 

This function clears the most significant bit of a multi-precision integer.

Parameters:
size  The size of the multi-precision integer.
data  The multi-precision integer data.

void mpdivtwo size_t    size,
mpw   data
 

int mpeq size_t    size,
const mpw   xdata,
const mpw   ydata
 

This function tests if two multi-precision integers of the same size are equal.

Parameters:
size  The size of the multi-precision integers.
xdata  The first multi-precision integer.
ydata  The second multi-precision integer.
Return values:
1  if equal
0  if not equal

int mpeqmone size_t    size,
const mpw   xdata,
const mpw   ydata
 

This function tests if multi-precision integer x is equal to y minus one.

Parameters:
size  The size of the multi-precision integers.
xdata  The first multi-precision integer.
ydata  The second multi-precision integer.
Return values:
1  if less than or equal to one.
0  if greater than one.

int mpeqx size_t    xsize,
const mpw   xdata,
size_t    ysize,
const mpw   ydata
 

This function tests if two multi-precision integers of different size are equal.

Parameters:
xsize  The size of the first multi-precision integer.
xdata  The first multi-precision integer.
ysize  The size of the first multi-precision integer.
ydata  The second multi-precision integer.
Return values:
1  if equal
0  if not equal

int mpeven size_t    size,
const mpw   data
 

This function tests if a multi-precision integer is even.

Parameters:
size  The size of the multi-precision integer.
data  The multi-precision integer data.
Return values:
1  if even
0  if odd

int mpextgcd_w size_t   ,
const mpw  ,
const mpw  ,
mpw  ,
mpw  
 

void mpfill size_t    size,
mpw   data,
mpw    fill
 

This function fills each word of a multi-precision integer with a given value.

Parameters:
size  The size of the multi-precision integer.
data  The multi-precision integer data.
fill  The value fill the data with.

void mpfprint FILE *    f,
size_t    size,
const mpw   data
 

void mpfprintln FILE *    f,
size_t    size,
const mpw   data
 

void mpgcd_w size_t   ,
const mpw  ,
const mpw  ,
mpw  ,
mpw  
 

int mpge size_t    size,
const mpw   xdata,
const mpw   ydata
 

This function tests if the first of two multi-precision integers of the same size is greater than or equal to the second.

Note:
The comparison treats the arguments as unsigned.
Parameters:
size  The size of the multi-precision integers.
xdata  The first multi-precision integer.
ydata  The second multi-precision integer.
Return values:
1  if greater or equal
0  if less

int mpgex size_t    xsize,
const mpw   xdata,
size_t    ysize,
const mpw   ydata
 

This function tests if the first of two multi-precision integers of different size is greater than or equal to the second.

Note:
The comparison treats the arguments as unsigned.
Parameters:
xsize  The size of the first multi-precision integer.
xdata  The first multi-precision integer.
ysize  The size of the second multi-precision integer.
ydata  The second multi-precision integer.
Return values:
1  if greater or equal
0  if less

int mpgt size_t    size,
const mpw   xdata,
const mpw   ydata
 

This function tests if the first of two multi-precision integers of the same size is greater than the second.

Note:
The comparison treats the arguments as unsigned.
Parameters:
size  The size of the multi-precision integers.
xdata  The first multi-precision integer.
ydata  The second multi-precision integer.
Return values:
1  if greater
0  if less or equal

int mpgtx size_t    xsize,
const mpw   xdata,
size_t    ysize,
const mpw   ydata
 

This function tests if the first of two multi-precision integers of different size is greater than the second.

Note:
The comparison treats the arguments as unsigned.
Parameters:
xsize  The size of the first multi-precision integer.
xdata  The first multi-precision integer.
ysize  The size of the second multi-precision integer.
ydata  The second multi-precision integer.
Return values:
1  if greater
0  if less or equal

int mpisone size_t    size,
const mpw   data
 

This functions tests if the value of a multi-precision integer is equal to one.

Parameters:
size  The size of the multi-precision integer.
data  The multi-precision integer data.
Return values:
1  if one
0  if not one

int mpistwo size_t    size,
const mpw   data
 

This function tests if the value of a multi-precision integer is equal to two.

Parameters:
size  The size of the multi-precision integer.
data  The multi-precision integer data.
Return values:
1  if two
0  if not two

int mple size_t    size,
const mpw   xdata,
const mpw   ydata
 

This function tests if the first of two multi-precision integers of the same size is less than or equal to the second.

Note:
The comparison treats the arguments as unsigned.
Parameters:
size  The size of the multi-precision integers.
xdata  The first multi-precision integer.
ydata  The second multi-precision integer.
Return values:
1  if less or equal
0  if greater

int mpleone size_t    size,
const mpw   data
 

This function tests if the value of a multi-precision integer is less than or equal to one.

Parameters:
size  The size of the multi-precision integer.
data  The multi-precision integer data.
Return values:
1  if less than or equal to one.
0  if greater than one.

int mplex size_t    xsize,
const mpw   xdata,
size_t    ysize,
const mpw   ydata
 

This function tests if the first of two multi-precision integers of different size is less than or equal to the second.

Note:
The comparison treats the arguments as unsigned.
Parameters:
xsize  The size of the first multi-precision integer.
xdata  The first multi-precision integer.
ysize  The size of the second multi-precision integer.
ydata  The second multi-precision integer.
Return values:
1  if less or equal
0  if greater

int mplsbset size_t    size,
const mpw   data
 

This function tests if the leiast significant bit of a multi-precision integer is set.

Parameters:
size  The size of the multi-precision integer.
data  The multi-precision integer data.
Return values:
1  if set
0  if not set

void mplshift size_t    size,
mpw   data,
size_t    count
 

size_t mplszcnt size_t    size,
const mpw   data
 

int mplt size_t    size,
const mpw   xdata,
const mpw   ydata
 

This function tests if the first of two multi-precision integers of the same size is less than the second.

Note:
The comparison treats the arguments as unsigned.
Parameters:
size  The size of the multi-precision integers.
xdata  The first multi-precision integer.
ydata  The second multi-precision integer.
Return values:
1  if less
0  if greater or equal

int mpltx size_t    xsize,
const mpw   xdata,
size_t    ysize,
const mpw   ydata
 

This function tests if the first of two multi-precision integers of different size is less than the second.

Note:
The comparison treats the arguments as unsigned.
Parameters:
xsize  The size of the first multi-precision integer.
xdata  The first multi-precision integer.
ysize  The size of the second multi-precision integer.
ydata  The second multi-precision integer.
Return values:
1  if less
0  if greater or equal

void mpmod mpw  ,
size_t   ,
const mpw  ,
size_t   ,
const mpw  ,
mpw  
 

int mpmsbset size_t    size,
const mpw   data
 

This function tests if the most significant bit of a multi-precision integer is set.

Parameters:
size  The size of the multi-precision integer.
data  The multi-precision integer data.
Return values:
1  if set
0  if not set

size_t mpmszcnt size_t    size,
const mpw   data
 

void mpmul mpw   result,
size_t    xsize,
const mpw   xdata,
size_t    ysize,
const mpw   ydata
 

This function computes a full multi-precision product.

int mpmultwo size_t    size,
mpw   data
 

void mpndivmod mpw  ,
size_t   ,
const mpw  ,
size_t   ,
const mpw  ,
mpw  
 

int mpne size_t    size,
const mpw   xdata,
const mpw   ydata
 

This function tests if two multi-precision integers of the same size differ.

Parameters:
size  The size of the multi-precision integers.
xdata  The first multi-precision integer.
ydata  The second multi-precision integer.
Return values:
1  if not equal
0  if equal

void mpneg size_t    size,
mpw   data
 

int mpnex size_t    xsize,
const mpw   xdata,
size_t    ysize,
const mpw   ydata
 

This function tests if two multi-precision integers of different size are equal.

Parameters:
xsize  The size of the first multi-precision integer.
xdata  The first multi-precision integer.
ysize  The size of the first multi-precision integer.
ydata  The second multi-precision integer.
Return values:
1  if equal
0  if not equal

void mpnmod mpw  ,
size_t   ,
const mpw  ,
size_t   ,
const mpw  ,
mpw  
 

size_t mpnorm size_t    size,
mpw   data
 

mpnot size_t    size,
mpw   data
 

This function flips all bits of a multi-precision integer.

Parameters:
size  The size of the multi-precision integer.
data  The multi-precision integer data.

int mpnz size_t    size,
const mpw   data
 

This function tests if a multi-precision integer is not zero.

Parameters:
size  The size of the multi-precision integer.
data  The multi-precision integer data.
Return values:
1  if not zero
0  if zero

int mpodd size_t    size,
const mpw   data
 

This functions tests if a multi-precision integer is odd.

Parameters:
size  The size of the multi-precision integer.
data  The multi-precision integer data.
Return values:
1  if odd
0  if even

void mpor size_t   ,
mpw  ,
const mpw  
 

mpw mppndiv mpw   ,
mpw   ,
mpw   
 

void mpprint size_t    size,
const mpw   data
 

void mpprintln size_t    size,
const mpw   data
 

void mprshift size_t    size,
mpw   data,
size_t    count
 

size_t mprshiftlsz size_t    size,
mpw   data
 

void mpsdivtwo size_t    size,
mpw   data
 

void mpsetlsb size_t    size,
mpw   data
 

This function sets the least significant bit of a multi-precision integer.

Parameters:
size  The size of the multi-precision integer.
data  The multi-precision integer data.

void mpsetmsb size_t    size,
mpw   data
 

This function sets the most significant bit of a multi-precision integer.

Parameters:
size  The size of the multi-precision integer.
data  The multi-precision integer data.

mpw mpsetmul size_t    size,
mpw   result,
const mpw   data,
mpw    y
 

This function performs a multi-precision multiply-setup.

This function is used in the computation of a full multi-precision multiplication. By using it we can shave off a few cycles; otherwise we'd have to zero the least significant half of the result first and use another call to the slightly slower mpaddmul function.

Parameters:
size  The size of multi-precision integer multiplier.
result  The place where result will be accumulated.
data  The multi-precision integer multiplier.
y  The multiplicand.
Returns:
The carry-over multi-precision word.

void mpsetw size_t    size,
mpw   xdata,
mpw    y
 

This function sets the value of a multi-precision integer to the given word. The given value is copied into the least significant word, while the most significant words are zeroed.

Parameters:
size  The size of the multi-precision integer.
xdata  The first multi-precision integer.
y  The multi-precision word.

void mpsetx size_t    xsize,
mpw   xdata,
size_t    ysize,
const mpw   ydata
 

This function set the value of the first multi-precision integer to the second, truncating the most significant words if ysize > xsize, or zeroing the most significant words if ysize < xsize.

Parameters:
xsize  The size of the first multi-precision integer.
xdata  The first multi-precision integer.
ysize  The size of the second multi-precision integer.
ydata  The second multi-precision integer.

size_t mpsize size_t    size,
const mpw   data
 

void mpsqr mpw   result,
size_t    size,
const mpw   data
 

This function computes a full multi-precision square.

int mpsub size_t    size,
mpw   xdata,
const mpw   ydata
 

This function subtracts two multi-precision integers of equal size. The performed operation in pseudocode: x -= y.

Parameters:
size  The size of the multi-precision integers.
xdata  The first multi-precision integer.
ydata  The second multi-precision integer.
Returns:
The carry-over value of the operation; this value is either 0 or 1.

int mpsubw size_t    size,
mpw   xdata,
mpw    y
 

This function subtracts one word to a multi-precision integer. The performed operation in pseudocode: x -= y.

Parameters:
size  The size of the multi-precision integers.
xdata  The first multi-precision integer.
y  The multi-precision word.
Returns:
The carry-over value of the operation; this value is either 0 or 1.

int mpsubx size_t    xsize,
mpw   xdata,
size_t    ysize,
const mpw   ydata
 

void mpxor size_t   ,
mpw  ,
const mpw  
 

int mpz size_t    size,
const mpw   data
 

This function tests if a multi-precision integer is zero.

Parameters:
size  The size of the multi-precision integer.
data  The multi-precision integer data.
Return values:
1  if zero
0  if not zero

void mpzero size_t    size,
mpw   data
 

This function zeroes a multi-precision integer of a given size.

Parameters:
size  The size of the multi-precision integer.
data  The multi-precision integer data.

int os2ip mpw  ,
size_t   ,
const byte  ,
size_t   
 


Generated on Thu Feb 5 13:43:52 2004 for BeeCrypt by doxygen1.2.18