Visible to Intel only — GUID: GUID-985B1267-43F8-4721-AB2C-A4E46F40E277
Visible to Intel only — GUID: GUID-985B1267-43F8-4721-AB2C-A4E46F40E277
mbx_sm3_msg_digest_mb16
Computes SM3 digest values of the input messages with known length.
Syntax
mbx_status16 mbx_sm3_msg_digest_mb16(const int8u *pa_msg[16], intlen[16], int8u *pa_hash[16]);
Include Files
crypto_mb/sm3.h
Parameters
pa_msg |
Array of pointers to the input message. |
len |
Array of message lengths in bytes. |
pa_hash |
Array of pointers to the resultant digests. |
Description
The function uses the SM3 hashing scheme to compute digest values of the entire (non-streaming) input messages passed by pa_msg parameter in parallel. The lengths of the messages are specified in len array and can be different in different buffers. Produced hash values are stored in the memory locations specified by the pa_hash parameter.
Return Values
The mbx_sm3_msg_digest_mb16 function returns the status that indicates whether the operation completed successfully or not. The status value of 0 indicates that digest values for all messages were computed 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.