Skip to main content
Ctrl+K
Documentation for Intel® oneAPI Programming Guide - Home
  • Introducing Intel® Cryptography Primitives Library
  • Getting Help and Support
  • Notational Conventions
  • Getting Started with Intel® Cryptography Primitives Library
    • Finding Intel® Cryptography Primitives Library on Your System
    • Setting Environment Variables
    • Compiler Integration
    • Building Intel® Cryptography Primitives Library Applications
    • Finding the Intel® Cryptography Primitives Library Documentation
  • Theory of Operation
    • Dispatching
    • Function Naming Conventions
    • Support Functions
  • Linking Your Application with Intel® Cryptography Primitives Library
    • Linking Options
  • 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
  • Performance Test Tool (perfsys) Command Line Options
  • Preview Features
  • Intel® Cryptography Primitives Library API Reference
    • Overview
      • Basic Features
      • Function Context Structures
      • Data Security Considerations
    • Symmetric Cryptography Primitive Functions
      • Block Cipher Modes of Operation
      • 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
      • Hash Functions
        • HashDuplicate
        • HashGetSize
        • HashGetTag
        • HashFinal
        • HashInit
        • HashMethod
        • HashMethodGetSize
        • HashMethodSet
        • HashPack, HashUnpack
        • HashStateMethodSet
        • HashSqueeze
        • HashUpdate
      • Hash Functions for Non-Streaming Messages
        • General Definition of a Hash Function
        • HashMessage
      • Mask Generation Functions
        • User’s Implementation of a Mask Generation Function
        • MGF
        • MGF1_rmf, MGF2_rmf
    • 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
        • ML-KEM
    • Finite Field Arithmetic
      • GFpInit
      • GFpMethod
      • GFpGetSize
      • GFpxInitBinomial
      • GFpxInit
      • GFpxMethod
      • GFpxGetSize
      • GFpScratchBufferSize
      • GFpElementGetSize
      • GFpElementInit
      • GFpSetElement
      • GFpSetElementOctString
      • GFpSetElementRandom
      • GFpSetElementHash
      • GFpCpyElement
      • GFpGetElement
      • GFpGetElementOctString
      • GFpCmpElement
      • GFpIsZeroElement
      • GFpIsUnityElement
      • GFpConj
      • GFpNeg
      • GFpInv
      • GFpSqrt
      • GFpAdd
      • GFpSub
      • GFpMul
      • GFpSqr
      • GFpExp
      • GFpMultiExp
      • GFpAdd_PE
      • GFpSub_PE
      • GFpMul_PE
    • Mitigation for Frequency Throttling Side-Channel Attack
      • ippsAESSetupNoise
      • ippsAES_GCMSetupNoise
      • ippsAES_CMACSetupNoise
    • Multi-buffer Cryptography Functions
      • Multi-buffer library support functions
        • mbx_get_algo_info
      • RSA Algorithm Functions (MBX)
        • mbx_rsa_public
        • mbx_rsa_private
        • mbx_rsa_private_crt
        • mbx_RSA_Method_BufSize
      • NIST Recommended Elliptic Curve Functions
        • mbx_nistp256/384/521_ecdsa_sign_setup
        • mbx_nistp256/384/521_ecdsa_sign_complete
        • mbx_nistp256/384/521_ecdsa_sign
        • mbx_nistp256/384/521_ecdsa_verify
        • mbx_nistp256/384/521_ecpublic_key
        • mbx_nistp256/384/521_ecdh
      • Montgomery Curve25519 Elliptic Curve Functions
        • mbx_x25519_public_key
        • mbx_x25519
      • Edwards Curve25519 Elliptic Curve Functions
        • mbx_ed25519_public_key_mb8
        • mbx_ed25519_sign_mb8
        • mbx_ed25519_verify_mb8
      • SM2 Elliptic Curve Functions
        • mbx_sm2_ecdsa_sign
        • mbx_sm2_ecdsa_verify
        • mbx_sm2_ecpublic_key
        • mbx_sm2_ecdh
      • SM3 Hash Functions
        • mbx_sm3_msg_digest_mb16
        • mbx_sm3_init_mb16
        • mbx_sm3_update_mb16
        • mbx_sm3_final_mb16
      • SM4 Algorithm Functions
        • mbx_sm4_set_key_mb16
        • mbx_sm4_encrypt/decrypt_ecb_mb16
        • mbx_sm4_encrypt/decrypt_cbc_mb16
        • mbx_sm4_encrypt/decrypt_ctr128_mb16
        • mbx_sm4_encrypt/decrypt_ofb_mb16
        • mbx_sm4_encrypt/decrypt_cfb128_mb16
      • SM4 XTS Algorithm Functions
        • mbx_sm4_xts_set_keys_mb16
        • mbx_sm4_xts_encrypt/decrypt_mb16
      • SM4 CCM Algorithm Functions
        • mbx_sm4_ccm_init_mb16
        • mbx_sm4_ccm_update_aad_mb16
        • mbx_sm4_ccm_encrypt/decrypt_mb16
        • mbx_sm4_ccm_get_tag_mb16
      • SM4 GCM Algorithm Functions
        • mbx_sm4_gcm_init_mb16
        • mbx_sm4_gcm_update_iv_mb16
        • mbx_sm4_gcm_update_aad_mb16
        • mbx_sm4_gcm_encrypt/decrypt_mb16
        • mbx_sm4_gcm_get_tag_mb16
      • Modular Exponentiation
        • mbx_exp/1024/2048/3072/4096_mb8
        • mbx_exp_BufferSize
    • 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
    • Deprecated Functions
    • Bibliography
  • Notices and Disclaimers

Index

Index pages by letter:

Symbols

Full index on one page (can be huge)

By Intel

© Copyright 2022, Intel Corporation.