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

  1. /*
  2.  * bn16.h - interface to 16-bit bignum routines.
  3.  */
  4. struct BigNum;
  5.  
  6. void bnInit_16(void);
  7. void bnEnd_16(struct BigNum *bn);
  8. int bnPrealloc_16(struct BigNum *bn, unsigned bits);
  9. int bnCopy_16(struct BigNum *dest, struct BigNum const *src);
  10. int bnSwap_16(struct BigNum *a, struct BigNum *b);
  11. void bnNorm_16(struct BigNum *bn);
  12. void bnExtractBigBytes_16(struct BigNum const *bn, unsigned char *dest,
  13.     unsigned lsbyte, unsigned dlen);
  14. int bnInsertBigBytes_16(struct BigNum *bn, unsigned char const *src,
  15.     unsigned lsbyte, unsigned len);
  16. void bnExtractLittleBytes_16(struct BigNum const *bn, unsigned char *dest,
  17.     unsigned lsbyte, unsigned dlen);
  18. int bnInsertLittleBytes_16(struct BigNum *bn, unsigned char const *src,
  19.     unsigned lsbyte, unsigned len);
  20. unsigned bnLSWord_16(struct BigNum const *src);
  21. unsigned bnBits_16(struct BigNum const *src);
  22. int bnAdd_16(struct BigNum *dest, struct BigNum const *src);
  23. int bnSub_16(struct BigNum *dest, struct BigNum const *src);
  24. int bnCmpQ_16(struct BigNum const *a, unsigned b);
  25. int bnSetQ_16(struct BigNum *dest, unsigned src);
  26. int bnAddQ_16(struct BigNum *dest, unsigned src);
  27. int bnSubQ_16(struct BigNum *dest, unsigned src);
  28. int bnCmp_16(struct BigNum const *a, struct BigNum const *b);
  29. int bnSquare_16(struct BigNum *dest, struct BigNum const *src);
  30. int bnMul_16(struct BigNum *dest, struct BigNum const *a,
  31.     struct BigNum const *b);
  32. int bnMulQ_16(struct BigNum *dest, struct BigNum const *a, unsigned b);
  33. int bnDivMod_16(struct BigNum *q, struct BigNum *r, struct BigNum const *n,
  34.     struct BigNum const *d);
  35. int bnMod_16(struct BigNum *dest, struct BigNum const *src,
  36.     struct BigNum const *d);
  37. unsigned bnModQ_16(struct BigNum const *src, unsigned d);
  38. int bnExpMod_16(struct BigNum *dest, struct BigNum const *n,
  39.     struct BigNum const *exp, struct BigNum const *mod);
  40. int bnDoubleExpMod_16(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_16(struct BigNum *n, struct BigNum const *exp,
  45.     struct BigNum const *mod);
  46. int bnGcd_16(struct BigNum *dest, struct BigNum const *a,
  47.     struct BigNum const *b);
  48. int bnInv_16(struct BigNum *dest, struct BigNum const *src,
  49.     struct BigNum const *mod);
  50. int bnLShift_16(struct BigNum *dest, unsigned amt);
  51. void bnRShift_16(struct BigNum *dest, unsigned amt);
  52. unsigned bnMakeOdd_16(struct BigNum *n);
  53.