- Functions
- Functions Documentation
- function wc_InitBlake2b
- function wc_Blake2bUpdate
- function wc_Blake2bFinal
- function wc_Blake2bHmacInit
- function wc_Blake2bHmacUpdate
- function wc_Blake2bHmacFinal
- function wc_Blake2bHmac
- function wc_InitBlake2s
- function wc_Blake2sUpdate
- function wc_Blake2sFinal
- function wc_Blake2sHmacInit
- function wc_Blake2sHmacUpdate
- function wc_Blake2sHmacFinal
- function wc_Blake2sHmac
- Source code
blake2.h
Functions
| Name | |
|---|---|
| int | wc_InitBlake2b(Blake2b * b2b, word32 digestSz) This function initializes a Blake2b structure for use with the Blake2 hash function. |
| int | wc_Blake2bUpdate(Blake2b * b2b, const byte * data, word32 sz) This function updates the Blake2b hash with the given input data. This function should be called after wc_InitBlake2b, and repeated until one is ready for the final hash: wc_Blake2bFinal. |
| int | wc_Blake2bFinal(Blake2b * b2b, byte * final, word32 requestSz) This function computes the Blake2b hash of the previously supplied input data. The output hash will be of length requestSz, or, if requestSz==0, the digestSz of the b2b structure. This function should be called after wc_InitBlake2b and wc_Blake2bUpdate has been processed for each piece of input data desired. |
| int | wc_Blake2bHmacInit(Blake2b * b2b, const byte * key, size_t key_len) Initialize an HMAC-BLAKE2b message authentication code computation. |
| int | wc_Blake2bHmacUpdate(Blake2b * b2b, const byte * in, size_t in_len) Update an HMAC-BLAKE2b message authentication code computation with additional input data. |
| int | wc_Blake2bHmacFinal(Blake2b * b2b, const byte * key, size_t key_len, byte * out, size_t out_len) Finalize an HMAC-BLAKE2b message authentication code computation. |
| int | wc_Blake2bHmac(const byte * in, size_t in_len, const byte * key, size_t key_len, byte * out, size_t out_len) Compute the HMAC-BLAKE2b message authentication code of the given input data using the given key. |
| int | wc_InitBlake2s(Blake2s * b2s, word32 digestSz) This function initializes a Blake2s structure for use with the Blake2 hash function. |
| int | wc_Blake2sUpdate(Blake2s * b2s, const byte * data, word32 sz) This function updates the Blake2s hash with the given input data. This function should be called after wc_InitBlake2s, and repeated until one is ready for the final hash: wc_Blake2sFinal. |
| int | wc_Blake2sFinal(Blake2s * b2s, byte * final, word32 requestSz) This function computes the Blake2s hash of the previously supplied input data. The output hash will be of length requestSz, or, if requestSz==0, the digestSz of the b2s structure. This function should be called after wc_InitBlake2s and wc_Blake2sUpdate has been processed for each piece of input data desired. |
| int | wc_Blake2sHmacInit(Blake2s * b2s, const byte * key, size_t key_len) Initialize an HMAC-BLAKE2s message authentication code computation. |
| int | wc_Blake2sHmacUpdate(Blake2s * b2s, const byte * in, size_t in_len) Update an HMAC-BLAKE2s message authentication code computation with additional input data. |
| int | wc_Blake2sHmacFinal(Blake2s * b2s, const byte * key, size_t key_len, byte * out, size_t out_len) Finalize an HMAC-BLAKE2s message authentication code computation. |
| int | wc_Blake2sHmac(const byte * in, size_t in_len, const byte * key, size_t key_len, byte * out, size_t out_len) This function computes the HMAC-BLAKE2s message authentication code of the given input data using the given key. |
Functions Documentation
function wc_InitBlake2b
int wc_InitBlake2b( Blake2b * b2b, word32 digestSz)This function initializes a Blake2b structure for use with the Blake2 hash function.
Parameters:
- b2b pointer to the Blake2b structure to initialize
- digestSz length of the blake 2 digest to implement
See:wc_Blake2bUpdate
Return: 0 Returned upon successfully initializing the Blake2b structure and setting the digest size.
Example
Blake2b b2b;// initialize Blake2b structure with 64 byte digestwc_InitBlake2b(&b2b, WC_BLAKE2B_DIGEST_SIZE);function wc_Blake2bUpdate
int wc_Blake2bUpdate( Blake2b * b2b, const byte * data, word32 sz)This function updates the Blake2b hash with the given input data. This function should be called after wc_InitBlake2b, and repeated until one is ready for the final hash: wc_Blake2bFinal.
Parameters:
- b2b pointer to the Blake2b structure to update
- data pointer to a buffer containing the data to append
- sz length of the input data to append
See:
Return:
- 0 Returned upon successfully update the Blake2b structure with the given data
- -1 Returned if there is a failure while compressing the input data
Example
int ret;Blake2b b2b;// initialize Blake2b structure with 64 byte digestwc_InitBlake2b(&b2b, WC_BLAKE2B_DIGEST_SIZE);byte plain[] = { // initialize input };ret = wc_Blake2bUpdate(&b2b, plain, sizeof(plain));if (ret != 0) { // error updating blake2b}function wc_Blake2bFinal
int wc_Blake2bFinal( Blake2b * b2b, byte * final, word32 requestSz)This function computes the Blake2b hash of the previously supplied input data. The output hash will be of length requestSz, or, if requestSz==0, the digestSz of the b2b structure. This function should be called after wc_InitBlake2b and wc_Blake2bUpdate has been processed for each piece of input data desired.
Parameters:
- b2b pointer to the Blake2b structure to update
- final pointer to a buffer in which to store the blake2b hash. Should be of length requestSz
- requestSz length of the digest to compute. When this is zero, b2b->digestSz will be used instead
See:
Return:
- 0 Returned upon successfully computing the Blake2b hash
- -1 Returned if there is a failure while parsing the Blake2b hash
Example
int ret;Blake2b b2b;byte hash[WC_BLAKE2B_DIGEST_SIZE];// initialize Blake2b structure with 64 byte digestwc_InitBlake2b(&b2b, WC_BLAKE2B_DIGEST_SIZE);... // call wc_Blake2bUpdate to add data to hashret = wc_Blake2bFinal(&b2b, hash, WC_BLAKE2B_DIGEST_SIZE);if (ret != 0) { // error generating blake2b hash}function wc_Blake2bHmacInit
int wc_Blake2bHmacInit( Blake2b * b2b, const byte * key, size_t key_len)Initialize an HMAC-BLAKE2b message authentication code computation.
Parameters:
- b2b Blake2b structure to be used for the MAC computation.
- key pointer to the key
- key_len length of the key
Return: 0 Returned upon successfully initializing the HMAC-BLAKE2b MAC computation.
Example
Blake2b b2b;int ret;byte key[] = {4, 5, 6};ret = wc_Blake2bHmacInit(&b2b, key);if (ret != 0) { // error generating HMAC-BLAKE2b}function wc_Blake2bHmacUpdate
int wc_Blake2bHmacUpdate( Blake2b * b2b, const byte * in, size_t in_len)Update an HMAC-BLAKE2b message authentication code computation with additional input data.
Parameters:
- b2b Blake2b structure to be used for the MAC computation.
- in pointer to the input data
- in_len length of the input data
Return: 0 Returned upon successfully updating the HMAC-BLAKE2b MAC computation.
Example
Blake2b b2b;int ret;byte key[] = {4, 5, 6};byte data[] = {1, 2, 3};ret = wc_Blake2bHmacInit(&b2b, key, sizeof(key));ret = wc_Blake2bHmacUpdate(&b2b, data, sizeof(data));function wc_Blake2bHmacFinal
int wc_Blake2bHmacFinal( Blake2b * b2b, const byte * key, size_t key_len, byte * out, size_t out_len)Finalize an HMAC-BLAKE2b message authentication code computation.
Parameters:
- b2b Blake2b structure to be used for the MAC computation.
- key pointer to the key
- key_len length of the key
- out output buffer to store computed MAC
- out_len length of output buffer
Return: 0 Returned upon successfully finalizing the HMAC-BLAKE2b MAC computation.
Example
Blake2b b2b;int ret;byte key[] = {4, 5, 6};byte data[] = {1, 2, 3};byte mac[WC_BLAKE2B_DIGEST_SIZE];ret = wc_Blake2bHmacInit(&b2b, key, sizeof(key));ret = wc_Blake2bHmacUpdate(&b2b, data, sizeof(data));ret = wc_Blake2bHmacFinalize(&b2b, key, sizeof(key), mac, sizezof(mac));function wc_Blake2bHmac
int wc_Blake2bHmac( const byte * in, size_t in_len, const byte * key, size_t key_len, byte * out, size_t out_len)Compute the HMAC-BLAKE2b message authentication code of the given input data using the given key.
Parameters:
- in pointer to the input data
- in_len length of the input data
- key pointer to the key
- key_len length of the key
- out output buffer to store computed MAC
- out_len length of output buffer
Return: 0 Returned upon successfully computing the HMAC-BLAKE2b MAC.
Example
int ret;byte mac[WC_BLAKE2B_DIGEST_SIZE];byte data[] = {1, 2, 3};byte key[] = {4, 5, 6};ret = wc_Blake2bHmac(data, sizeof(data), key, sizeof(key), mac, sizeof(mac));if (ret != 0) { // error generating HMAC-BLAKE2b}function wc_InitBlake2s
int wc_InitBlake2s( Blake2s * b2s, word32 digestSz)This function initializes a Blake2s structure for use with the Blake2 hash function.
Parameters:
- b2s pointer to the Blake2s structure to initialize
- digestSz length of the blake 2 digest to implement
See:wc_Blake2sUpdate
Return: 0 Returned upon successfully initializing the Blake2s structure and setting the digest size.
Example
Blake2s b2s;// initialize Blake2s structure with 32 byte digestwc_InitBlake2s(&b2s, WC_BLAKE2S_DIGEST_SIZE);function wc_Blake2sUpdate
int wc_Blake2sUpdate( Blake2s * b2s, const byte * data, word32 sz)This function updates the Blake2s hash with the given input data. This function should be called after wc_InitBlake2s, and repeated until one is ready for the final hash: wc_Blake2sFinal.
Parameters:
- b2s pointer to the Blake2s structure to update
- data pointer to a buffer containing the data to append
- sz length of the input data to append
See:
Return:
- 0 Returned upon successfully update the Blake2s structure with the given data
- -1 Returned if there is a failure while compressing the input data
Example
int ret;Blake2s b2s;// initialize Blake2s structure with 32 byte digestwc_InitBlake2s(&b2s, WC_BLAKE2S_DIGEST_SIZE);byte plain[] = { // initialize input };ret = wc_Blake2sUpdate(&b2s, plain, sizeof(plain));if (ret != 0) { // error updating blake2s}function wc_Blake2sFinal
int wc_Blake2sFinal( Blake2s * b2s, byte * final, word32 requestSz)This function computes the Blake2s hash of the previously supplied input data. The output hash will be of length requestSz, or, if requestSz==0, the digestSz of the b2s structure. This function should be called after wc_InitBlake2s and wc_Blake2sUpdate has been processed for each piece of input data desired.
Parameters:
- b2s pointer to the Blake2s structure to update
- final pointer to a buffer in which to store the blake2s hash. Should be of length requestSz
- requestSz length of the digest to compute. When this is zero, b2s->digestSz will be used instead
See:
Return:
- 0 Returned upon successfully computing the Blake2s hash
- -1 Returned if there is a failure while parsing the Blake2s hash
Example
int ret;Blake2s b2s;byte hash[WC_BLAKE2S_DIGEST_SIZE];// initialize Blake2s structure with 32 byte digestwc_InitBlake2s(&b2s, WC_BLAKE2S_DIGEST_SIZE);... // call wc_Blake2sUpdate to add data to hashret = wc_Blake2sFinal(&b2s, hash, WC_BLAKE2S_DIGEST_SIZE);if (ret != 0) { // error generating blake2s hash}function wc_Blake2sHmacInit
int wc_Blake2sHmacInit( Blake2s * b2s, const byte * key, size_t key_len)Initialize an HMAC-BLAKE2s message authentication code computation.
Parameters:
- b2s Blake2s structure to be used for the MAC computation.
- key pointer to the key
- key_len length of the key
Return: 0 Returned upon successfully initializing the HMAC-BLAKE2s MAC computation.
Example
Blake2s b2s;int ret;byte key[] = {4, 5, 6};ret = wc_Blake2sHmacInit(&b2s, key);if (ret != 0) { // error generating HMAC-BLAKE2s}function wc_Blake2sHmacUpdate
int wc_Blake2sHmacUpdate( Blake2s * b2s, const byte * in, size_t in_len)Update an HMAC-BLAKE2s message authentication code computation with additional input data.
Parameters:
- b2s Blake2s structure to be used for the MAC computation.
- in pointer to the input data
- in_len length of the input data
Return: 0 Returned upon successfully updating the HMAC-BLAKE2s MAC computation.
Example
Blake2s b2s;int ret;byte key[] = {4, 5, 6};byte data[] = {1, 2, 3};ret = wc_Blake2sHmacInit(&b2s, key, sizeof(key));ret = wc_Blake2sHmacUpdate(&b2s, data, sizeof(data));function wc_Blake2sHmacFinal
int wc_Blake2sHmacFinal( Blake2s * b2s, const byte * key, size_t key_len, byte * out, size_t out_len)Finalize an HMAC-BLAKE2s message authentication code computation.
Parameters:
- b2s Blake2s structure to be used for the MAC computation.
- key pointer to the key
- key_len length of the key
- out output buffer to store computed MAC
- out_len length of output buffer
Return: 0 Returned upon successfully finalizing the HMAC-BLAKE2s MAC computation.
Example
Blake2s b2s;int ret;byte key[] = {4, 5, 6};byte data[] = {1, 2, 3};byte mac[WC_BLAKE2S_DIGEST_SIZE];ret = wc_Blake2sHmacInit(&b2s, key, sizeof(key));ret = wc_Blake2sHmacUpdate(&b2s, data, sizeof(data));ret = wc_Blake2sHmacFinalize(&b2s, key, sizeof(key), mac, sizezof(mac));function wc_Blake2sHmac
int wc_Blake2sHmac( const byte * in, size_t in_len, const byte * key, size_t key_len, byte * out, size_t out_len)This function computes the HMAC-BLAKE2s message authentication code of the given input data using the given key.
Parameters:
- in pointer to the input data
- in_len length of the input data
- key pointer to the key
- key_len length of the key
- out output buffer to store computed MAC
- out_len length of output buffer
Return: 0 Returned upon successfully computing the HMAC-BLAKE2s MAC.
Example
int ret;byte mac[WC_BLAKE2S_DIGEST_SIZE];byte data[] = {1, 2, 3};byte key[] = {4, 5, 6};ret = wc_Blake2sHmac(data, sizeof(data), key, sizeof(key), mac, sizeof(mac));if (ret != 0) { // error generating HMAC-BLAKE2s}Source code
int wc_InitBlake2b(Blake2b* b2b, word32 digestSz);int wc_Blake2bUpdate(Blake2b* b2b, const byte* data, word32 sz);int wc_Blake2bFinal(Blake2b* b2b, byte* final, word32 requestSz);int wc_Blake2bHmacInit(Blake2b * b2b, const byte * key, size_t key_len);int wc_Blake2bHmacUpdate(Blake2b * b2b, const byte * in, size_t in_len);int wc_Blake2bHmacFinal(Blake2b * b2b, const byte * key, size_t key_len, byte * out, size_t out_len);int wc_Blake2bHmac(const byte * in, size_t in_len, const byte * key, size_t key_len, byte * out, size_t out_len);int wc_InitBlake2s(Blake2s* b2s, word32 digestSz);int wc_Blake2sUpdate(Blake2s* b2s, const byte* data, word32 sz);int wc_Blake2sFinal(Blake2s* b2s, byte* final, word32 requestSz);int wc_Blake2sHmacInit(Blake2s * b2s, const byte * key, size_t key_len);int wc_Blake2sHmacUpdate(Blake2s * b2s, const byte * in, size_t in_len);int wc_Blake2sHmacFinal(Blake2s * b2s, const byte * key, size_t key_len, byte * out, size_t out_len);int wc_Blake2sHmac(const byte * in, size_t in_len, const byte * key, size_t key_len, byte * out, size_t out_len);Updated on 2026-02-20 at 02:00:32 +0000