sha512.h 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. /*!
  2. \ingroup SHA
  3. \brief この関数はSHA512を初期化します。これはWC_SHA512HASHによって自動的に呼び出されます。
  4. \return 0 初期化に成功したときに返されます
  5. _Example_
  6. \code
  7. Sha512 sha512[1];
  8. if ((ret = wc_InitSha512(sha512)) != 0) {
  9. WOLFSSL_MSG("wc_InitSha512 failed");
  10. }
  11. else {
  12. wc_Sha512Update(sha512, data, len);
  13. wc_Sha512Final(sha512, hash);
  14. }
  15. \endcode
  16. \sa wc_Sha512Hash
  17. \sa wc_Sha512Update
  18. \sa wc_Sha512Final
  19. */
  20. int wc_InitSha512(wc_Sha512*);
  21. /*!
  22. \ingroup SHA
  23. \brief 長さLENの提供されたバイト配列を絶えずハッシュするように呼び出すことができます。
  24. \return 0 データをダイジェストに正常に追加すると返されます。
  25. \param sha512 暗号化に使用するSHA512構造へのポインタ
  26. \param data ハッシュするデータ
  27. _Example_
  28. \code
  29. Sha512 sha512[1];
  30. byte data[] = { Data to be hashed };
  31. word32 len = sizeof(data);
  32. if ((ret = wc_InitSha512(sha512)) != 0) {
  33. WOLFSSL_MSG("wc_InitSha512 failed");
  34. }
  35. else {
  36. wc_Sha512Update(sha512, data, len);
  37. wc_Sha512Final(sha512, hash);
  38. }
  39. \endcode
  40. \sa wc_Sha512Hash
  41. \sa wc_Sha512Final
  42. \sa wc_InitSha512
  43. */
  44. int wc_Sha512Update(wc_Sha512* sha, const byte* data, word32 len);
  45. /*!
  46. \ingroup SHA
  47. \brief データのハッシュを確定します。結果はハッシュに入れられます。
  48. \return 0 ハッシュを確定するとうまく返されました。
  49. \param sha512 暗号化に使用するSHA512構造へのポインタ
  50. _Example_
  51. \code
  52. Sha512 sha512[1];
  53. byte data[] = { Data to be hashed };
  54. word32 len = sizeof(data);
  55. if ((ret = wc_InitSha512(sha512)) != 0) {
  56. WOLFSSL_MSG("wc_InitSha512 failed");
  57. }
  58. else {
  59. wc_Sha512Update(sha512, data, len);
  60. wc_Sha512Final(sha512, hash);
  61. }
  62. \endcode
  63. \sa wc_Sha512Hash
  64. \sa wc_Sha512Final
  65. \sa wc_InitSha512
  66. */
  67. int wc_Sha512Final(wc_Sha512* sha512, byte* hash);
  68. /*!
  69. \ingroup SHA
  70. \brief この関数はSHA384を初期化します。これはWC_SHA384HASHによって自動的に呼び出されます。
  71. \return 0 初期化に成功したときに返されます
  72. _Example_
  73. \code
  74. Sha384 sha384[1];
  75. if ((ret = wc_InitSha384(sha384)) != 0) {
  76. WOLFSSL_MSG("wc_InitSha384 failed");
  77. }
  78. else {
  79. wc_Sha384Update(sha384, data, len);
  80. wc_Sha384Final(sha384, hash);
  81. }
  82. \endcode
  83. \sa wc_Sha384Hash
  84. \sa wc_Sha384Update
  85. \sa wc_Sha384Final
  86. */
  87. int wc_InitSha384(wc_Sha384*);
  88. /*!
  89. \ingroup SHA
  90. \brief 長さLENの提供されたバイト配列を絶えずハッシュするように呼び出すことができます。
  91. \return 0 データをダイジェストに正常に追加すると返されます。
  92. \param sha384 暗号化に使用するSHA384構造へのポインタ
  93. \param data ハッシュするデータ
  94. _Example_
  95. \code
  96. Sha384 sha384[1];
  97. byte data[] = { Data to be hashed };
  98. word32 len = sizeof(data);
  99. if ((ret = wc_InitSha384(sha384)) != 0) {
  100. WOLFSSL_MSG("wc_InitSha384 failed");
  101. }
  102. else {
  103. wc_Sha384Update(sha384, data, len);
  104. wc_Sha384Final(sha384, hash);
  105. }
  106. \endcode
  107. \sa wc_Sha384Hash
  108. \sa wc_Sha384Final
  109. \sa wc_InitSha384
  110. */
  111. int wc_Sha384Update(wc_Sha384* sha, const byte* data, word32 len);
  112. /*!
  113. \ingroup SHA
  114. \brief データのハッシュを確定します。結果はハッシュに入れられます。
  115. \return 0 ファイナライズに成功したときに返されます。
  116. \param sha384 暗号化に使用するSHA384構造へのポインタ
  117. _Example_
  118. \code
  119. Sha384 sha384[1];
  120. byte data[] = { Data to be hashed };
  121. word32 len = sizeof(data);
  122. if ((ret = wc_InitSha384(sha384)) != 0) {
  123. WOLFSSL_MSG("wc_InitSha384 failed");
  124. }
  125. else {
  126. wc_Sha384Update(sha384, data, len);
  127. wc_Sha384Final(sha384, hash);
  128. }
  129. \endcode
  130. \sa wc_Sha384Hash
  131. \sa wc_Sha384Final
  132. \sa wc_InitSha384
  133. */
  134. int wc_Sha384Final(wc_Sha384* sha384, byte* hash);