1. Crypto Device Supported Functionality Matrices

1.1. Supported Feature Flags

Table 1.3 Features availability in crypto drivers
Feature a e s n i _ g c m a e s n i _ m b a r m v 8 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
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
HW Accelerated       Y Y Y Y   Y Y   Y Y   Y      
Protocol offload   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
RSA PRIV OP KEY EXP                           Y Y      
RSA PRIV OP KEY QT                       Y Y Y Y      
Digest encrypted                             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

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.

1.2. Supported Cipher Algorithms

Table 1.4 Cipher algorithms in crypto drivers
Cipher algorithm a e s n i _ g c m a e s n i _ m b a r m v 8 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  
AES CBC (192)   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  
AES ECB (128)         Y       Y                  
AES ECB (192)         Y       Y                  
AES ECB (256)         Y       Y                  
AES CTR (128)   Y   Y Y Y Y   Y     Y Y Y Y      
AES CTR (192)   Y   Y Y Y Y   Y     Y Y Y Y      
AES CTR (256)   Y   Y Y Y Y   Y     Y Y Y Y      
AES XTS (128)                       Y Y   Y      
AES XTS (192)                                    
AES XTS (256)                       Y Y   Y      
AES DOCSIS BPI   Y                         Y      
3DES CBC   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      
DES DOCSIS BPI   Y                       Y Y      
SNOW3G UEA2           Y Y         Y Y   Y Y    
KASUMI F8               Y       Y Y   Y      
ZUC EEA3           Y Y         Y Y   Y     Y

1.3. Supported Authentication Algorithms

Table 1.5 Authentication algorithms in crypto drivers
Authentication algorithm a e s n i _ g c m a e s n i _ m b a r m v 8 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        
MD5 HMAC   Y   Y Y Y Y   Y     Y Y Y Y      
SHA1   Y     Y       Y     Y Y Y Y      
SHA1 HMAC   Y Y Y Y Y Y   Y Y   Y Y Y Y   Y  
SHA224   Y     Y       Y     Y Y Y Y      
SHA224 HMAC   Y   Y Y Y Y   Y Y   Y Y Y Y      
SHA256   Y     Y       Y     Y Y Y Y      
SHA256 HMAC   Y Y Y Y Y Y   Y Y   Y Y Y Y      
SHA384   Y     Y       Y     Y Y Y Y      
SHA384 HMAC   Y   Y Y Y Y   Y     Y Y Y Y      
SHA512   Y     Y       Y     Y Y Y Y      
SHA512 HMAC   Y   Y Y Y Y   Y     Y Y Y Y      
AES XCBC MAC   Y                         Y      
AES GMAC Y Y             Y     Y Y Y Y      
SNOW3G UIA2           Y Y         Y Y   Y Y    
KASUMI F9               Y       Y Y   Y      
ZUC EIA3           Y Y         Y Y   Y     Y
AES CMAC (128)   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

Table 1.6 AEAD algorithms in crypto drivers
AEAD algorithm a e s n i _ g c m a e s n i _ m b a r m v 8 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      
AES GCM (192) 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      
AES CCM (128)   Y                       Y Y      
AES CCM (192)                           Y Y      
AES CCM (256)                           Y Y      
CHACHA20-POLY1305                         Y   Y      

1.5. Supported Asymmetric Algorithms

Table 1.7 Asymmetric algorithms in crypto drivers
Asymmetric algorithm a e s n i _ g c m a e s n i _ m b a r m v 8 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