From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 73ED3A0032; Wed, 17 Aug 2022 09:17:53 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 70C484114B; Wed, 17 Aug 2022 09:17:49 +0200 (CEST) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by mails.dpdk.org (Postfix) with ESMTP id 34B3640691 for ; Wed, 17 Aug 2022 09:17:47 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1660720667; x=1692256667; h=from:to:cc:subject:date:message-id:in-reply-to: references; bh=SfMtDwVuzeKF/Vbo2PGs+5PENrbN0cegldgqpELVdB0=; b=PhSKej4gJOfw1vuXOL7Ao03jGO2gi2y7DlwkBlo3Wf2GIQ7lNpFCodVc cLjK7aK1dBnGLSJgxoVtXhrmW+l3KehPjM4thofXruI3v81j0GqVwRJSc laPU9fvFyCSOkzYz1x1mtrOXk8xHnuIPQ8Wa5kyH26/Wo6wtwdzIjpwV0 DOUhoTKFL1LR+AzU8fT3NOobKZ6jAupc+6jweMjtSfe75mB94/3eMlD+J /sdv4T9aTQc5CqJvx8jTsLuT6eVCxxKE95OnQFXbUj3pQxqTp/X9450bU nJkJvJxhyMSfgcBuIGrGrxvgMBiCJRQccvzAsDH7kU6dJ2p59qtov0NSI A==; X-IronPort-AV: E=McAfee;i="6400,9594,10441"; a="356421122" X-IronPort-AV: E=Sophos;i="5.93,242,1654585200"; d="scan'208";a="356421122" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Aug 2022 00:17:46 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.93,242,1654585200"; d="scan'208";a="667485774" Received: from silpixa00399302.ir.intel.com ([10.237.214.136]) by fmsmga008.fm.intel.com with ESMTP; 17 Aug 2022 00:17:45 -0700 From: Arek Kusztal To: dev@dpdk.org Cc: gakhil@marvell.com, kai.ji@intel.com, Arek Kusztal Subject: [PATCH 1/4] cryptodev: add SM4 encryption algorithm Date: Wed, 17 Aug 2022 07:08:53 +0100 Message-Id: <20220817060856.78582-2-arkadiuszx.kusztal@intel.com> X-Mailer: git-send-email 2.13.6 In-Reply-To: <20220817060856.78582-1-arkadiuszx.kusztal@intel.com> References: <20220817060856.78582-1-arkadiuszx.kusztal@intel.com> X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org SM4 is a block cipher used in the Chinese National Standard for Wireless LAN WAPI and also used with Transport Layer Security. - Added SM4 encryption algorithm. Supported modes are ECB, CBC and CTR. Signed-off-by: Arek Kusztal --- doc/guides/cryptodevs/features/default.ini | 3 +++ doc/guides/rel_notes/release_22_11.rst | 4 ++++ lib/cryptodev/rte_crypto_sym.h | 9 ++++++++- lib/cryptodev/rte_cryptodev.c | 5 ++++- 4 files changed, 19 insertions(+), 2 deletions(-) diff --git a/doc/guides/cryptodevs/features/default.ini b/doc/guides/cryptodevs/features/default.ini index 7371ca6644..1608426b12 100644 --- a/doc/guides/cryptodevs/features/default.ini +++ b/doc/guides/cryptodevs/features/default.ini @@ -61,6 +61,9 @@ DES DOCSIS BPI = SNOW3G UEA2 = KASUMI F8 = ZUC EEA3 = +SM4 ECB = +SM4 CBC = +SM4 CTR = ; ; Supported authentication algorithms of a default crypto driver. diff --git a/doc/guides/rel_notes/release_22_11.rst b/doc/guides/rel_notes/release_22_11.rst index 8c021cf050..15fc6ec40a 100644 --- a/doc/guides/rel_notes/release_22_11.rst +++ b/doc/guides/rel_notes/release_22_11.rst @@ -55,6 +55,10 @@ New Features Also, make sure to start the actual text at the margin. ======================================================= +* **Added SM4 encryption algorithm in ECB, CBC and CTR mode.** + + Added SM4 encryption algorithm to the Cryptodev API. + Supported modes are ECB, CBC and CTR. Removed Items ------------- diff --git a/lib/cryptodev/rte_crypto_sym.h b/lib/cryptodev/rte_crypto_sym.h index daa090b978..33420e0b36 100644 --- a/lib/cryptodev/rte_crypto_sym.h +++ b/lib/cryptodev/rte_crypto_sym.h @@ -160,12 +160,19 @@ enum rte_crypto_cipher_algorithm { * for m_src and m_dst in the rte_crypto_sym_op must be NULL. */ - RTE_CRYPTO_CIPHER_DES_DOCSISBPI + RTE_CRYPTO_CIPHER_DES_DOCSISBPI, /**< DES algorithm using modes required by * DOCSIS Baseline Privacy Plus Spec. * Chained mbufs are not supported in this mode, i.e. rte_mbuf.next * for m_src and m_dst in the rte_crypto_sym_op must be NULL. */ + + RTE_CRYPTO_CIPHER_SM4_ECB, + /**< SM4 algorithm in ECB mode */ + RTE_CRYPTO_CIPHER_SM4_CBC, + /**< SM4 algorithm in CBC mode */ + RTE_CRYPTO_CIPHER_SM4_CTR + /**< SM4 algorithm in CTR mode */ }; /** Cipher algorithm name strings */ diff --git a/lib/cryptodev/rte_cryptodev.c b/lib/cryptodev/rte_cryptodev.c index 42f3221052..266804f0fe 100644 --- a/lib/cryptodev/rte_cryptodev.c +++ b/lib/cryptodev/rte_cryptodev.c @@ -89,7 +89,10 @@ rte_crypto_cipher_algorithm_strings[] = { [RTE_CRYPTO_CIPHER_KASUMI_F8] = "kasumi-f8", [RTE_CRYPTO_CIPHER_SNOW3G_UEA2] = "snow3g-uea2", - [RTE_CRYPTO_CIPHER_ZUC_EEA3] = "zuc-eea3" + [RTE_CRYPTO_CIPHER_ZUC_EEA3] = "zuc-eea3", + [RTE_CRYPTO_CIPHER_SM4_ECB] = "sm4-ecb", + [RTE_CRYPTO_CIPHER_SM4_CBC] = "sm4-cbc", + [RTE_CRYPTO_CIPHER_SM4_CTR] = "sm4-ctr" }; /** -- 2.13.6