1. Crypto Device Supported Functionality Matrices
1.1. Supported Feature Flags
Feature | a e s n i _ g c m | a e s n i _ m b | a r m v 8 | b c m f s | c a a m _ j r | c c p | c h a c h a 2 0 _ p o l y 1 3 0 5 | c n 1 0 k | c n 9 k | d p a a 2 _ s e c | d p a a _ s e c | i o n i c | k a s u m i | m l x 5 | m v s a m | n i t r o x | n u l l | o c t e o n t x | o p e n s s l | q a t | s n o w 3 g | u a d k | v i r t i o | z u c |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Symmetric crypto | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
Asymmetric crypto | Y | Y | Y | Y | ||||||||||||||||||||
Sym operation chaining | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | |||
HW Accelerated | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | ||||||||||
Protocol offload | Y | Y | Y | Y | Y | Y | Y | Y | Y | |||||||||||||||
CPU SSE | Y | Y | ||||||||||||||||||||||
CPU AVX | Y | Y | ||||||||||||||||||||||
CPU AVX2 | Y | Y | ||||||||||||||||||||||
CPU AVX512 | Y | Y | ||||||||||||||||||||||
CPU AESNI | Y | Y | ||||||||||||||||||||||
CPU NEON | Y | |||||||||||||||||||||||
CPU ARM CE | Y | |||||||||||||||||||||||
In Place SGL | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | |||||||||
OOP SGL In SGL Out | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | |||||||||||||
OOP SGL In LB Out | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | |||||||||
OOP LB In SGL Out | Y | Y | Y | Y | Y | Y | Y | |||||||||||||||||
OOP LB In LB Out | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | ||||
RSA PRIV OP KEY EXP | Y | Y | Y | Y | ||||||||||||||||||||
RSA PRIV OP KEY QT | Y | Y | Y | Y | Y | |||||||||||||||||||
Digest encrypted | Y | Y | Y | Y | Y | Y | ||||||||||||||||||
Asymmetric sessionless | Y | |||||||||||||||||||||||
CPU crypto | Y | Y | Y | |||||||||||||||||||||
Symmetric sessionless | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | ||||||||||||
Non-Byte aligned data | Y | Y | Y | Y | Y | |||||||||||||||||||
Sym raw data path API | Y | Y | ||||||||||||||||||||||
Cipher multiple data units | Y | |||||||||||||||||||||||
Cipher wrapped key | Y | |||||||||||||||||||||||
Inner checksum | Y | |||||||||||||||||||||||
Rx inject | Y |
Note
- “In Place SGL” feature flag stands for “In place Scatter-gather list”, which means that an input buffer can consist of multiple segments, being the operation in-place (input address = output address).
- “OOP SGL In SGL Out” feature flag stands for “Out-of-place Scatter-gather list Input, Scatter-gather list Output”, which means PMD supports different scatter-gather styled input and output buffers (i.e. both can consist of multiple segments).
- “OOP SGL In LB Out” feature flag stands for “Out-of-place Scatter-gather list Input, Linear Buffers Output”, which means PMD supports input from scatter-gather styled buffers, outputting linear buffers (i.e. single segment).
- “OOP LB In SGL Out” feature flag stands for “Out-of-place Linear Buffers Input, Scatter-gather list Output”, which means PMD supports input from linear buffer, outputting scatter-gather styled buffers.
- “OOP LB In LB Out” feature flag stands for “Out-of-place Linear Buffers Input, Linear Buffers Output”, which means that Out-of-place operation is supported, with linear input and output buffers.
- “RSA PRIV OP KEY EXP” feature flag means PMD support RSA private key operation (Sign and Decrypt) using exponent key type only.
- “RSA PRIV OP KEY QT” feature flag means PMD support RSA private key operation (Sign and Decrypt) using quintuple (crt) type key only.
- “Digest encrypted” feature flag means PMD support hash-cipher cases, where generated digest is appended to and encrypted with the data.
- “CIPHER_MULTIPLE_DATA_UNITS” feature flag means PMD support operations
- on multiple data-units message.
- “CIPHER_WRAPPED_KEY” feature flag means PMD support wrapped key in cipher
- xform.
1.2. Supported Cipher Algorithms
Cipher algorithm | a e s n i _ g c m | a e s n i _ m b | a r m v 8 | b c m f s | c a a m _ j r | c c p | c h a c h a 2 0 _ p o l y 1 3 0 5 | c n 1 0 k | c n 9 k | d p a a 2 _ s e c | d p a a _ s e c | i o n i c | k a s u m i | m l x 5 | m v s a m | n i t r o x | n u l l | o c t e o n t x | o p e n s s l | q a t | s n o w 3 g | u a d k | v i r t i o | z u c |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
NULL | Y | Y | Y | Y | Y | Y | ||||||||||||||||||
AES CBC (128) | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | ||||||||
AES CBC (192) | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | |||||||||
AES CBC (256) | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | |||||||||
AES ECB (128) | Y | Y | Y | Y | ||||||||||||||||||||
AES ECB (192) | Y | Y | Y | Y | ||||||||||||||||||||
AES ECB (256) | Y | Y | Y | Y | ||||||||||||||||||||
AES CTR (128) | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | ||||||||||||
AES CTR (192) | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | ||||||||||||
AES CTR (256) | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | ||||||||||||
AES XTS (128) | Y | Y | Y | Y | Y | Y | Y | |||||||||||||||||
AES XTS (192) | ||||||||||||||||||||||||
AES XTS (256) | Y | Y | Y | Y | Y | Y | Y | |||||||||||||||||
AES DOCSIS BPI | Y | Y | Y | |||||||||||||||||||||
3DES CBC | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | |||||||||||
3DES CTR | Y | Y | Y | |||||||||||||||||||||
3DES ECB | Y | Y | Y | |||||||||||||||||||||
DES CBC | Y | Y | Y | Y | Y | Y | Y | Y | Y | |||||||||||||||
DES DOCSIS BPI | Y | Y | Y | Y | ||||||||||||||||||||
SNOW3G UEA2 | Y | Y | Y | Y | Y | Y | Y | Y | ||||||||||||||||
KASUMI F8 | Y | Y | Y | Y | Y | Y | ||||||||||||||||||
ZUC EEA3 | Y | Y | Y | Y | Y | Y | Y | Y | ||||||||||||||||
SM4 ECB | Y | Y | ||||||||||||||||||||||
SM4 CBC | Y | Y | ||||||||||||||||||||||
SM4 CTR | Y | Y | ||||||||||||||||||||||
SM4 CFB | Y | |||||||||||||||||||||||
SM4 OFB | Y |
1.3. Supported Authentication Algorithms
Authentication algorithm | a e s n i _ g c m | a e s n i _ m b | a r m v 8 | b c m f s | c a a m _ j r | c c p | c h a c h a 2 0 _ p o l y 1 3 0 5 | c n 1 0 k | c n 9 k | d p a a 2 _ s e c | d p a a _ s e c | i o n i c | k a s u m i | m l x 5 | m v s a m | n i t r o x | n u l l | o c t e o n t x | o p e n s s l | q a t | s n o w 3 g | u a d k | v i r t i o | z u c |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
NULL | Y | Y | Y | Y | Y | Y | ||||||||||||||||||
MD5 | Y | Y | Y | Y | Y | Y | Y | Y | ||||||||||||||||
MD5 HMAC | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | |||||||||||
SHA1 | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | ||||||||||||
SHA1 HMAC | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | ||||||||
SHA224 | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | ||||||||||||
SHA224 HMAC | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | ||||||||||
SHA256 | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | ||||||||||||
SHA256 HMAC | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | |||||||||
SHA384 | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | ||||||||||||
SHA384 HMAC | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | |||||||||||
SHA512 | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | ||||||||||||
SHA512 HMAC | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | |||||||||||
AES XCBC MAC | Y | Y | Y | Y | Y | |||||||||||||||||||
AES GMAC | Y | Y | Y | Y | Y | Y | Y | Y | Y | |||||||||||||||
SNOW3G UIA2 | Y | Y | Y | Y | Y | Y | Y | Y | ||||||||||||||||
KASUMI F9 | Y | Y | Y | Y | Y | Y | ||||||||||||||||||
ZUC EIA3 | Y | Y | Y | Y | Y | Y | Y | Y | ||||||||||||||||
AES CMAC (128) | Y | Y | Y | Y | Y | Y | Y | Y | ||||||||||||||||
AES CMAC (192) | Y | Y | Y | |||||||||||||||||||||
AES CMAC (256) | Y | Y | Y | |||||||||||||||||||||
SHA3_224 | Y | Y | Y | Y | ||||||||||||||||||||
SHA3_224 HMAC | Y | Y | Y | |||||||||||||||||||||
SHA3_256 | Y | Y | Y | Y | ||||||||||||||||||||
SHA3_256 HMAC | Y | Y | Y | |||||||||||||||||||||
SHA3_384 | Y | Y | Y | Y | ||||||||||||||||||||
SHA3_384 HMAC | Y | Y | Y | |||||||||||||||||||||
SHA3_512 | Y | Y | Y | Y | ||||||||||||||||||||
SHA3_512 HMAC | Y | Y | Y | |||||||||||||||||||||
SM3 | Y | Y | ||||||||||||||||||||||
SM3 HMAC | Y | |||||||||||||||||||||||
SHAKE_128 | Y | Y | ||||||||||||||||||||||
SHAKE_256 | Y | Y |
1.4. Supported AEAD Algorithms
AEAD algorithm | a e s n i _ g c m | a e s n i _ m b | a r m v 8 | b c m f s | c a a m _ j r | c c p | c h a c h a 2 0 _ p o l y 1 3 0 5 | c n 1 0 k | c n 9 k | d p a a 2 _ s e c | d p a a _ s e c | i o n i c | k a s u m i | m l x 5 | m v s a m | n i t r o x | n u l l | o c t e o n t x | o p e n s s l | q a t | s n o w 3 g | u a d k | v i r t i o | z u c |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
AES GCM (128) | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | ||||||||
AES GCM (192) | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | ||||||||||
AES GCM (256) | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | ||||||||
AES CCM (128) | Y | Y | Y | Y | Y | Y | Y | |||||||||||||||||
AES CCM (192) | Y | Y | Y | Y | Y | Y | ||||||||||||||||||
AES CCM (256) | Y | Y | Y | Y | Y | Y | Y | |||||||||||||||||
CHACHA20-POLY1305 | Y | Y | Y | Y | Y |
1.5. Supported Asymmetric Algorithms
Asymmetric algorithm | a e s n i _ g c m | a e s n i _ m b | a r m v 8 | b c m f s | c a a m _ j r | c c p | c h a c h a 2 0 _ p o l y 1 3 0 5 | c n 1 0 k | c n 9 k | d p a a 2 _ s e c | d p a a _ s e c | i o n i c | k a s u m i | m l x 5 | m v s a m | n i t r o x | n u l l | o c t e o n t x | o p e n s s l | q a t | s n o w 3 g | u a d k | v i r t i o | z u c |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
RSA | Y | Y | Y | Y | Y | |||||||||||||||||||
DSA | Y | |||||||||||||||||||||||
Modular Exponentiation | Y | Y | Y | Y | Y | |||||||||||||||||||
Modular Inversion | Y | Y | ||||||||||||||||||||||
Diffie-hellman | Y | |||||||||||||||||||||||
ECDSA | Y | Y | Y | Y | ||||||||||||||||||||
ECPM | Y | Y | Y | Y | ||||||||||||||||||||
ECDH | Y | Y | Y | |||||||||||||||||||||
SM2 | Y | Y | Y |
1.6. Supported Operating Systems
Operating system | a e s n i _ g c m | a e s n i _ m b | a r m v 8 | b c m f s | c a a m _ j r | c c p | c h a c h a 2 0 _ p o l y 1 3 0 5 | c n 1 0 k | c n 9 k | d p a a 2 _ s e c | d p a a _ s e c | i o n i c | k a s u m i | m l x 5 | m v s a m | n i t r o x | n u l l | o c t e o n t x | o p e n s s l | q a t | s n o w 3 g | u a d k | v i r t i o | z u c |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Linux | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
FreeBSD | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | ||||||||||
Windows | Y |