mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2026-07-06 07:40:49 +02:00
87 lines
3.1 KiB
C
87 lines
3.1 KiB
C
/*!
|
|
\ingroup BLAKE2
|
|
|
|
\brief この関数は、Blake2ハッシュ関数で使用するためのBlake2b構造体を初期化します。
|
|
|
|
\return 0 Blake2b構造体の初期化とダイジェストサイズの設定に成功した場合に返されます。
|
|
|
|
\param b2b 初期化するBlake2b構造体へのポインタ
|
|
\param digestSz 実装するblake 2ダイジェストの長さ
|
|
|
|
_Example_
|
|
\code
|
|
Blake2b b2b;
|
|
// 64バイトダイジェストでBlake2b構造体を初期化
|
|
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 追加するデータを含むバッファへのポインタ
|
|
\param sz 追加する入力データの長さ
|
|
|
|
_Example_
|
|
\code
|
|
int ret;
|
|
Blake2b b2b;
|
|
// 64バイトダイジェストでBlake2b構造体を初期化
|
|
wc_InitBlake2b(&b2b, 64);
|
|
|
|
byte plain[] = { // 入力を初期化 };
|
|
|
|
ret = wc_Blake2bUpdate(&b2b, plain, sizeof(plain));
|
|
if( ret != 0) {
|
|
// blake2bの更新エラー
|
|
}
|
|
\endcode
|
|
|
|
\sa wc_InitBlake2b
|
|
\sa wc_Blake2bFinal
|
|
*/
|
|
int wc_Blake2bUpdate(Blake2b* b2b, const byte* data, word32 sz);
|
|
|
|
/*!
|
|
\ingroup BLAKE2
|
|
|
|
\brief この関数は、以前に提供された入力データのBlake2bハッシュを計算します。出力ハッシュの長さはrequestSzになります。requestSz==0の場合は、b2b構造体のdigestSzが使用されます。この関数は、wc_InitBlake2bの後、および必要な各入力データに対してwc_Blake2bUpdateが処理された後に呼び出す必要があります。
|
|
|
|
\return 0 Blake2bハッシュの計算に成功した場合に返されます
|
|
\return -1 Blake2bハッシュの解析中に失敗した場合に返されます
|
|
|
|
\param b2b 更新するBlake2b構造体へのポインタ
|
|
\param final blake2bハッシュを格納するバッファへのポインタ。
|
|
requestSzの長さである必要があります
|
|
\param requestSz 計算するダイジェストの長さ。これがゼロの場合、
|
|
代わりにb2b->digestSzが使用されます
|
|
|
|
_Example_
|
|
\code
|
|
int ret;
|
|
Blake2b b2b;
|
|
byte hash[64];
|
|
// 64バイトダイジェストでBlake2b構造体を初期化
|
|
wc_InitBlake2b(&b2b, 64);
|
|
... // wc_Blake2bUpdateを呼び出してハッシュにデータを追加
|
|
|
|
ret = wc_Blake2bFinal(&b2b, hash, 64);
|
|
if( ret != 0) {
|
|
// blake2bハッシュの生成エラー
|
|
}
|
|
\endcode
|
|
|
|
\sa wc_InitBlake2b
|
|
\sa wc_Blake2bUpdate
|
|
*/
|
|
int wc_Blake2bFinal(Blake2b* b2b, byte* final, word32 requestSz);
|