ripemd.h 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. /*!
  2. \ingroup RIPEMD
  3. \brief この関数は、RIPemdのダイジェスト、バッファ、LOLEN ,HILENを初期化することによってRIPemd構造を初期化します。
  4. \return 0 機能の実行に成功したことに戻ります。RIPEMD構造が初期化されます。
  5. \return BAD_FUNC_ARG RIPEMD構造がNULLの場合に返されます。
  6. _Example_
  7. \code
  8. RipeMd md;
  9. int ret;
  10. ret = wc_InitRipeMd(&md);
  11. if (ret != 0) {
  12. // Failure case.
  13. }
  14. \endcode
  15. \sa wc_RipeMdUpdate
  16. \sa wc_RipeMdFinal
  17. */
  18. int wc_InitRipeMd(RipeMd*);
  19. /*!
  20. \ingroup RIPEMD
  21. \brief この関数はデータ入力のRIPemdダイジェストを生成し、結果をRIPemd-> Digestバッファに格納します。WC_RIPEMDUPDATEを実行した後、生成されたRIPemd-> Digestを既知の認証タグに比較してメッセージの信頼性を比較する必要があります。
  22. \return 0 機能の実行に成功したことに戻ります。
  23. \return BAD_FUNC_ARG RIPEMD構造がNULLの場合、またはデータがNULLで、LENがゼロでない場合に返されます。データがNULLであり、LENが0の場合、この関数は実行されるはずです。
  24. \param ripemd: WC_INTRIPEMDで初期化されるRIPEMD構造へのポインタ
  25. \param data ハッシュするデータ
  26. _Example_
  27. \code
  28. const byte* data; // The data to be hashed
  29. ....
  30. RipeMd md;
  31. int ret;
  32. ret = wc_InitRipeMd(&md);
  33. if (ret == 0) {
  34. ret = wc_RipeMdUpdate(&md, plain, sizeof(plain));
  35. if (ret != 0) {
  36. // Failure case …
  37. \endcode
  38. \sa wc_InitRipeMd
  39. \sa wc_RipeMdFinal
  40. */
  41. int wc_RipeMdUpdate(RipeMd* ripemd, const byte* data, word32 len);
  42. /*!
  43. \ingroup RIPEMD
  44. \brief この関数は計算されたダイジェストをハッシュにコピーします。無傷のブロックがある場合、この方法ではブロックを0Sでパッケージし、ハッシュにコピーする前にそのブロックのラウンドをダイジェストに含めます。RIPEMDの状態がリセットされます。
  45. \return 0 機能の実行に成功したことに戻ります。RIPEMD構造の状態がリセットされました。
  46. \return BAD_FUNC_ARG RIPEMD構造体またはハッシュパラメータがNULLの場合に返されます。
  47. \param ripemd WC_INITRIPEMDで初期化するRIPEMD構造へのポインタ、およびWC_RIPEMDUPDATEからハッシュを含む。状態はリセットされます
  48. _Example_
  49. \code
  50. RipeMd md;
  51. int ret;
  52. byte digest[RIPEMD_DIGEST_SIZE];
  53. const byte* data; // The data to be hashed
  54. ...
  55. ret = wc_InitRipeMd(&md);
  56. if (ret == 0) {
  57. ret = wc_RipeMdUpdate(&md, plain, sizeof(plain));
  58. if (ret != 0) {
  59. // RipeMd Update Failure Case.
  60. }
  61. ret = wc_RipeMdFinal(&md, digest);
  62. if (ret != 0) {
  63. // RipeMd Final Failure Case.
  64. }...
  65. \endcode
  66. \sa none
  67. */
  68. int wc_RipeMdFinal(RipeMd* ripemd, byte* hash);