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

  1. /*
  2.  * bn32.h - interface to 32-bit bignum routines.
  3.  */
  4. struct BigNum;
  5.  
  6. void bnInit_32(void);
  7. void bnEnd_32(struct BigNum *bn);
  8. int bnPrealloc_32(struct BigNum *bn, unsigned bits);
  9. int bnCopy_32(struct BigNum *dest, struct BigNum const *src);
  10. int bnSwap_32(struct BigNum *a, struct BigNum *b);
  11. void bnNorm_32(struct BigNum *bn);
  12. void bnExtractBigBytes_32(struct BigNum const *bn, unsigned char *dest,
  13.     unsigned lsbyte, unsigned dlen);
  14. int bnInsertBigBytes_32(struct BigNum *bn, unsigned char const *src,
  15.     unsigned lsbyte, unsigned len);
  16. void bnExtractLittleBytes_32(struct BigNum const *bn, unsigned char *dest,
  17.     unsigned lsbyte, unsigned dlen);
  18. int bnInsertLittleBytes_32(struct BigNum *bn, unsigned char const *src,
  19.     unsigned lsbyte, unsigned len);
  20. unsigned bnLSWord_32(struct BigNum const *src);
  21. unsigned bnBits_32(struct BigNum const *src);
  22. int bnAdd_32(struct BigNum *dest, struct BigNum const *src);
  23. int bnSub_32(struct BigNum *dest, struct BigNum const *src);
  24. int bnCmpQ_32(struct BigNum const *a, unsigned b);
  25. int bnSetQ_32(struct BigNum *dest, unsigned src);
  26. int bnAddQ_32(struct BigNum *dest, unsigned src);
  27. int bnSubQ_32(struct BigNum *dest, unsigned src);
  28. int bnCmp_32(struct BigNum const *a, struct BigNum const *b);
  29. int bnSquare_32(struct BigNum *dest, struct BigNum const *src);
  30. int bnMul_32(struct BigNum *dest, struct BigNum const *a,
  31.     struct BigNum const *b);
  32. int bnMulQ_32(struct BigNum *dest, struct BigNum const *a, unsigned b);
  33. int bnDivMod_32(struct BigNum *q, struct BigNum *r, struct BigNum const *n,
  34.     struct BigNum const *d);
  35. int bnMod_32(struct BigNum *dest, struct BigNum const *src,
  36.     struct BigNum const *d);
  37. unsigned bnModQ_32(struct BigNum const *src, unsigned d);
  38. int bnExpMod_32(struct BigNum *dest, struct BigNum const *n,
  39.     struct BigNum const *exp, struct BigNum const *mod);
  40. int bnDoubleExpMod_32(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_32(struct BigNum *n, struct BigNum const *exp,
  45.     struct BigNum const *mod);
  46. int bnGcd_32(struct BigNum *dest, struct BigNum const *a,
  47.     struct BigNum const *b);
  48. int bnInv_32(struct BigNum *dest, struct BigNum const *src,
  49.     struct BigNum const *mod);
  50. int bnLShift_32(struct BigNum *dest, unsigned amt);
  51. void bnRShift_32(struct BigNum *dest, unsigned amt);
  52. unsigned bnMakeOdd_32(struct BigNum *n);
  53.