[PATCH] cryptodev: add SNOW-V algorithms
Ji, Kai
kai.ji at intel.com
Thu Apr 10 17:08:14 CEST 2025
Acked-by: Kai Ji <kai.ji at intel.com>
________________________________
From: Nicolau, Radu <radu.nicolau at intel.com>
Sent: 08 April 2025 12:08
To: Akhil Goyal <gakhil at marvell.com>; Fan Zhang <fanzhang.oss at gmail.com>
Cc: dev at dpdk.org <dev at dpdk.org>; Ji, Kai <kai.ji at intel.com>; Nicolau, Radu <radu.nicolau at intel.com>
Subject: [PATCH] cryptodev: add SNOW-V algorithms
Add SNOW-V and SNOW-V AEAD mode algorithms to cryptodev API.
Signed-off-by: Radu Nicolau <radu.nicolau at intel.com>
---
lib/cryptodev/rte_crypto_sym.h | 17 ++++++++++++-----
lib/cryptodev/rte_cryptodev.c | 4 +++-
2 files changed, 15 insertions(+), 6 deletions(-)
diff --git a/lib/cryptodev/rte_crypto_sym.h b/lib/cryptodev/rte_crypto_sym.h
index 6268bab327..d6033ac4a1 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_SNOW_V,
+ /**< SNOW V algorithm */
};
/** Symmetric Cipher Direction */
@@ -486,6 +489,8 @@ enum rte_crypto_aead_algorithm {
/**< Chacha20 cipher with poly1305 authenticator */
RTE_CRYPTO_AEAD_SM4_GCM,
/**< SM4 cipher in GCM mode */
+ RTE_CRYPTO_AEAD_SNOW_V,
+ /**< SNOW V algorithm in GCM mode */
};
/** Symmetric AEAD Operations */
@@ -714,8 +719,9 @@ struct rte_crypto_sym_op {
*
* @note
* For SNOW 3G @ RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
- * KASUMI @ RTE_CRYPTO_CIPHER_KASUMI_F8
- * and ZUC @ RTE_CRYPTO_CIPHER_ZUC_EEA3,
+ * KASUMI @ RTE_CRYPTO_CIPHER_KASUMI_F8,
+ * ZUC @ RTE_CRYPTO_CIPHER_ZUC_EEA3 and
+ * SNOW V @ RTE_CRYPTO_CIPHER_SNOW_V
* this field should be in bits. For
* digest-encrypted cases this must be
* an 8-bit multiple.
@@ -732,8 +738,9 @@ struct rte_crypto_sym_op {
*
* @note
* For SNOW 3G @ RTE_CRYPTO_AUTH_SNOW3G_UEA2,
- * KASUMI @ RTE_CRYPTO_CIPHER_KASUMI_F8
- * and ZUC @ RTE_CRYPTO_CIPHER_ZUC_EEA3,
+ * KASUMI @ RTE_CRYPTO_CIPHER_KASUMI_F8,
+ * ZUC @ RTE_CRYPTO_CIPHER_ZUC_EEA3 and
+ * SNOW V @ RTE_CRYPTO_CIPHER_SNOW_V
* this field should be in bits. For
* digest-encrypted cases this must be
* an 8-bit multiple.
diff --git a/lib/cryptodev/rte_cryptodev.c b/lib/cryptodev/rte_cryptodev.c
index bb7bab4dd5..ae44c5f385 100644
--- a/lib/cryptodev/rte_cryptodev.c
+++ b/lib/cryptodev/rte_cryptodev.c
@@ -102,7 +102,8 @@ crypto_cipher_algorithm_strings[] = {
[RTE_CRYPTO_CIPHER_SM4_CTR] = "sm4-ctr",
[RTE_CRYPTO_CIPHER_SM4_CFB] = "sm4-cfb",
[RTE_CRYPTO_CIPHER_SM4_OFB] = "sm4-ofb",
- [RTE_CRYPTO_CIPHER_SM4_XTS] = "sm4-xts"
+ [RTE_CRYPTO_CIPHER_SM4_XTS] = "sm4-xts",
+ [RTE_CRYPTO_CIPHER_SNOW_V] = "snow-v",
};
/**
@@ -175,6 +176,7 @@ crypto_aead_algorithm_strings[] = {
[RTE_CRYPTO_AEAD_AES_GCM] = "aes-gcm",
[RTE_CRYPTO_AEAD_CHACHA20_POLY1305] = "chacha20-poly1305",
[RTE_CRYPTO_AEAD_SM4_GCM] = "sm4-gcm",
+ [RTE_CRYPTO_AEAD_SNOW_V] = "snow-v-aead",
};
--
2.43.0
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mails.dpdk.org/archives/dev/attachments/20250410/ea30367e/attachment-0001.htm>
More information about the dev
mailing list