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 |
Y |
|||||||||||||||||||||
SM4 CBC |
Y |
Y |
Y |
|||||||||||||||||||||
SM4 CTR |
Y |
Y |
Y |
|||||||||||||||||||||
SM4 CFB |
Y |
|||||||||||||||||||||||
SM4 OFB |
Y |
|||||||||||||||||||||||
SM4 XTS |
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 |
Y |
|||||||||||||||||||||
SM3 HMAC |
Y |
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 |
|||||||||||||||||||||
EdDSA |
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 |