Visible to Intel only — GUID: GUID-C9C6B411-552F-4B9C-85FC-B9A96B4565C1
Visible to Intel only — GUID: GUID-C9C6B411-552F-4B9C-85FC-B9A96B4565C1
SMS4 Functions
You can use the functions described in this section for various operational modes of SMS4 cipher systems SMS4.
Intel® Cryptography Primitives Library supports ECB, CBC, CFB, CTR, and OFB modes. You can tell which algorithm a given function supports from the function base name, for example, the SMS4EncryptECB function operates under the ECB mode.
All functions for the SMS4 block cipher use the context IppsSMS4Spec, which serves as an operational vehicle to carry the material required for various modes of operation.
Application code for conducting a typical encryption under the CBC mode using the SMS4 scheme must perform the following sequence of operations:
Get the size required to configure the context IppsSMS4Spec by calling the function SMS4GetSize.
Call an operating system memory allocation service function to allocate a buffer of size not less than the one specified by the function SMS4GetSize.
Initialize the pointer to the context by calling the function SMS4Init.
Specify the initialization vector and then call the function SMS4EncryptCBC to encrypt the input data stream under CBC mode using SMS4 scheme.
Clean up secret data stored in the context.
Free the memory allocated to the buffer once SMS4 encryption under the CBC mode has been completed.
A similar scheme also holds for decryption.
Related Information