home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
crypl200.zip
/
BNLIB
/
LBN64.H
< prev
next >
Wrap
Text File
|
1996-09-22
|
4KB
|
146 lines
#ifndef LBN64_H
#define LBN64_H
#if defined( INC_ALL ) || defined( INC_CHILD )
#include "lbn.h"
#else
#include "bnlib/lbn.h"
#endif /* Compiler-specific includes */
#ifndef BNWORD64
#error 64-bit bignum library requires a 64-bit data type
#endif
#ifndef lbnCopy_64
void lbnCopy_64(BNWORD64 *dest, BNWORD64 const *src, unsigned len);
#endif
#ifndef lbnZero_64
void lbnZero_64(BNWORD64 *num, unsigned len);
#endif
#ifndef lbnNeg_64
void lbnNeg_64(BNWORD64 *num, unsigned len);
#endif
#ifndef lbnAdd1_64
BNWORD64 lbnAdd1_64(BNWORD64 *num, unsigned len, BNWORD64 carry);
#endif
#ifndef lbnSub1_64
BNWORD64 lbnSub1_64(BNWORD64 *num, unsigned len, BNWORD64 borrow);
#endif
#ifndef lbnAddN_64
BNWORD64 lbnAddN_64(BNWORD64 *num1, BNWORD64 const *num2, unsigned len);
#endif
#ifndef lbnSubN_64
BNWORD64 lbnSubN_64(BNWORD64 *num1, BNWORD64 const *num2, unsigned len);
#endif
#ifndef lbnCmp_64
int lbnCmp_64(BNWORD64 const *num1, BNWORD64 const *num2, unsigned len);
#endif
#ifndef lbnMulN1_64
void lbnMulN1_64(BNWORD64 *out, BNWORD64 const *in, unsigned len, BNWORD64 k);
#endif
#ifndef lbnMulAdd1_64
BNWORD64
lbnMulAdd1_64(BNWORD64 *out, BNWORD64 const *in, unsigned len, BNWORD64 k);
#endif
#ifndef lbnMulSub1_64
BNWORD64 lbnMulSub1_64(BNWORD64 *out, BNWORD64 const *in, unsigned len, BNWORD64 k);
#endif
#ifndef lbnLshift_64
BNWORD64 lbnLshift_64(BNWORD64 *num, unsigned len, unsigned shift);
#endif
#ifndef lbnDouble_64
BNWORD64 lbnDouble_64(BNWORD64 *num, unsigned len);
#endif
#ifndef lbnRshift_64
BNWORD64 lbnRshift_64(BNWORD64 *num, unsigned len, unsigned shift);
#endif
#ifndef lbnMul_64
void lbnMul_64(BNWORD64 *prod, BNWORD64 const *num1, unsigned len1,
BNWORD64 const *num2, unsigned len2);
#endif
#ifndef lbnSquare_64
void lbnSquare_64(BNWORD64 *prod, BNWORD64 const *num, unsigned len);
#endif
#ifndef lbnNorm_64
unsigned lbnNorm_64(BNWORD64 const *num, unsigned len);
#endif
#ifndef lbnBits_64
unsigned lbnBits_64(BNWORD64 const *num, unsigned len);
#endif
#ifndef lbnExtractBigBytes_64
void lbnExtractBigBytes_64(BNWORD64 const *bn, unsigned char *buf,
unsigned lsbyte, unsigned buflen);
#endif
#ifndef lbnInsertBigytes_64
void lbnInsertBigBytes_64(BNWORD64 *n, unsigned char const *buf,
unsigned lsbyte, unsigned buflen);
#endif
#ifndef lbnExtractLittleBytes_64
void lbnExtractLittleBytes_64(BNWORD64 const *bn, unsigned char *buf,
unsigned lsbyte, unsigned buflen);
#endif
#ifndef lbnInsertLittleBytes_64
void lbnInsertLittleBytes_64(BNWORD64 *n, unsigned char const *buf,
unsigned lsbyte, unsigned buflen);
#endif
#ifndef lbnDiv21_64
BNWORD64 lbnDiv21_64(BNWORD64 *q, BNWORD64 nh, BNWORD64 nl, BNWORD64 d);
#endif
#ifndef lbnDiv1_64
BNWORD64 lbnDiv1_64(BNWORD64 *q, BNWORD64 *rem,
BNWORD64 const *n, unsigned len, BNWORD64 d);
#endif
#ifndef lbnModQ_64
unsigned lbnModQ_64(BNWORD64 const *n, unsigned len, unsigned d);
#endif
#ifndef lbnDiv_64
BNWORD64
lbnDiv_64(BNWORD64 *q, BNWORD64 *n, unsigned nlen, BNWORD64 *d, unsigned dlen);
#endif
#ifndef lbnMontInv1_64
BNWORD64 lbnMontInv1_64(BNWORD64 const x);
#endif
#ifndef lbnMontReduce_64
void lbnMontReduce_64(BNWORD64 *n, BNWORD64 const *mod, unsigned const mlen,
BNWORD64 inv);
#endif
#ifndef lbnToMont_64
void lbnToMont_64(BNWORD64 *n, unsigned nlen, BNWORD64 *mod, unsigned mlen);
#endif
#ifndef lbnFromMont_64
void lbnFromMont_64(BNWORD64 *n, BNWORD64 *mod, unsigned len);
#endif
#ifndef lbnExpMod_64
int lbnExpMod_64(BNWORD64 *result, BNWORD64 const *n, unsigned nlen,
BNWORD64 const *exp, unsigned elen, BNWORD64 *mod, unsigned mlen);
#endif
#ifndef lbnDoubleExpMod_64
int lbnDoubleExpMod_64(BNWORD64 *result,
BNWORD64 const *n1, unsigned n1len, BNWORD64 const *e1, unsigned e1len,
BNWORD64 const *n2, unsigned n2len, BNWORD64 const *e2, unsigned e2len,
BNWORD64 *mod, unsigned mlen);
#endif
#ifndef lbnTwoExpMod_64
int lbnTwoExpMod_64(BNWORD64 *n, BNWORD64 const *exp, unsigned elen,
BNWORD64 *mod, unsigned mlen);
#endif
#ifndef lbnGcd_64
int lbnGcd_64(BNWORD64 *a, unsigned alen, BNWORD64 *b, unsigned blen);
#endif
#ifndef lbnInv_64
int lbnInv_64(BNWORD64 *a, unsigned alen, BNWORD64 const *mod, unsigned mlen);
#endif
#endif /* LBN64_H */