home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / crypl200.zip / BNLIB / BN64.H < prev    next >
C/C++ Source or Header  |  1996-05-16  |  2KB  |  53 lines

  1. /*
  2.  * bn64.h - interface to 64-bit bignum routines.
  3.  */
  4. struct BigNum;
  5.  
  6. void bnInit_64(void);
  7. void bnEnd_64(struct BigNum *bn);
  8. int bnPrealloc_64(struct BigNum *bn, unsigned bits);
  9. int bnCopy_64(struct BigNum *dest, struct BigNum const *src);
  10. int bnSwap_64(struct BigNum *a, struct BigNum *b);
  11. void bnNorm_64(struct BigNum *bn);
  12. void bnExtractBigBytes_64(struct BigNum const *bn, unsigned char *dest,
  13.     unsigned lsbyte, unsigned dlen);
  14. int bnInsertBigBytes_64(struct BigNum *bn, unsigned char const *src,
  15.     unsigned lsbyte, unsigned len);
  16. void bnExtractLittleBytes_64(struct BigNum const *bn, unsigned char *dest,
  17.     unsigned lsbyte, unsigned dlen);
  18. int bnInsertLittleBytes_64(struct BigNum *bn, unsigned char const *src,
  19.     unsigned lsbyte, unsigned len);
  20. unsigned bnLSWord_64(struct BigNum const *src);
  21. unsigned bnBits_64(struct BigNum const *src);
  22. int bnAdd_64(struct BigNum *dest, struct BigNum const *src);
  23. int bnSub_64(struct BigNum *dest, struct BigNum const *src);
  24. int bnCmpQ_64(struct BigNum const *a, unsigned b);
  25. int bnSetQ_64(struct BigNum *dest, unsigned src);
  26. int bnAddQ_64(struct BigNum *dest, unsigned src);
  27. int bnSubQ_64(struct BigNum *dest, unsigned src);
  28. int bnCmp_64(struct BigNum const *a, struct BigNum const *b);
  29. int bnSquare_64(struct BigNum *dest, struct BigNum const *src);
  30. int bnMul_64(struct BigNum *dest, struct BigNum const *a,
  31.     struct BigNum const *b);
  32. int bnMulQ_64(struct BigNum *dest, struct BigNum const *a, unsigned b);
  33. int bnDivMod_64(struct BigNum *q, struct BigNum *r, struct BigNum const *n,
  34.     struct BigNum const *d);
  35. int bnMod_64(struct BigNum *dest, struct BigNum const *src,
  36.     struct BigNum const *d);
  37. unsigned bnModQ_64(struct BigNum const *src, unsigned d);
  38. int bnExpMod_64(struct BigNum *dest, struct BigNum const *n,
  39.     struct BigNum const *exp, struct BigNum const *mod);
  40. int bnDoubleExpMod_64(struct BigNum *dest,
  41.     struct BigNum const *n1, struct BigNum const *e1,
  42.     struct BigNum const *n2, struct BigNum const *e2,
  43.     struct BigNum const *mod);
  44. int bnTwoExpMod_64(struct BigNum *n, struct BigNum const *exp,
  45.     struct BigNum const *mod);
  46. int bnGcd_64(struct BigNum *dest, struct BigNum const *a,
  47.     struct BigNum const *b);
  48. int bnInv_64(struct BigNum *dest, struct BigNum const *src,
  49.     struct BigNum const *mod);
  50. int bnLShift_64(struct BigNum *dest, unsigned amt);
  51. void bnRShift_64(struct BigNum *dest, unsigned amt);
  52. unsigned bnMakeOdd_64(struct BigNum *n);
  53.