- Testing is conducted under Linux for 64-bit Intel® IPP Cryptography built with the following compilers:
- Intel® C++ Compiler 19.1
- Intel® C++ Compiler Classic 2021.9
- GCC 8.3
- GCC 9.1
- GCC 10.1
- GCC 11.1
- Clang 9.0
- Clang 12.0
- Tested platforms: w7, n8, y8, e9, l9, k0 (see the supported platforms list [here](./OVERVIEW.md#target-optimization-codes-in-function-names)).
- Testing scope described below is guaranteed to pass for **`release`** branches. This is not guaranteed for the **`develop`** branch ([branches description](./OVERVIEW.md#branches-description))
- Information about Pin-Based Constant Execution Checker can be found [here](https://github.com/intel/pin_based_cec)
## ippcp library
| Tested Function | Parameters |
| :----------------------: | :----------------------------------------------------------------------------------------: |
| ippsAESEncryptCBC | Different key length:
128, 192, 256 bits |
| ippsAESDecryptCBC | Different key length:
128, 192, 256 bits |
| ippsAESEncryptCBC_CS1 | Different key length:
128, 192, 256 bits |
| ippsAESDecryptCBC_CS1 | Different key length:
128, 192, 256 bits |
| ippsAESEncryptCBC_CS2 | Different key length:
128, 192, 256 bits |
| ippsAESDecryptCBC_CS2 | Different key length:
128, 192, 256 bits |
| ippsAESEncryptCBC_CS3 | Different key length:
128, 192, 256 bits |
| ippsAESDecryptCBC_CS3 | Different key length:
128, 192, 256 bits |
| ippsAES_CCMEncrypt | Different key length:
128, 192, 256 bits |
| ippsAES_CCMDecrypt | Different key length:
128, 192, 256 bits |
| ippsAESEncryptCFB | Different key length:
128, 192, 256 bits |
| ippsAESDecryptCFB | Different key length:
128, 192, 256 bits |
| ippsAES_CMACUpdate | Different key length:
128, 192, 256 bits |
| ippsAES_CMACFinal | Different key length:
128, 192, 256 bits |
| ippsAESEncryptCTR | Different key length:
128, 192, 256 bits |
| ippsAESDecryptCTR | Different key length:
128, 192, 256 bits |
| ippsAESEncryptECB | Different key length:
128, 192, 256 bits |
| ippsAESDecryptECB | Different key length:
128, 192, 256 bits |
| ippsAES_GCMEncrypt | Different key length:
128, 192, 256 bits |
| ippsAES_GCMDecrypt | Different key length:
128, 192, 256 bits |
| ippsAES_GCMStart | Different key length:
128, 192, 256 bits |
| ippsAESEncryptOFB | Different key length:
128, 192, 256 bits |
| ippsAESDecryptOFB | Different key length:
128, 192, 256 bits |
| ippsAES_S2V_CMAC | Different key length:
128, 192, 256 bits |
| ippsAESSetKey | Different key length:
128, 192, 256 bits |
| ippsAES_SIVEncrypt | Different key length:
128, 192, 256 bits |
| ippsAES_SIVDecrypt | Different key length:
128, 192, 256 bits |
| ippsAES_XTSEncrypt | Different key length:
256, 512 bits |
| ippsAES_XTSDecrypt | Different key length:
256, 512 bits |
| ippsAESEncryptXTS_Direct | Different key length:
256, 512 bits |
| ippsAESDecryptXTS_Direct | Different key length:
256, 512 bits |
| ippsCmp_BN | - |
| ippsDLPPublicKey | - |
| ippsDLPSharedSecretDH | - |
| ippsGFpAdd | - |
| ippsGFpAdd_PE | - |
| ippsGFpConj | - |
| ippsGFpECAddPoint | Different curves:
p256r1, p384r1, p521r1 |
| ippsGFpECMulPoint | Different curves:
p224r1, p256r1, p384r1 |
| ippsGFpECNegPoint | Different curves:
p256r1, p384r1, p521r1 |
| ippsGFpECPublicKey | Different curves:
p256r1, p384r1, p521r1 |
| ippsGFpECSharedSecretDH | Different curves:
p256r1, p384r1, p521r1 |
| ippsGFpECSharedSecretDHC | Different curves:
p256r1, p384r1, p521r1 |
| ippsGFpECSignDSA | Different curves:
p256r1, p384r1 |
| ippsGFpECSignNR | Different curves:
p256r1, p384r1 |
| ippsGFpECSignSM2 | - |
| ippsGFpECESStart_SM2 | - |
| ippsGFpECESEncrypt_SM2 | - |
| ippsGFpECESDecrypt_SM2 | - |
| ippsGFpECESFinal_SM2 | - |
| ippsGFpExp | - |
| ippsGFpInv | - |
| ippsGFpMul | - |
| ippsGFpMul_PE | - |
| ippsGFpMultiExp | - |
| ippsGFpNeg | - |
| ippsGFpSub | - |
| ippsGFpSub_PE | - |
| ippsHMACInit_rmf | Different hashes:
sha1, sha256, sha224, sha384, sha512,
sha512-256, sha512-224, sm3 |
| ippsRSA_Decrypt | Different key types and key length:
key type 1, 512 bits
key type 2, 512 bits |
| ippsRSADecrypt_OAEP | Different key types and key length:
key type 1, 512 bits
key type 2, 512 bits |
| ippsRSADecrypt_OAEP_rmf | Different key types and key length:
key type 1, 512 bits
key type 2, 512 bits |
| ippsRSASign_PKCS1v15 | Different key types and key length:
key type 1, 512 bits
key type 2, 512 bits |
| ippsRSASign_PKCS1v15_rmf | Different key types and key length:
key type 1, 512 bits
key type 2, 512 bits |
| ippsRSASign_PSS | Different key types and key length:
key type 1, 512 bits
key type 2, 512 bits |
| ippsRSASign_PSS_rmf | Different key types and key length:
key type 1, 512 bits
key type 2, 512 bits |
| ippsSMS4EncryptCBC | - |
| ippsSMS4DecryptCBC | - |
| ippsSMS4EncryptCBC_CS1 | - |
| ippsSMS4DecryptCBC_CS1 | - |
| ippsSMS4EncryptCBC_CS2 | - |
| ippsSMS4DecryptCBC_CS2 | - |
| ippsSMS4EncryptCBC_CS3 | - |
| ippsSMS4DecryptCBC_CS3 | - |
| ippsSMS4_CCMEncrypt | - |
| ippsSMS4_CCMDecrypt | - |
| ippsSMS4EncryptCFB | - |
| ippsSMS4DecryptCFB | - |
| ippsSMS4EncryptCTR | - |
| ippsSMS4DecryptCTR | - |
| ippsSMS4EncryptECB | - |
| ippsSMS4DecryptECB | - |
| ippsSMS4EncryptOFB | - |
| ippsSMS4DecryptOFB | - |
| ippsSMS4SetKey | - |
## crypto_mb library
| Function | Parameters |
| :--------------------------------------: | :---------------------------------------------------: |
| mbx_nistp256_ecpublic_key_mb8 | projective coordinates
affine coordinates |
| mbx_nistp384_ecpublic_key_mb8 | projective coordinates
affine coordinates |
| mbx_nistp521_ecpublic_key_mb8 | projective coordinates
affine coordinates |
| mbx_sm2_ecpublic_key_mb8 | projective coordinates
affine coordinates |
| mbx_nistp256_ecdh_mb8 | projective coordinates
affine coordinates |
| mbx_nistp384_ecdh_mb8 | projective coordinates
affine coordinates |
| mbx_nistp521_ecdh_mb8 | projective coordinates
affine coordinates |
| mbx_nistp256_ecdsa_sign_mb8 | - |
| mbx_nistp384_ecdsa_sign_mb8 | - |
| mbx_nistp521_ecdsa_sign_mb8 | - |
| mbx_nistp256_ecdsa_sign_setup_mb8 | - |
| mbx_nistp384_ecdsa_sign_setup_mb8 | - |
| mbx_nistp521_ecdsa_sign_setup_mb8 | - |
| mbx_nistp256_ecdsa_sign_complete_mb8 | - |
| mbx_nistp384_ecdsa_sign_complete_mb8 | - |
| mbx_nistp521_ecdsa_sign_complete_mb8 | - |
| mbx_nistp256_ecpublic_key_ssl_mb8 | projective coordinates
affine coordinates |
| mbx_nistp384_ecpublic_key_ssl_mb8 | projective coordinates
affine coordinates |
| mbx_nistp521_ecpublic_key_ssl_mb8 | projective coordinates
affine coordinates |
| mbx_sm2_ecpublic_key_ssl_mb8 | projective coordinates
affine coordinates |
| mbx_nistp256_ecdh_ssl_mb8 | projective coordinates
affine coordinates |
| mbx_nistp384_ecdh_ssl_mb8 | projective coordinates
affine coordinates |
| mbx_nistp521_ecdh_ssl_mb8 | projective coordinates
affine coordinates |
| mbx_nistp256_ecdsa_sign_ssl_mb8 | - |
| mbx_nistp384_ecdsa_sign_ssl_mb8 | - |
| mbx_nistp521_ecdsa_sign_ssl_mb8 | - |
| mbx_nistp256_ecdsa_sign_setup_ssl_mb8 | - |
| mbx_nistp384_ecdsa_sign_setup_ssl_mb8 | - |
| mbx_nistp521_ecdsa_sign_setup_ssl_mb8 | - |
| mbx_nistp256_ecdsa_sign_complete_ssl_mb8 | - |
| mbx_nistp384_ecdsa_sign_complete_ssl_mb8 | - |
| mbx_nistp521_ecdsa_sign_complete_ssl_mb8 | - |
| mbx_ed25519_public_key_mb8 | - |
| mbx_ed25519_sign_mb8 | - |
| mbx_rsa_private_mb8 | Different key length:
1024, 2048, 3072, 4096 bits |
| mbx_rsa_private_crt_mb8 | Different key length:
1024, 2048, 3072, 4096 bits |
| mbx_rsa_private_ssl_mb8 | Different key length:
1024, 2048, 3072, 4096 bits |
| mbx_rsa_private_crt_ssl_mb8 | Different key length:
1024, 2048, 3072, 4096 bits |
| mbx_sm2_ecdsa_sign_mb8 | - |
| mbx_sm2_ecdsa_sign_ssl_mb8 | - |
| mbx_sm4_encrypt_ecb_mb16 | - |
| mbx_sm4_decrypt_ecb_mb16 | - |
| mbx_sm4_encrypt_cbc_mb16 | - |
| mbx_sm4_decrypt_cbc_mb16 | - |
| mbx_sm4_encrypt_ctr128_mb16 | - |
| mbx_sm4_encrypt_ofb_mb16 | - |
| mbx_sm4_encrypt_cfb128_mb16 | - |
| mbx_sm4_decrypt_cfb128_mb16 | - |
| mbx_x25519_public_key_mb8 | - |
| mbx_x25519_mb8 | - |