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 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 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
Asymmetric crypto                       Y        
Sym operation chaining 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      
Protocol offload       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      
OOP SGL In SGL Out       Y   Y Y       Y   Y      
OOP SGL In LB Out Y     Y   Y Y   Y   Y Y Y      
OOP LB In SGL Out       Y   Y Y           Y      
OOP LB In LB Out Y Y   Y   Y Y   Y     Y Y      
RSA PRIV OP KEY EXP                       Y        
RSA PRIV OP KEY QT                       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.

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 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 v i r t i o z u c
NULL                 Y Y Y   Y      
AES CBC (128)   Y Y Y Y Y Y   Y   Y Y Y   Y  
AES CBC (192)   Y   Y Y Y Y   Y   Y Y Y   Y  
AES CBC (256)   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      
AES CTR (192)   Y   Y Y Y Y   Y   Y Y Y      
AES CTR (256)   Y   Y Y Y Y   Y   Y Y Y      
AES XTS (128)                     Y   Y      
AES XTS (192)                                
AES XTS (256)                     Y   Y      
AES DOCSIS BPI   Y                     Y      
3DES CBC   Y   Y Y Y Y   Y   Y Y Y      
3DES CTR                 Y     Y Y      
3DES ECB                     Y          
DES CBC   Y                 Y   Y      
DES DOCSIS BPI   Y                   Y Y      
SNOW3G UEA2                     Y   Y Y    
KASUMI F8               Y     Y   Y      
ZUC EEA3                     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 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 v i r t i o z u c
NULL                 Y Y Y   Y      
MD5                 Y   Y Y        
MD5 HMAC   Y   Y Y Y Y   Y   Y Y Y      
SHA1   Y     Y       Y   Y Y        
SHA1 HMAC   Y Y Y Y Y Y   Y   Y Y Y   Y  
SHA224   Y     Y       Y   Y Y        
SHA224 HMAC   Y   Y Y Y Y   Y   Y Y Y      
SHA256   Y     Y       Y   Y Y        
SHA256 HMAC   Y Y Y Y Y Y   Y   Y Y Y      
SHA384   Y     Y       Y   Y Y        
SHA384 HMAC   Y   Y Y Y Y   Y   Y Y Y      
SHA512   Y     Y       Y   Y Y        
SHA512 HMAC   Y   Y Y Y Y   Y   Y Y Y      
AES XCBC MAC   Y                     Y      
AES GMAC Y Y             Y   Y Y Y      
SNOW3G UIA2                     Y   Y Y    
KASUMI F9               Y     Y   Y      
ZUC EIA3                     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 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 v i r t i o z u c
AES GCM (128) Y Y   Y Y Y Y   Y   Y Y Y      
AES GCM (192) Y Y   Y Y Y Y   Y   Y Y Y      
AES GCM (256) 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      

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 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 v i r t i o z u c
RSA                       Y        
DSA                       Y        
Modular Exponentiation                       Y Y      
Modular Inversion                       Y Y      
Diffie-hellman                       Y