1. Crypto Device Supported Functionality Matrices

1.1. Supported Feature Flags

Table 1.23 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 b c m f s c a a m _ j r c c p c n 1 0 k c n 2 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 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 s d a 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 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
HW Accelerated       Y Y 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         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       Y  
OOP SGL In SGL Out   Y     Y   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       Y  
OOP LB In SGL Out   Y     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 Y     Y    
RSA PRIV OP KEY QT             Y Y Y               Y Y Y     Y    
Digest encrypted   Y         Y Y Y               Y   Y Y        
Asymmetric sessionless             Y Y Y                   Y          
CPU crypto Y Y                                            
Symmetric sessionless Y Y Y     Y Y Y Y               Y Y   Y       Y
Non-Byte aligned data   Y                                   Y       Y
Sym raw data path API             Y Y                     Y          
Cipher multiple data units                         Y                      
Cipher wrapped key                         Y                      
Inner checksum             Y Y                                
Rx inject             Y Y                                
ML-DSA sign prehash               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

Table 1.24 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 b c m f s c a a m _ j r c c p c n 1 0 k c n 2 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 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 s d a z u c
NULL             Y Y 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 Y    
AES CBC (192)   Y   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 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 Y          
AES CTR (192)   Y   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 Y          
AES XTS (128)       Y     Y Y Y       Y       Y Y Y   Y   Y  
AES XTS (192)                                                
AES XTS (256)       Y     Y Y 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 Y          
3DES CTR                           Y       Y Y          
3DES ECB             Y Y Y               Y              
DES CBC   Y   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 Y        
KASUMI F8   Y         Y Y Y               Y   Y          
ZUC EEA3   Y         Y Y Y Y Y           Y   Y         Y
SM4 ECB   Y         Y Y                     Y          
SM4 CBC   Y         Y Y                     Y          
SM4 CTR   Y         Y Y                     Y          
SM4 CFB             Y Y                                
SM4 OFB             Y Y                                
SM4 XTS                                             Y  
SNOW5G NEA4               Y                                
AES NEA5                                                
ZUC-256 NEA6               Y                                

1.3. Supported Authentication Algorithms

Table 1.25 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 b c m f s c a a m _ j r c c p c n 1 0 k c n 2 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 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 s d a z u c
NULL             Y Y Y Y       Y   Y Y   Y          
MD5             Y Y Y Y Y     Y     Y Y     Y      
MD5 HMAC   Y   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   Y   Y  
SHA1 HMAC   Y 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   Y   Y  
SHA224 HMAC   Y   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   Y   Y  
SHA256 HMAC   Y 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   Y   Y  
SHA384 HMAC   Y   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   Y   Y  
SHA512 HMAC   Y   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 Y          
SNOW3G UIA2   Y         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         Y
AES CMAC (128)   Y   Y   Y Y Y Y Y Y               Y          
AES CMAC (192)           Y Y Y Y                              
AES CMAC (256)           Y Y Y Y                              
SHA3_224           Y Y Y Y                 Y Y          
SHA3_224 HMAC           Y Y Y Y                 Y            
SHA3_256           Y Y Y Y                 Y Y          
SHA3_256 HMAC           Y Y Y Y                 Y            
SHA3_384           Y Y Y Y                 Y Y          
SHA3_384 HMAC           Y Y Y Y                 Y            
SHA3_512           Y Y Y Y                 Y Y          
SHA3_512 HMAC           Y Y Y Y                 Y            
SM3   Y         Y Y                     Y       Y  
SM3 HMAC   Y                                 Y          
SHAKE_128             Y Y Y                 Y            
SHAKE_256             Y Y Y                 Y            
SNOW5G NIA4               Y                                
AES NIA5                                                
ZUC-256 NIA6               Y                                

1.4. Supported AEAD Algorithms

Table 1.26 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 b c m f s c a a m _ j r c c p c n 1 0 k c n 2 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 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 s d a z u c
AES GCM (128) Y 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 Y          
AES GCM (256) Y 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 Y          
AES CCM (192)       Y     Y Y Y           Y     Y Y          
AES CCM (256)   Y   Y     Y Y Y           Y     Y Y          
CHACHA20-POLY1305   Y         Y Y Y                   Y          
SM4 GCM   Y                                            
SNOW5G NCA4                                                
AES NCA5                                                
ZUC-256 NCA6                                                

1.5. Supported Asymmetric Algorithms

Table 1.27 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 b c m f s c a a m _ j r c c p c n 1 0 k c n 2 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 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 s d a z u c
RSA             Y Y Y               Y Y Y     Y    
DSA                                   Y            
Modular Exponentiation             Y Y Y               Y Y Y          
Modular Inversion                                   Y Y          
Diffie-hellman                                   Y            
ECDSA             Y Y Y               Y   Y          
ECPM             Y Y Y               Y   Y          
ECDH             Y Y Y                   Y          
SM2             Y Y                   Y Y          
EdDSA             Y Y                   Y            
ML-DSA               Y                   Y            
ML-KEM               Y                   Y            

1.6. Supported Operating Systems

Table 1.28 Operating systems support for crypto drivers
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 n 1 0 k c n 2 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 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 s d a 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
Windows                         Y