lbn16.h
上传用户:zbbssh
上传日期:2007-01-08
资源大小:196k
文件大小:4k
源码类别:

CA认证

开发平台:

C/C++

  1. #ifndef LBN16_H
  2. #define LBN16_H
  3. #include "lbn.h"
  4. #ifndef BNWORD16
  5. #error 16-bit bignum library requires a 16-bit data type
  6. #endif
  7. #ifndef lbnCopy_16
  8. void lbnCopy_16(BNWORD16 *dest, BNWORD16 const *src, unsigned len);
  9. #endif
  10. #ifndef lbnZero_16
  11. void lbnZero_16(BNWORD16 *num, unsigned len);
  12. #endif
  13. #ifndef lbnNeg_16
  14. void lbnNeg_16(BNWORD16 *num, unsigned len);
  15. #endif
  16. #ifndef lbnAdd1_16
  17. BNWORD16 lbnAdd1_16(BNWORD16 *num, unsigned len, BNWORD16 carry);
  18. #endif
  19. #ifndef lbnSub1_16
  20. BNWORD16 lbnSub1_16(BNWORD16 *num, unsigned len, BNWORD16 borrow);
  21. #endif
  22. #ifndef lbnAddN_16
  23. BNWORD16 lbnAddN_16(BNWORD16 *num1, BNWORD16 const *num2, unsigned len);
  24. #endif
  25. #ifndef lbnSubN_16
  26. BNWORD16 lbnSubN_16(BNWORD16 *num1, BNWORD16 const *num2, unsigned len);
  27. #endif
  28. #ifndef lbnCmp_16
  29. int lbnCmp_16(BNWORD16 const *num1, BNWORD16 const *num2, unsigned len);
  30. #endif
  31. #ifndef lbnMulN1_16
  32. void lbnMulN1_16(BNWORD16 *out, BNWORD16 const *in, unsigned len, BNWORD16 k);
  33. #endif
  34. #ifndef lbnMulAdd1_16
  35. BNWORD16
  36. lbnMulAdd1_16(BNWORD16 *out, BNWORD16 const *in, unsigned len, BNWORD16 k);
  37. #endif
  38. #ifndef lbnMulSub1_16
  39. BNWORD16 lbnMulSub1_16(BNWORD16 *out, BNWORD16 const *in, unsigned len, BNWORD16 k);
  40. #endif
  41. #ifndef lbnLshift_16
  42. BNWORD16 lbnLshift_16(BNWORD16 *num, unsigned len, unsigned shift);
  43. #endif
  44. #ifndef lbnDouble_16
  45. BNWORD16 lbnDouble_16(BNWORD16 *num, unsigned len);
  46. #endif
  47. #ifndef lbnRshift_16
  48. BNWORD16 lbnRshift_16(BNWORD16 *num, unsigned len, unsigned shift);
  49. #endif
  50. #ifndef lbnMul_16
  51. void lbnMul_16(BNWORD16 *prod, BNWORD16 const *num1, unsigned len1,
  52. BNWORD16 const *num2, unsigned len2);
  53. #endif
  54. #ifndef lbnSquare_16
  55. void lbnSquare_16(BNWORD16 *prod, BNWORD16 const *num, unsigned len);
  56. #endif
  57. #ifndef lbnNorm_16
  58. unsigned lbnNorm_16(BNWORD16 const *num, unsigned len);
  59. #endif
  60. #ifndef lbnBits_16
  61. unsigned lbnBits_16(BNWORD16 const *num, unsigned len);
  62. #endif
  63. #ifndef lbnExtractBigBytes_16
  64. void lbnExtractBigBytes_16(BNWORD16 const *bn, unsigned char *buf,
  65. unsigned lsbyte, unsigned buflen);
  66. #endif
  67. #ifndef lbnInsertBigytes_16
  68. void lbnInsertBigBytes_16(BNWORD16 *n, unsigned char const *buf,
  69. unsigned lsbyte,  unsigned buflen);
  70. #endif
  71. #ifndef lbnExtractLittleBytes_16
  72. void lbnExtractLittleBytes_16(BNWORD16 const *bn, unsigned char *buf,
  73. unsigned lsbyte, unsigned buflen);
  74. #endif
  75. #ifndef lbnInsertLittleBytes_16
  76. void lbnInsertLittleBytes_16(BNWORD16 *n, unsigned char const *buf,
  77. unsigned lsbyte,  unsigned buflen);
  78. #endif
  79. #ifndef lbnDiv21_16
  80. BNWORD16 lbnDiv21_16(BNWORD16 *q, BNWORD16 nh, BNWORD16 nl, BNWORD16 d);
  81. #endif
  82. #ifndef lbnDiv1_16
  83. BNWORD16 lbnDiv1_16(BNWORD16 *q, BNWORD16 *rem,
  84. BNWORD16 const *n, unsigned len, BNWORD16 d);
  85. #endif
  86. #ifndef lbnModQ_16
  87. unsigned lbnModQ_16(BNWORD16 const *n, unsigned len, unsigned d);
  88. #endif
  89. #ifndef lbnDiv_16
  90. BNWORD16
  91. lbnDiv_16(BNWORD16 *q, BNWORD16 *n, unsigned nlen, BNWORD16 *d, unsigned dlen);
  92. #endif
  93. #ifndef lbnMontInv1_16
  94. BNWORD16 lbnMontInv1_16(BNWORD16 const x);
  95. #endif
  96. #ifndef lbnMontReduce_16
  97. void lbnMontReduce_16(BNWORD16 *n, BNWORD16 const *mod, unsigned const mlen,
  98.                 BNWORD16 inv);
  99. #endif
  100. #ifndef lbnToMont_16
  101. void lbnToMont_16(BNWORD16 *n, unsigned nlen, BNWORD16 *mod, unsigned mlen);
  102. #endif
  103. #ifndef lbnFromMont_16
  104. void lbnFromMont_16(BNWORD16 *n, BNWORD16 *mod, unsigned len);
  105. #endif
  106. #ifndef lbnExpMod_16
  107. int lbnExpMod_16(BNWORD16 *result, BNWORD16 const *n, unsigned nlen,
  108. BNWORD16 const *exp, unsigned elen, BNWORD16 *mod, unsigned mlen);
  109. #endif
  110. #ifndef lbnDoubleExpMod_16
  111. int lbnDoubleExpMod_16(BNWORD16 *result,
  112. BNWORD16 const *n1, unsigned n1len, BNWORD16 const *e1, unsigned e1len,
  113. BNWORD16 const *n2, unsigned n2len, BNWORD16 const *e2, unsigned e2len,
  114. BNWORD16 *mod, unsigned mlen);
  115. #endif
  116. #ifndef lbnTwoExpMod_16
  117. int lbnTwoExpMod_16(BNWORD16 *n, BNWORD16 const *exp, unsigned elen,
  118. BNWORD16 *mod, unsigned mlen);
  119. #endif
  120. #ifndef lbnGcd_16
  121. int lbnGcd_16(BNWORD16 *a, unsigned alen, BNWORD16 *b, unsigned blen);
  122. #endif
  123. #ifndef lbnInv_16
  124. int lbnInv_16(BNWORD16 *a, unsigned alen, BNWORD16 const *mod, unsigned mlen);
  125. #endif
  126. #endif /* LBN16_H */