Intel® Integrated Performance Primitives Cryptography
Introducing Intel® Cryptography Primitives Library
Getting Help and Support
Getting Technical Support
Notational Conventions
Font Conventions
Naming Conventions
Getting Started with Intel® Cryptography Primitives Library
Finding Intel® Cryptography Primitives Library on Your System
Setting Environment Variables
Compiler Integration
See Also
Building Intel® Cryptography Primitives Library Applications
Building the First Example on Windows* OS
Building the First Example on Linux* OS
See Also
Finding the Intel® Cryptography Primitives Library Documentation
See Also
Theory of Operation
Dispatching
Function Naming Conventions
Data-domain
Parameters
Support Functions
GetCpuFeatures/
SetCpuFeatures/GetEnabledCpuFeatures
GetStatusString
GetLibVersion
Linking Your Application with Intel® Cryptography Primitives Library
Linking Options
See Also
Using Custom Library Tool for Intel® Cryptography Primitives Library
System Requirements for Custom Library Tool
Operation Modes
Building a Custom DLL with Custom Library Tool
Using Console Version of Custom Library Tool
Programming with Intel® Cryptography Primitives Library in the Microsoft* Visual Studio* IDE
Linking Your Microsoft* Visual Studio* Project with Intel® Cryptography Primitives Library
Using the IntelliSense* Features
Complete Word
Parameter Info
Performance Test Tool (perfsys) Command Line Options
Performance Test Tool Command Line Options
Preview Features
Intel® Cryptography Primitives Library API Reference
Related Products
Intel® Integrated Performance Primitives (Intel® IPP)
Intel IPP Samples
Overview
Basic Features
Cross-platform Cryptographic Support
Function Context Structures
Data Security Considerations
Symmetric Cryptography Primitive Functions
Block Cipher Modes of Operation
Using the OFB mode
Using the CTR mode
Rijndael Functions
AESGetSize
AESInit
AESSetKey
AESPack, AESUnpack
AESEncryptECB
AESDecryptECB
AESEncryptCBC
AESDecryptCBC
AESEncryptCBC_CS
AESDecryptCBC_CS
AESEncryptCFB
AES_EncryptCFB16_MB
AESDecryptCFB
AESEncryptOFB
AESDecryptOFB
AESEncryptCTR
AESDecryptCTR
AESEncryptXTS_Direct, AESDecryptXTS_Direct
Example of Using AES Functions
AES-CCM Functions
AES_CCMGetSize
AES_CCMInit
AES_CCMStart
AES_CCMEncrypt
AES_CCMDecrypt
AES_CCMGetTag
AES_CCMMessageLen
AES_CCMTagLen
AES-GCM Functions
AES_GCMGetSize
AES_GCMInit
AES_GCMReinit
AES_GCMStart
AES_GCMReset
AES_GCMProcessIV
AES_GCMProcessAAD
AES_GCMEncrypt
AES_GCMDecrypt
AES_GCMGetTag
AES-SIV Functions
AES_S2V_CMAC
AES_SIVEncrypt
AES_SIVDecrypt
Usage Example
AES-XTS Functions
AES_XTSGetSize
AES_XTSInit
AES_XTSEncrypt
AES_XTSDecrypt
TDES Functions
DESGetSize
DESInit
DESPack, DESUnpack
TDESEncryptECB
TDESDecryptECB
TDESEncryptCBC
TDESDecryptCBC
TDESEncryptCFB
TDESDecryptCFB
TDESEncryptOFB
TDESDecryptOFB
TDESEncryptCTR
TDESDecryptCTR
Example of Using TDES Functions
SMS4 Functions
SMS4GetSize
SMS4Init
SMS4SetKey
SMS4EncryptECB
SMS4DecryptECB
SMS4EncryptCBC
SMS4DecryptCBC
SMS4EncryptCBC_CS
SMS4DecryptCBC_CS
SMS4EncryptCFB
SMS4DecryptCFB
SMS4EncryptOFB
SMS4DecryptOFB
SMS4EncryptCTR
SMS4DecryptCTR
ARCFour Functions
ARCFourGetSize
ARCFourCheckKey
ARCFourInit
ARCFourPack, ARCFourUnpack
ARCFourEncrypt
ARCFourDecrypt
ARCFourReset
One-Way Hash Primitives
Reduced Memory Footprint Functions
Hash Functions
Hash Functions for Non-Streaming Messages
Mask Generation Functions
Data Authentication Primitive Functions
Message Authentication Functions
Keyed Hash Functions
CMAC Functions
Public Key Cryptography Functions
Big Number Arithmetic
BigNumGetSize
BigNumInit
Set_BN
SetOctString_BN
GetSize_BN
Get_BN
ExtGet_BN
Ref_BN
GetOctString_BN
Cmp_BN
CmpZero_BN
Add_BN
Sub_BN
Mul_BN
MAC_BN_I
Div_BN
Mod_BN
Gcd_BN
ModInv_BN
Montgomery Reduction Scheme Functions
MontGetSize
MontInit
MontSet
MontGet
MontForm
MontMul
Example of Using Montgomery Reduction Scheme Functions
MontExp
Pseudorandom Number Generation Functions
User’s Implementation of a Pseudorandom Number Generator
PRNGGetSize
PRNGInit
PRNGSetSeed
PRNGGetSeed
PRNGSetAugment
PRNGSetModulus
PRNGSetH0
PRNGen
PRNGenRDRAND
TRNGenRDSEED
PRNGen_BN
PRNGenRDRAND_BN
TRNGenRDSEED_BN
Prime Number Generation Functions
PrimeGetSize
PrimeInit
PrimeGen_BN
PrimeTest_BN
PrimeGen
PrimeTest
PrimeSet
PrimeSet_BN
PrimeGet
PrimeGet_BN
Example of Using Prime Number Generation Functions
RSA Algorithm Functions
Functions for Building RSA System
RSA Primitives
RSA Encryption Schemes
RSA Signature Schemes
Discrete-Logarithm-Based Cryptography Functions
DLPGetSize
DLPInit
DLPPack, DLPUnpack
DLPSet
DLPGet
DLPSetDP
DLPGetDP
DLPGenKeyPair
DLPPublicKey
DLPValidateKeyPair
DLPSetKeyPair
DLPGenerateDSA
DLPValidateDSA
DLPSignDSA
DLPVerifyDSA
Example of Using Discrete-logarithm Based Primitive Functions
DLPGenerateDH
DLPValidateDH
DLPSharedSecretDH
DLGetResultString
Elliptic Curve Cryptography Functions
Functions Based on GF(
p
)
Functions based on SM2
Arithmetic of the Group of Elliptic Curve Points
ECCGetResultString
Post-quantum Functions
XMSS
LMS
Finite Field Arithmetic
GFpInit
Syntax
Include Files
Parameters
Description
Return Values
GFpMethod
Syntax
Include Files
Description
GFpGetSize
Syntax
Include Files
Parameters
Description
Return Values
GFpxInitBinomial
Syntax
Include Files
Parameters
Description
Return Values
GFpxInit
Syntax
Include Files
Parameters
Description
Return Values
GFpxMethod
Syntax
Include Files
Description
GFpxGetSize
Syntax
Include Files
Parameters
Description
Return Values
GFpScratchBufferSize
Syntax
Include Files
Parameters
Description
Return Values
GFpElementGetSize
Syntax
Include Files
Parameters
Description
Return Values
GFpElementInit
Syntax
Include Files
Parameters
Description
Return Values
GFpSetElement
Syntax
Include Files
Parameters
Description
Return Values
GFpSetElementOctString
Syntax
Include Files
Parameters
Description
Return Values
GFpSetElementRandom
Syntax
Include Files
Parameters
Description
Return Values
GFpSetElementHash
Syntax
Include Files
Parameters
Description
Return Values
GFpCpyElement
Syntax
Include Files
Parameters
Description
Return Values
GFpGetElement
Syntax
Include Files
Parameters
Description
Return Values
GFpGetElementOctString
Syntax
Include Files
Parameters
Description
Return Values
GFpCmpElement
Syntax
Include Files
Parameters
Description
Return Values
GFpIsZeroElement
Syntax
Include Files
Parameters
Description
Return Values
GFpIsUnityElement
Syntax
Include Files
Parameters
Description
Return Values
GFpConj
Syntax
Include Files
Parameters
Description
Return Values
GFpNeg
Syntax
Include Files
Parameters
Description
Return Values
GFpInv
Syntax
Include Files
Parameters
Description
Return Values
GFpSqrt
Syntax
Include Files
Parameters
Description
Return Values
GFpAdd
Syntax
Include Files
Parameters
Description
Return Values
GFpSub
Syntax
Include Files
Parameters
Description
Return Values
GFpMul
Syntax
Include Files
Parameters
Description
Return Values
GFpSqr
Syntax
Include Files
Parameters
Description
Return Values
GFpExp
Syntax
Include Files
Parameters
Description
Return Values
GFpMultiExp
Syntax
Include Files
Parameters
Description
Return Values
GFpAdd_PE
Syntax
Include Files
Parameters
Description
Return Values
GFpSub_PE
Syntax
Include Files
Parameters
Description
Return Values
GFpMul_PE
Syntax
Include Files
Parameters
Description
Return Values
Mitigation for Frequency Throttling Side-Channel Attack
ippsAESSetupNoise
Syntax
Include Files
Parameters
Description
Return Values
ippsAES_GCMSetupNoise
Syntax
Include Files
Parameters
Description
Return Values
ippsAES_CMACSetupNoise
Syntax
Include Files
Parameters
Description
Return Values
Multi-buffer Cryptography Functions
Introduction
APIs, Parameters and Data Representation
Return value
RSA Algorithm Functions (MBX)
NIST Recommended Elliptic Curve Functions
Montgomery Curve25519 Elliptic Curve Functions
Edwards Curve25519 Elliptic Curve Functions
SM2 Elliptic Curve Functions
SM3 Hash Functions
SM4 Algorithm Functions
SM4 XTS Algorithm Functions
SM4 CCM Algorithm Functions
SM4 GCM Algorithm Functions
Modular Exponentiation
Support Functions and Classes
Security Validation of Library Functions
Version Information Function
GetLibVersion
Dispatcher Control Functions
Init
Other Functions
GetCpuFeatures
SetCpuFeatures
GetEnabledCpuFeatures
GetCpuClocks
GetNumThreads
GetEnabledNumThreads
SetNumThreads
GetStatusString
Classes and Functions Used in Examples
BigNumber Class
Functions for Creation of Cryptographic Contexts
Deprecated Functions
Deprecated since Intel® Cryptography Primitives Library 1.0.0
Deprecated since Intel® Integrated Performance Primitives Cryptography (Intel® IPP Cryptography) 2020 Update1
Deprecated since Intel® IPP Cryptography 9.0
Bibliography
Notices and Disclaimers
Third Party
Intel® Integrated Performance Primitives Cryptography
Intel® Cryptography Primitives Library API Reference
Public Key Cryptography Functions
Public Key Cryptography Functions
Big Number Arithmetic
Montgomery Reduction Scheme Functions
Pseudorandom Number Generation Functions
Prime Number Generation Functions
RSA Algorithm Functions
Discrete-Logarithm-Based Cryptography Functions
Elliptic Curve Cryptography Functions
Post-quantum Functions