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 | d p a a 2 _ s e c | d p a a _ s e c | k a s u m i | m v s a m | n i t r o x | n u l l | o c t e o n t x | o c t e o n t x 2 | o p e n s s l | q a t | s n o w 3 g | 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 | 
| Asymmetric crypto | 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 | 
| HW Accelerated | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | |||||||||
| Protocol offload | 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 | |||||||||
| OOP SGL In SGL Out | Y | Y | Y | Y | Y | Y | Y | ||||||||||||
| OOP SGL In LB Out | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | |||||||||
| OOP LB In SGL Out | 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 | |||
| RSA PRIV OP KEY EXP | Y | Y | |||||||||||||||||
| RSA PRIV OP KEY QT | Y | Y | Y | Y | |||||||||||||||
| Digest encrypted | Y | Y | Y | ||||||||||||||||
| Asymmetric sessionless | Y | ||||||||||||||||||
| CPU crypto | Y | Y | |||||||||||||||||
| Symmetric sessionless | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | |||||||||
| Non-Byte aligned data | Y | Y | Y | Y | |||||||||||||||
| Sym raw data path API | Y | ||||||||||||||||||
| Cipher multiple data units | |||||||||||||||||||
| Cipher wrapped key | 
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 consists 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-gathered 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-gathered 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 | d p a a 2 _ s e c | d p a a _ s e c | k a s u m i | m v s a m | n i t r o x | n u l l | o c t e o n t x | o c t e o n t x 2 | o p e n s s l | q a t | s n o w 3 g | v i r t i o | z u c | 
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| NULL | Y | Y | Y | Y | Y | ||||||||||||||
| AES CBC (128) | 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 | ||||||
| AES CBC (256) | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | ||||||
| AES ECB (128) | Y | Y | Y | ||||||||||||||||
| AES ECB (192) | Y | Y | Y | ||||||||||||||||
| AES ECB (256) | Y | Y | Y | ||||||||||||||||
| AES CTR (128) | 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 | ||||||||
| AES CTR (256) | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | ||||||||
| AES XTS (128) | Y | Y | Y | Y | |||||||||||||||
| AES XTS (192) | |||||||||||||||||||
| AES XTS (256) | Y | Y | Y | Y | |||||||||||||||
| AES DOCSIS BPI | Y | Y | |||||||||||||||||
| 3DES CBC | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | |||||||
| 3DES CTR | Y | Y | Y | ||||||||||||||||
| 3DES ECB | Y | Y | |||||||||||||||||
| DES CBC | Y | Y | Y | Y | Y | Y | |||||||||||||
| DES DOCSIS BPI | Y | Y | Y | ||||||||||||||||
| SNOW3G UEA2 | Y | Y | Y | Y | Y | Y | Y | ||||||||||||
| KASUMI F8 | Y | Y | Y | Y | Y | ||||||||||||||
| ZUC EEA3 | Y | Y | Y | Y | Y | Y | 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 | d p a a 2 _ s e c | d p a a _ s e c | k a s u m i | m v s a m | n i t r o x | n u l l | o c t e o n t x | o c t e o n t x 2 | o p e n s s l | q a t | s n o w 3 g | v i r t i o | z u c | 
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| NULL | Y | Y | Y | Y | Y | ||||||||||||||
| MD5 | Y | Y | Y | Y | Y | ||||||||||||||
| MD5 HMAC | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | ||||||||
| SHA1 | 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 | |||||
| SHA224 | Y | Y | Y | Y | Y | Y | Y | Y | Y | ||||||||||
| SHA224 HMAC | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | |||||||
| SHA256 | Y | Y | Y | Y | Y | Y | Y | Y | Y | ||||||||||
| SHA256 HMAC | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | ||||||
| SHA384 | Y | Y | Y | Y | Y | Y | Y | Y | Y | ||||||||||
| SHA384 HMAC | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | ||||||||
| SHA512 | Y | Y | Y | Y | Y | Y | Y | Y | Y | ||||||||||
| SHA512 HMAC | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | ||||||||
| AES XCBC MAC | Y | Y | Y | Y | |||||||||||||||
| AES GMAC | Y | Y | Y | Y | Y | Y | Y | Y | |||||||||||
| SNOW3G UIA2 | Y | Y | Y | Y | Y | Y | Y | ||||||||||||
| KASUMI F9 | Y | Y | Y | Y | Y | ||||||||||||||
| ZUC EIA3 | Y | Y | Y | Y | Y | Y | Y | ||||||||||||
| AES CMAC (128) | Y | Y | Y | Y | Y | ||||||||||||||
| AES CMAC (192) | Y | ||||||||||||||||||
| AES CMAC (256) | Y | ||||||||||||||||||
| SHA3_224 | Y | ||||||||||||||||||
| SHA3_224 HMAC | Y | ||||||||||||||||||
| SHA3_256 | Y | ||||||||||||||||||
| SHA3_256 HMAC | Y | ||||||||||||||||||
| SHA3_384 | Y | ||||||||||||||||||
| SHA3_384 HMAC | Y | ||||||||||||||||||
| SHA3_512 | Y | ||||||||||||||||||
| SHA3_512 HMAC | 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 | d p a a 2 _ s e c | d p a a _ s e c | k a s u m i | m v s a m | n i t r o x | n u l l | o c t e o n t x | o c t e o n t x 2 | o p e n s s l | q a t | s n o w 3 g | 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 | ||||||
| AES GCM (192) | 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 | ||||||
| AES CCM (128) | Y | Y | Y | Y | |||||||||||||||
| AES CCM (192) | Y | Y | Y | ||||||||||||||||
| AES CCM (256) | Y | Y | Y | Y | |||||||||||||||
| CHACHA20-POLY1305 | 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 | d p a a 2 _ s e c | d p a a _ s e c | k a s u m i | m v s a m | n i t r o x | n u l l | o c t e o n t x | o c t e o n t x 2 | o p e n s s l | q a t | s n o w 3 g | v i r t i o | z u c | 
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| RSA | Y | Y | Y | Y | |||||||||||||||
| DSA | Y | ||||||||||||||||||
| Modular Exponentiation | Y | Y | Y | Y | |||||||||||||||
| Modular Inversion | Y | Y | |||||||||||||||||
| Diffie-hellman | Y | ||||||||||||||||||
| ECDSA | Y | Y | |||||||||||||||||
| ECPM | Y | Y |