Cryptography for Intel(R) Integrated Performance Primitives Developer Reference

ID 768738
Date 12/16/2022
Document Table of Contents


Digests the current streams of input messages with the specified length.


mbx_status16 mbx_sm3_update_mb16( const int8u *pa_msg[16], intlen[16], SM3_CTX_mb16*p_state);

Include Files




Array of pointers to the buffers containing parts of the whole messages.


Array of lengths of the actual parts of the messages in bytes.


Pointer to the SM3_CTX_mb16 context.

The function digests the current streams of input messages passed by pa_msg parameter. The specified messages lengths are passed through len array. You can call the function several times with the same p_state to produce intermediate hashes values.

The function integrates the previous partial blocks placed in the internal buffer of the SM3_CTX_mb16 context with the input messages streams. Then, produces intermediate hashes values if the summary lengths are bigger than SM3 block size. The remainder of the data, which is not a multiple of the SM3 block size, is added to the internal buffer for the further hashing.

Return Values

The mbx_sm3_update_mb16 function returns the status the indicates whether the operation completed successfully or not. The status value of 0 indicates that hash values were updated successfully. In case of non-zero status value, MBX_GET_HIGH_PART_STS16() and MBX_GET_LOW_PART_STS16() can help to get the low and high parts of the mbx_status16 , which can be analyzed separately with MBX_GET_STS() call. The low part includes first eight statuses, while the high part includes remaining 8 statuses for each operation.

Did you find the information on this page useful?

Characters remaining:

Feedback Message