Add specification for SNOW5G cipher and auth.

Signed-off-by: Nithinsen Kaithakadan <[email protected]>
---
Application and driver changes will be submitted as a separate patch.
 doc/guides/cryptodevs/features/default.ini | 2 ++
 lib/cryptodev/rte_crypto_sym.h             | 8 +++++++-
 lib/cryptodev/rte_cryptodev.c              | 2 ++
 3 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/doc/guides/cryptodevs/features/default.ini 
b/doc/guides/cryptodevs/features/default.ini
index 64198f013a..b377dc2c4c 100644
--- a/doc/guides/cryptodevs/features/default.ini
+++ b/doc/guides/cryptodevs/features/default.ini
@@ -60,6 +60,7 @@ AES DOCSIS BPI =
 DES CBC        =
 DES DOCSIS BPI =
 SNOW3G UEA2    =
+SNOW5G NEA4    =
 KASUMI F8      =
 ZUC EEA3       =
 SM4 ECB        =
@@ -89,6 +90,7 @@ SHA512 HMAC  =
 AES XCBC MAC =
 AES GMAC     =
 SNOW3G UIA2  =
+SNOW5G NIA4  =
 KASUMI F9    =
 ZUC EIA3     =
 AES CMAC (128)  =
diff --git a/lib/cryptodev/rte_crypto_sym.h b/lib/cryptodev/rte_crypto_sym.h
index 6268bab327..1ea6cc7df9 100644
--- a/lib/cryptodev/rte_crypto_sym.h
+++ b/lib/cryptodev/rte_crypto_sym.h
@@ -178,8 +178,11 @@ enum rte_crypto_cipher_algorithm {
        /**< ShangMi 4 (SM4) algorithm in OFB mode */
        RTE_CRYPTO_CIPHER_SM4_CFB,
        /**< ShangMi 4 (SM4) algorithm in CFB mode */
-       RTE_CRYPTO_CIPHER_SM4_XTS
+       RTE_CRYPTO_CIPHER_SM4_XTS,
        /**< ShangMi 4 (SM4) algorithm in XTS mode */
+
+       RTE_CRYPTO_CIPHER_SNOW5G_NEA4,
+       /**< SNOW 5G algorithm in NEA4 mode */
 };
 
 /** Symmetric Cipher Direction */
@@ -384,6 +387,9 @@ enum rte_crypto_auth_algorithm {
        /**< 256 bit SHAKE algorithm. */
        RTE_CRYPTO_AUTH_SM3_HMAC,
        /** < HMAC using ShangMi 3 (SM3) algorithm */
+
+       RTE_CRYPTO_AUTH_SNOW5G_NIA4,
+       /**< SNOW 5G algorithm in NIA4 mode. */
 };
 
 /** Symmetric Authentication / Hash Operations */
diff --git a/lib/cryptodev/rte_cryptodev.c b/lib/cryptodev/rte_cryptodev.c
index f4c6f692f0..6079ec30b1 100644
--- a/lib/cryptodev/rte_cryptodev.c
+++ b/lib/cryptodev/rte_cryptodev.c
@@ -96,6 +96,7 @@ crypto_cipher_algorithm_strings[] = {
 
        [RTE_CRYPTO_CIPHER_KASUMI_F8]   = "kasumi-f8",
        [RTE_CRYPTO_CIPHER_SNOW3G_UEA2] = "snow3g-uea2",
+       [RTE_CRYPTO_CIPHER_SNOW5G_NEA4] = "snow5g-nea4",
        [RTE_CRYPTO_CIPHER_ZUC_EEA3]    = "zuc-eea3",
        [RTE_CRYPTO_CIPHER_SM4_ECB]     = "sm4-ecb",
        [RTE_CRYPTO_CIPHER_SM4_CBC]     = "sm4-cbc",
@@ -156,6 +157,7 @@ crypto_auth_algorithm_strings[] = {
 
        [RTE_CRYPTO_AUTH_KASUMI_F9]     = "kasumi-f9",
        [RTE_CRYPTO_AUTH_SNOW3G_UIA2]   = "snow3g-uia2",
+       [RTE_CRYPTO_AUTH_SNOW5G_NIA4]   = "snow5g-nia4",
        [RTE_CRYPTO_AUTH_ZUC_EIA3]      = "zuc-eia3",
        [RTE_CRYPTO_AUTH_SM3]           = "sm3",
        [RTE_CRYPTO_AUTH_SM3_HMAC]      = "sm3-hmac",
-- 
2.48.1

Reply via email to