From patchwork Fri May 20 05:54:05 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arkadiusz Kusztal X-Patchwork-Id: 111484 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 28674A0503; Fri, 20 May 2022 09:02:31 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id BFCDF40156; Fri, 20 May 2022 09:02:30 +0200 (CEST) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mails.dpdk.org (Postfix) with ESMTP id BB6A740151 for ; Fri, 20 May 2022 09:02:29 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1653030149; x=1684566149; h=from:to:cc:subject:date:message-id; bh=bqd7TbBTqv/XG2p0VwZLWF4IoMcRw1FU4PrGJSrEIRE=; b=ZyIxasyACK6zuMo5N2m1CRWM6ccMrm1SZc80We9mIABRJM1unH2DOWZB YzhUUyFmhOg5hC8cmVOSMJnUhLhPfbnzm7z7whb/gvgRmYnyaeMjbDkzZ mt4nZaGfisjgEcH1Qkp/lJow3CbOPfPENT0EA5zYxc5PpBpRENoiw0MP4 Zq3hsImErpGoTc9Gzf1lIWRFCsNDUL5lhTN6vzPST9ot26nld5HU3Dhh3 IzL2VmZtC4nxupvLVvfxCTnKmndJalfdd+4eYjnw5Y18tb2HskZSjwzQ7 VVjQD7Ip+MniICTrm9F+nIEWLQWFRMZidy2cgAIKCPXmbkqbXnDTi/6vJ g==; X-IronPort-AV: E=McAfee;i="6400,9594,10352"; a="272219621" X-IronPort-AV: E=Sophos;i="5.91,238,1647327600"; d="scan'208";a="272219621" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 May 2022 00:02:28 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.91,238,1647327600"; d="scan'208";a="599057987" Received: from silpixa00399302.ir.intel.com ([10.237.214.136]) by orsmga008.jf.intel.com with ESMTP; 20 May 2022 00:02:26 -0700 From: Arek Kusztal To: dev@dpdk.org Cc: gakhil@marvell.com, anoobj@marvell.com, roy.fan.zhang@intel.com, Arek Kusztal Subject: [PATCH 00/40] cryptodev: rsa, dh, ecdh changes Date: Fri, 20 May 2022 06:54:05 +0100 Message-Id: <20220520055445.40063-1-arkadiuszx.kusztal@intel.com> X-Mailer: git-send-email 2.13.6 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 This patchset introduces some of changes discussed on mailing list for 22.07 release in cryptodev asym. Key changes: - It fixes API for RSA (expescially signature paddings) - Adds Elliptic-Curve Diffie-Hellman - Removes LIST_END enumerators (ABI issue - supressed asym_xform) - Adds Eliiptic-Curve point verification (DH verification - but will be used only for EC) - Adds RSA missing padding fields. - Adds asym op flags - Fixes many API comments (like EC curves) Commits are grouped by functionality, and mostly independent. Arek Kusztal (40): cryptodev: redefine ec group enum cryptodev: remove list end enumerators test/crypto: remove list end enumerators cryptodev: reduce number of comments in asym xform test/crypto: removed asym xform none cryptodev: separate key exchange operation enum crypto/openssl: separate key exchange operation enum test/crypto: separate key exchange operation enum cryptodev: remove unnecessary zero assignement cryptodev: remove comment about using ephemeral key in dsa cryptodev: remove asym crypto next xform crypto/openssl: remove asym crypto next xform test/crypto: remove asym crypto next xform app/test-crypto-perf: remove asym crypto next xform app/test-eventdev: remove asym crypto next xform cryptodev: move dh type from xform to dh op crypto/openssl: move dh type from xform to dh op test/crypto: move dh type from xform to dh op cryptodev: changed order of dh fields cryptodev: add elliptic curve diffie hellman cryptodev: add public key verify option cryptodev: move RSA padding into separate struct crypto/qat: move RSA padding into separate struct crypto/openssl: move RSA padding into separate struct crypto/octeontx: move RSA padding into separate struct crypto/cnxk: move RSA padding into separate struct common/cpt: move RSA padding into separate struct test/crypto: move RSA padding into separate struct cryptodev: add salt length and optional label cryptodev: reduce rsa struct to only necessary fields crypto/qat: reduce rsa struct to only necessary fields crypto/openssl: reduce rsa struct to only necessary fields crypto/octeontx: reduce rsa struct to only necessary fields crypto/cnxk: reduce rsa struct to only necessary fields common/cpt: reduce rsa struct to only necessary fields test/crypto: reduce rsa struct to only necessary fields cryptodev: add asym op flags cryptodev: clarify usage of private key in dh crypto/openssl: generate dh private key test/crypto: added test for dh priv key generation app/test-crypto-perf/cperf_ops.c | 1 - app/test-eventdev/test_perf_common.c | 1 - app/test/test_cryptodev_asym.c | 117 +++++---- app/test/test_cryptodev_dh_test_vectors.h | 1 - app/test/test_cryptodev_dsa_test_vectors.h | 1 - app/test/test_cryptodev_mod_test_vectors.h | 2 - app/test/test_cryptodev_rsa_test_vectors.h | 2 - app/test/test_event_crypto_adapter.c | 4 - devtools/libabigail.abignore | 2 + drivers/common/cpt/cpt_ucode_asym.h | 12 +- drivers/crypto/cnxk/cnxk_ae.h | 44 ++-- drivers/crypto/octeontx/otx_cryptodev_ops.c | 26 +- drivers/crypto/openssl/rte_openssl_pmd.c | 47 ++-- drivers/crypto/openssl/rte_openssl_pmd_ops.c | 33 +-- drivers/crypto/qat/qat_asym.c | 28 +-- lib/cryptodev/rte_crypto_asym.h | 342 ++++++++++++++++----------- lib/cryptodev/rte_cryptodev.c | 15 +- 17 files changed, 358 insertions(+), 320 deletions(-)