mirror of https://github.com/wolfSSL/wolfssl.git
67 lines
2.7 KiB
C
67 lines
2.7 KiB
C
/*!
|
||
\ingroup BLAKE2
|
||
\brief この関数はBlake2 Hash関数で使用するためのBlake2b構造を初期化します。
|
||
\return 0 Blake2B構造の初期化に成功し、ダイジェストサイズを設定したときに返されます。
|
||
\param b2b 初期化するためにBlake2b構造へのポインタ
|
||
_Example_
|
||
\code
|
||
Blake2b b2b;
|
||
// initialize Blake2b structure with 64 byte digest
|
||
wc_InitBlake2b(&b2b, 64);
|
||
\endcode
|
||
\sa wc_Blake2bUpdate
|
||
*/
|
||
int wc_InitBlake2b(Blake2b* b2b, word32 digestSz);
|
||
|
||
/*!
|
||
\ingroup BLAKE2
|
||
\brief この関数は、与えられた入力データとBlake2Bハッシュを更新します。この関数は、wc_initblake2bの後に呼び出され、最後のハッシュ:wc_blake2bfinalの準備ができているまで繰り返します。
|
||
\return 0 与えられたデータを使用してBlake2B構造を正常に更新すると返されます。
|
||
\return -1 入力データの圧縮中に障害が発生した場合
|
||
\param b2b 更新するBlake2b構造へのポインタ
|
||
\param data 追加するデータを含むバッファへのポインタ
|
||
_Example_
|
||
\code
|
||
int ret;
|
||
Blake2b b2b;
|
||
// initialize Blake2b structure with 64 byte digest
|
||
wc_InitBlake2b(&b2b, 64);
|
||
|
||
byte plain[] = { // initialize input };
|
||
|
||
ret = wc_Blake2bUpdate(&b2b, plain, sizeof(plain));
|
||
if( ret != 0) {
|
||
// error updating blake2b
|
||
}
|
||
\endcode
|
||
\sa wc_InitBlake2b
|
||
\sa wc_Blake2bFinal
|
||
*/
|
||
int wc_Blake2bUpdate(Blake2b* b2b, const byte* data, word32 sz);
|
||
|
||
/*!
|
||
\ingroup BLAKE2
|
||
\brief この関数は、以前に供給された入力データのBlake2bハッシュを計算します。出力ハッシュは長さREQUESTSZ、あるいは要求された場合はB2B構造のDigestSZを使用します。この関数は、wc_initblake2bの後に呼び出され、wc_blake2bupdateは必要な各入力データに対して処理されています。
|
||
\return 0 Blake2B Hashの計算に成功したときに返されました
|
||
\return -1 blake2bハッシュを解析している間に失敗がある場合
|
||
\param b2b 更新するBlake2b構造へのポインタ
|
||
\param final Blake2Bハッシュを保存するバッファへのポインタ。長さrequestszにする必要があります
|
||
_Example_
|
||
\code
|
||
int ret;
|
||
Blake2b b2b;
|
||
byte hash[64];
|
||
// initialize Blake2b structure with 64 byte digest
|
||
wc_InitBlake2b(&b2b, 64);
|
||
... // call wc_Blake2bUpdate to add data to hash
|
||
|
||
ret = wc_Blake2bFinal(&b2b, hash, 64);
|
||
if( ret != 0) {
|
||
// error generating blake2b hash
|
||
}
|
||
\endcode
|
||
\sa wc_InitBlake2b
|
||
\sa wc_Blake2bUpdate
|
||
*/
|
||
int wc_Blake2bFinal(Blake2b* b2b, byte* final, word32 requestSz);
|