Visible to Intel only — GUID: GUID-0ADBF60A-C515-4ABB-A075-C60F4C119231
Getting Help and Support
What's New
Notational Conventions
Related Products
Overview
Symmetric Cryptography Primitive Functions
One-Way Hash Primitives
Data Authentication Primitive Functions
Public Key Cryptography Functions
Finite Field Arithmetic
Multi-buffer Cryptography Functions
Appendix A: Support Functions and Classes
Removed Functions
Bibliography
Notices and Disclaimers
<span class='option'>AESGetSize</span>
<span class='option'>AESInit</span>
<span class='option'>AESSetKey</span>
<span class='option'>AESPack, AESUnpack</span>
<span class='option'>AESEncryptECB</span>
<span class='option'>AESDecryptECB</span>
<span class='option'>AESEncryptCBC</span>
<span class='option'>AESDecryptCBC</span>
<span class='option'>AESEncryptCBC_CS</span>
<span class='option'>AESDecryptCBC_CS</span>
<span class='option'>AESEncryptCFB</span>
<span class='option'>AES_EncryptCFB16_MB</span>
<span class='option'> AESDecryptCFB</span>
<span class='option'>AESEncryptOFB</span>
<span class='option'>AESDecryptOFB</span>
<span class='option'>AESEncryptCTR</span>
<span class='option'>AESDecryptCTR</span>
<span class='option'>AESEncryptXTS_Direct, AESDecryptXTS_Direct</span>
Example of Using AES Functions
<span class='option'>AES_CCMGetSize</span>
<span class='option'>AES_CCMInit</span>
<span class='option'>AES_CCMStart</span>
<span class='option'>AES_CCMEncrypt</span>
<span class='option'>AES_CCMDecrypt</span>
<span class='option'>AES_CCMGetTag</span>
<span class='option'>AES_CCMMessageLen</span>
<span class='option'>AES_CCMTagLen</span>
<span class='option'>AES_GCMGetSize</span>
<span class='option'>AES_GCMInit</span>
<span class='option'>AES_GCMStart</span>
<span class='option'>AES_GCMReset</span>
<span class='option'>AES_GCMProcessIV</span>
<span class='option'>AES_GCMProcessAAD</span>
<span class='option'>AES_GCMEncrypt</span>
<span class='option'>AES_GCMDecrypt</span>
<span class='option'>AES_GCMGetTag</span>
<span class='option'>DESGetSize </span>
<span class='option'>DESInit</span>
DESPack, DESUnpack
<span class='option'>TDESEncryptECB</span>
<span class='option'>TDESDecryptECB</span>
<span class='option'>TDESEncryptCBC</span>
<span class='option'>TDESDecryptCBC</span>
<span class='option'>TDESEncryptCFB</span>
<span class='option'>TDESDecryptCFB</span>
<span class='option'>TDESEncryptOFB</span>
<span class='option'>TDESDecryptOFB</span>
<span class='option'>TDESEncryptCTR</span>
<span class='option'>TDESDecryptCTR</span>
Example of Using TDES Functions
<span class='option'>SMS4GetSize</span>
<span class='option'>SMS4Init</span>
<span class='option'>SMS4SetKey</span>
<span class='option'>SMS4EncryptECB</span>
<span class='option'>SMS4DecryptECB</span>
<span class='option'>SMS4EncryptCBC</span>
<span class='option'>SMS4DecryptCBC</span>
<span class='option'>SMS4EncryptCBC_CS</span>
<span class='option'>SMS4DecryptCBC_CS</span>
<span class='option'>SMS4EncryptCFB</span>
<span class='option'>SMS4DecryptCFB</span>
<span class='option'>SMS4EncryptOFB</span>
<span class='option'>SMS4DecryptOFB</span>
<span class='option'>SMS4EncryptCTR</span>
<span class='option'>SMS4DecryptCTR</span>
<span class='option'>HashGetSize</span>
<span class='option'>HashInit</span>
<span class='option'>HashPack, HashUnpack</span>
<span class='option'>HashDuplicate</span>
<span class='option'>HashUpdate</span>
<span class='option'>HashFinal</span>
<span class='option'>HashGetTag</span>
<span class='option'>HashMethod</span>
<span class='option'> HashMethodSet</span>
<span class='option'>HashMethodGetSize</span>
<span class='option'>SM3GetSize</span>
<span class='option'>SM3Init</span>
<span class='option'>SM3Pack, SM3Unpack</span>
<span class='option'>SM3Duplicate</span>
<span class='option'>SM3Update</span>
<span class='option'>SM3Final</span>
<span class='option'>SM3GetTag</span>
<span class='option'>MD5GetSize</span>
<span class='option'>MD5Init</span>
<span class='option'>MD5Pack, MD5Unpack</span>
<span class='option'>MD5Duplicate</span>
<span class='option'>MD5Update</span>
<span class='option'>MD5Final</span>
<span class='option'>MD5GetTag</span>
<span class='option'>SHA1GetSize</span>
<span class='option'>SHA1Init</span>
SHA1Pack, SHA1Unpack
<span class='option'>SHA1Duplicate</span>
<span class='option'>SHA1Update</span>
<span class='option'>SHA1Final</span>
<span class='option'>SHA1GetTag</span>
<span class='option'>SHA224GetSize</span>
<span class='option'>SHA224Init</span>
SHA224Pack, SHA224Unpack
<span class='option'>SHA224Duplicate</span>
<span class='option'>SHA224Update</span>
<span class='option'>SHA224Final</span>
<span class='option'>SHA224GetTag</span>
<span class='option'>SHA256GetSize</span>
<span class='option'>SHA256Init</span>
SHA256Pack, SHA256Unpack
<span class='option'>SHA256Duplicate</span>
<span class='option'>SHA256Update</span>
<span class='option'>SHA256Final</span>
<span class='option'>SHA256GetTag</span>
<span class='option'>SHA384GetSize</span>
<span class='option'>SHA384Init</span>
SHA384Pack, SHA384Unpack
<span class='option'>SHA384Duplicate</span>
<span class='option'>SHA384Update</span>
<span class='option'> SHA384Final</span>
<span class='option'>SHA384GetTag</span>
<span class='option'>SHA512GetSize</span>
<span class='option'>SHA512Init</span>
SHA512Pack, SHA512Unpack
<span class='option'>SHA512Duplicate</span>
<span class='option'>SHA512Update</span>
<span class='option'>SHA512Final</span>
<span class='option'>SHA512GetTag</span>
General Definition of a Hash Function
<span class='option'>HashMessage</span>
<span class='option'>SM3MessageDigest</span>
<span class='option'>MD5MessageDigest</span>
<span class='option'>SHA1MessageDigest</span>
<span class='option'>SHA224MessageDigest</span>
<span class='option'>SHA256MessageDigest</span>
<span class='option'>SHA384MessageDigest</span>
<span class='option'>SHA512MessageDigest</span>
<span class='option'>HMAC_GetSize</span>
<span class='option'>HMAC_Init</span>
<span class='option'>HMAC_Pack, HMAC_Unpack</span>
<span class='option'>HMAC_Duplicate </span>
<span class='option'>HMAC_Update</span>
<span class='option'>HMAC_Final</span>
<span class='option'>HMAC_GetTag</span>
<span class='option'>HMAC_Message</span>
<span class='option'> BigNumGetSize</span>
<span class='option'> BigNumInit</span>
<span class='option'>Set_BN</span>
<span class='option'>SetOctString_BN</span>
<span class='option'> GetSize_BN </span>
<span class='option'> Get_BN</span>
<span class='option'>ExtGet_BN</span>
<span class='option'> Ref_BN</span>
<span class='option'>GetOctString_BN</span>
<span class='option'> Cmp_BN </span>
<span class='option'> CmpZero_BN</span>
<span class='option'>Add_BN</span>
<span class='option'>Sub_BN</span>
<span class='option'>Mul_BN</span>
<span class='option'>MAC_BN_I</span>
<span class='option'>Div_BN</span>
<span class='option'>Mod_BN</span>
<span class='option'>Gcd_BN</span>
<span class='option'>ModInv_BN</span>
<span class='option'> MontGetSize</span>
<span class='option'>MontInit</span>
<span class='option'>MontSet</span>
<span class='option'>MontGet</span>
<span class='option'>MontForm</span>
<span class='option'>MontMul</span>
Example of Using Montgomery Reduction Scheme Functions
<span class='option'>MontExp</span>
User's Implementation of a Pseudorandom Number Generator
<span class='option'> PRNGGetSize </span>
<span class='option'> PRNGInit</span>
<span class='option'>PRNGSetSeed</span>
<span class='option'>PRNGGetSeed</span>
<span class='option'> PRNGSetAugment </span>
<span class='option'> PRNGSetModulus </span>
<span class='option'> PRNGSetH0 </span>
<span class='option'>PRNGen</span>
<span class='option'>PRNGenRDRAND</span>
<span class='option'>TRNGenRDSEED</span>
<span class='option'> PRNGen_BN </span>
<span class='option'>PRNGenRDRAND_BN </span>
<span class='option'>TRNGenRDSEED_BN </span>
Example of Using Pseudorandom Number Generation Functions
<span class='option'> PrimeGetSize </span>
<span class='option'> PrimeInit</span>
<span class='option'>PrimeGen_BN</span>
<span class='option'>PrimeTest_BN</span>
<span class='option'>PrimeGen</span>
<span class='option'>PrimeTest</span>
<span class='option'>PrimeSet</span>
<span class='option'>PrimeSet_BN </span>
<span class='option'>PrimeGet</span>
<span class='option'>PrimeGet_BN </span>
Example of Using Prime Number Generation Functions
<span class='option'>RSA_GetSizePublicKey, RSA_GetSizePrivateKeyType1, RSA_GetSizePrivateKeyType2</span>
<span class='option'>RSA_InitPublicKey, RSA_InitPrivateKeyType1, RSA_InitPrivateKeyType2</span>
<span class='option'>RSA_SetPublicKey, RSA_SetPrivateKeyType1, RSA_SetPrivateKeyType2</span>
<span class='option'>RSA_GetPublicKey, RSA_GetPrivateKeyType1, RSA_GetPrivateKeyType2</span>
<span class='option'>RSA_GetBufferSizePublicKey, RSA_GetBufferSizePrivateKey</span>
<span class='option'>RSA_MB_GetBufferSizePublicKey, RSA_MB_GetBufferSizePrivateKey</span>
<span class='option'>RSA_GenerateKeys</span>
<span class='option'>RSA_ValidateKeys</span>
<span class='option'> DLPGetSize </span>
<span class='option'> DLPInit </span>
DLPPack, DLPUnpack
<span class='option'> DLPSet </span>
<span class='option'> DLPGet </span>
<span class='option'> DLPSetDP </span>
<span class='option'> DLPGetDP </span>
<span class='option'> DLPGenKeyPair </span>
<span class='option'> DLPPublicKey </span>
<span class='option'> DLPValidateKeyPair </span>
<span class='option'> DLPSetKeyPair </span>
<span class='option'> DLPGenerateDSA </span>
<span class='option'> DLPValidateDSA </span>
<span class='option'> DLPSignDSA </span>
<span class='option'>DLPVerifyDSA</span>
Example of Using Discrete-logarithm Based Primitive Functions
<span class='option'> DLPGenerateDH </span>
<span class='option'> DLPValidateDH </span>
<span class='option'> DLPSharedSecretDH </span>
<span class='option'>DLGetResultString</span>
<span class='option'>ECCPGetSize</span>
<span class='option'>ECCPGetSizeStd</span>
<span class='option'> ECCPInit </span>
<span class='option'>ECCPInitStd</span>
<span class='option'>ECCPBindGxyTblStd</span>
<span class='option'> ECCPSet </span>
<span class='option'>ECCPSetStd </span>
<span class='option'>ECCPGet</span>
<span class='option'>ECCPGetOrderBitSize</span>
<span class='option'> ECCPValidate </span>
<span class='option'> ECCPPointGetSize </span>
<span class='option'> ECCPPointInit </span>
<span class='option'> ECCPSetPoint </span>
<span class='option'> ECCPSetPointAtInfinity </span>
<span class='option'> ECCPGetPoint </span>
<span class='option'> ECCPCheckPoint </span>
<span class='option'> ECCPComparePoint </span>
<span class='option'> ECCPNegativePoint </span>
<span class='option'> ECCPAddPoint </span>
<span class='option'> ECCPMulPointScalar </span>
<span class='option'> ECCPGenKeyPair </span>
<span class='option'> ECCPPublicKey </span>
<span class='option'> ECCPValidateKeyPair </span>
<span class='option'> ECCPSetKeyPair </span>
<span class='option'> ECCPSharedSecretDH </span>
<span class='option'>ECCPSharedSecretDHC</span>
<span class='option'>ECCPSignDSA </span>
<span class='option'>ECCPVerifyDSA </span>
<span class='option'>ECCPSignNR</span>
<span class='option'>ECCPVerifyNR </span>
<span class='option'>ECCPSignSM2</span>
<span class='option'>ECCPVerifySM2</span>
Signing/Verification Using the Elliptic Curve Cryptography Functions over a Prime Finite Field
<span class='option'>GFpECESGetSize_SM2</span>
<span class='option'>GFpECESInit_SM2</span>
<span class='option'>GFpECESSetKey_SM2</span>
<span class='option'>GFpECESStart_SM2</span>
<span class='option'>GFpECESEncrypt_SM2</span>
<span class='option'>GFpECESDecrypt_SM2</span>
<span class='option'>GFpECESFinal_SM2</span>
<span class='option'>GFpECESGetBufferSize_SM2</span>
<span class='option'>GFpECGetSize</span>
<span class='option'>GFpECInit</span>
<span class='option'>GFpECSet</span>
<span class='option'>GFpECSetSubgroup</span>
<span class='option'>GFpECInitStd</span>
<span class='option'>GFpECGet</span>
<span class='option'>GFpECGetSubgroup</span>
<span class='option'>GFpECScratchBufferSize</span>
<span class='option'>GFpECVerify</span>
<span class='option'>GFpECPointGetSize</span>
<span class='option'>GFpECPointInit</span>
<span class='option'>GFpECSetPointAtInfinity</span>
<span class='option'>GFpECSetPoint</span>, <span class='option'>GFpECSetPointREgular</span>
<span class='option'>GFpECSetPointOctString</span>
<span class='option'>GFpECSetPointRandom</span>
<span class='option'>GFpECMakePoint</span>
<span class='option'>GFpECSetPointHash</span>, <span class='option'>GFpECSetPointHashBackCompatible</span>, <span class='option'>GFpECSetPointHash_rmf</span>, <span class='option'>GFpECSetPointHashBackCompatible_rmf</span>
<span class='option'>GFpECGetPoint</span> , <span class='option'>GFpECGetPointRegular</span>
<span class='option'>GFpECGetPointOctString</span>
<span class='option'>GFpECTstPoint</span>
<span class='option'>GFpECTstPointInSubgroup</span>
<span class='option'>GFpECCpyPoint</span>
<span class='option'>GFpECCmpPoint</span>
<span class='option'>GFpECNegPoint</span>
<span class='option'>GFpECAddPoint</span>
<span class='option'>GFpECMulPoint</span>
<span class='option'>GFpECPrivateKey</span>, <span class='option'>GFpECPublicKey</span>, <span class='option'>GFpECTstKeyPair</span>
<span class='option'>GFpECPublicKey</span>
<span class='option'>GFpECTstKeyPair</span>
<span class='option'>GFpECPSharedSecretDH</span>, <span class='option'>GFpECPSharedSecretDHC</span>
<span class='option'>GFpECSharedSecretDHC</span>
<span class='option'>GFpECPSignDSA</span>, <span class='option'>GFpECPSignNR</span>, <span class='option'>GFpECPSignSM2</span>
<span class='option'>GFpECPVerifyDSA</span>, <span class='option'>GFpECPVerifyNR</span>, <span class='option'>GFpECPVerifySM2</span>
<span class='option'>GFpECSignNR</span>
<span class='option'>GFpECVerifyNR</span>
<span class='option'>GFpECSignSM2</span>
<span class='option'>GFpECVerifySM2</span>
<span class='option'>GFpInit</span>
<span class='option'>GFpMethod</span>
<span class='option'>GFpGetSize</span>
<span class='option'>GFpxInitBinomial</span>
<span class='option'>GFpxInit</span>
<span class='option'>GFpxMethod</span>
<span class='option'>GFpxGetSize</span>
<span class='option'>GFpScratchBufferSize</span>
<span class='option'>GFpElementGetSize</span>
<span class='option'>GFpElementInit</span>
<span class='option'>GFpSetElement</span>
<span class='option'>GFpSetElementOctString</span>
<span class='option'>GFpSetElementRandom</span>
<span class='option'>GFpSetElementHash</span>
<span class='option'>GFpCpyElement</span>
<span class='option'>GFpGetElement</span>
<span class='option'>GFpGetElementOctString</span>
<span class='option'>GFpCmpElement</span>
<span class='option'>GFpIsZeroElement</span>
<span class='option'>GFpIsUnityElement</span>
<span class='option'>GFpConj</span>
<span class='option'>GFpNeg</span>
<span class='option'>GFpInv</span>
<span class='option'>GFpSqrt</span>
<span class='option'>GFpAdd</span>
<span class='option'>GFpSub</span>
<span class='option'>GFpMul</span>
<span class='option'>GFpSqr</span>
<span class='option'>GFpExp</span>
<span class='option'>GFpMultiExp</span>
<span class='option'>GFpAdd_PE</span>
<span class='option'>GFpSub_PE</span>
<span class='option'>GFpMul_PE</span>
<span class='option'>mbx_nistp256/384/521_ecdsa_sign_setup</span>
<span class='option'>mbx_nistp256/384/521_ecdsa_sign_complete</span>
<span class='option'>mbx_nistp256/384/521_ecdsa_sign</span>
<span class='option'>mbx_nistp256/384/521_ecdsa_verify</span>
<span class='option'>mbx_nistp256/384/521_ecpublic_key</span>
<span class='option'>mbx_nistp256/384/521_ecdh</span>
<span class='option'>mbx_sm4_set_key_mb16</span>
<span class='option'>mbx_sm4_encrypt/decrypt_ecb_mb16</span>
<span class='option'>mbx_sm4_encrypt/decrypt_cbc_mb16</span>
<span class='option'>mbx_sm4_encrypt/decrypt_ctr128_mb16</span>
<span class='option'>mbx_sm4_encrypt/decrypt_ofb_mb16</span>
<span class='option'>mbx_sm4_encrypt/decrypt_cfb128_mb16</span>
<span class='option'>GetCpuFeatures</span>
<span class='option'>SetCpuFeatures</span>
<span class='option'>GetEnabledCpuFeatures</span>
<span class='option'>GetCpuClocks</span>
<span class='option'>GetNumThreads</span>
<span class='option'>GetEnabledNumThreads</span>
<span class='option'>SetNumThreads</span>
<span class='option'>GetStatusString</span>
Visible to Intel only — GUID: GUID-0ADBF60A-C515-4ABB-A075-C60F4C119231
<span class='option'>GFpECESEncrypt_SM2</span>
Encrypts the plaintext data buffer.
Syntax
IppStatus ippsGFpECESEncrypt_SM2(const Ipp8u* pInput, Ipp8u* pOutput, int len, IppsECES_StateSM2* pState);
Include Files
ippcp.h
Parameters
pInput |
Pointer to the plaintext data buffer. |
pOutput |
Pointer to the ciphertext data buffer. |
len |
Length of the input and output buffers. |
pState |
Pointer to the buffer being initialized as the ECES context. |
Description
The function encrypts the plaintext data buffer and updates the authentication tag. For more information on encryption and authentication, see [SM2 PKE]
Return Values
ippStsNoErr |
Indicates no error. Any other value indicates an error or warning. |
ippStsNullPtrErr |
Indicates an error condition if any of the specified pointers is NULL. |
ippStsContextMatchErr |
Indicates an error condition if the IppsECES_StateSM2 context parameter does not match the operation. |
ippStsSizeErr |
Indicates an error condition if the len parameter has a negative value. |
Parent topic: Functions based on SM2
Did you find the information on this page useful?
Feedback Message
Characters remaining: