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 7F93AA00BE; Mon, 16 May 2022 20:50:30 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 1EE5540A7A; Mon, 16 May 2022 20:50:30 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by mails.dpdk.org (Postfix) with ESMTP id 746C44068B for ; Mon, 16 May 2022 20:50:28 +0200 (CEST) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 24GAeUGX019605; Mon, 16 May 2022 11:50:27 -0700 Received: from nam10-bn7-obe.outbound.protection.outlook.com (mail-bn7nam10lp2108.outbound.protection.outlook.com [104.47.70.108]) by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 3g2bxsr8h7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 16 May 2022 11:50:27 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FE7LOWUhvFNi/zKMFnRCnTANiAo+qLdpIjfYQhTUTKhCImEmqCYUo6EwebAVb9GB4tgj1bdNOrkhVU/WZcLqdZJV4j6po0ka8WEwbSRfQvws+OBnlKyCzGImViFCaZWuUVZgxnjWB9Sm/PA6xcasAQjpBiJScGxb4+SINZlLfkJegn9jf4ROGCNHOWJJhVCcGW2Ih43LOsnYP7C5Q1E/QASwbGJdiRn9C7qCMJE3gtJPDjaR/vB6cQRg5e40ux1ou19H/OTBU28IsDiBCVcgXGAiJSOm3V7k7LX26B9FG4Cb3g98MuHzK3aAyPZH1evjDvxWysJHXa13U1vvGy9EgQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=djB8ROAR7UNkvqKB3tz11OQUV5XopGDqy7T1Q8D4Qg8=; b=T18yRjDpHgVVEbAoX7hgGIGgT/VewaQoTYzpZke32UZQdhqD7VyXfBi1uaoaJMThI9ilT/AffOW4wzt/XknM+zROAKCqIxq7GpFbd/I7c6a85Z10oVD0txL9VTfr6qYZQkxRDe/FXCLUyMudu71NjRvQmRbEBjT0u2heEHE1xBq4fOeTzEOzoHpiwqrStv5XOnk/jEg9Aut3UneiI4W0tPUJGmnov3hlhbt5qcUvckB5NBQrsu0ny7EtFOWPxwdSwmYDZTGMSiV4nr42O/UboYqruIp8wdOcqB6nFmMW2E/iyZpN/rqyZ9Ub58960aGTU/JRo8hbODFKlE+0OXnsTg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=marvell.com; dmarc=pass action=none header.from=marvell.com; dkim=pass header.d=marvell.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.onmicrosoft.com; s=selector1-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=djB8ROAR7UNkvqKB3tz11OQUV5XopGDqy7T1Q8D4Qg8=; b=IQ9ovfLkMw++Jte7LWlRC8lG2XH16ZzZpa3vfEqn7a75bYDMiodVpMTXajXeNDWvTI/kdY1govWxhUcG6E3ehOLWSjnN81FhHmn7xbvQ6ZMOpmHuIzSMh+j3XT0IRZ5jbChay43szZ3iaQeaVpsH+MFRhcJ0PsPpcSSv3BKdIOg= Received: from CO6PR18MB4484.namprd18.prod.outlook.com (2603:10b6:5:359::9) by SN7PR18MB3983.namprd18.prod.outlook.com (2603:10b6:806:f7::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5250.18; Mon, 16 May 2022 18:50:24 +0000 Received: from CO6PR18MB4484.namprd18.prod.outlook.com ([fe80::9c76:3b01:eb04:db4d]) by CO6PR18MB4484.namprd18.prod.outlook.com ([fe80::9c76:3b01:eb04:db4d%6]) with mapi id 15.20.5250.018; Mon, 16 May 2022 18:50:24 +0000 From: Akhil Goyal To: Arek Kusztal , "dev@dpdk.org" CC: "roy.fan.zhang@intel.com" Subject: RE: [EXT] [PATCH v2 1/2] cryptodev: add dh verify option Thread-Topic: [EXT] [PATCH v2 1/2] cryptodev: add dh verify option Thread-Index: AQHYT0JnrYJPyMlxrUqU3++DJSZ4Ia0iDD9A Date: Mon, 16 May 2022 18:50:24 +0000 Message-ID: References: <20220413140327.12915-1-arkadiuszx.kusztal@intel.com> <20220413140327.12915-2-arkadiuszx.kusztal@intel.com> In-Reply-To: <20220413140327.12915-2-arkadiuszx.kusztal@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 8619ae45-074c-4eb4-2acf-08da376cefc5 x-ms-traffictypediagnostic: SN7PR18MB3983:EE_ x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: zk6zgSMEvFCnGy0xGHkvTi6qJXkeMI6h9FsrgziRGHPWKMNrk2GsaGR+eyPYeKJdoseZ5X4gWzb+2X29LEA9cms7B0JohM9hEjfotxCwC0ndcHnvxEgqwWa9upYjWQi5QoBOVPEjhPwnt+5ySQ2N7QJ05ykTYabJpFmRNpRuuXaZqBVs10A5/mJ05L5lJfoyirKqJukLiXDTSVBTu1hmiTx/oS/RFvPLHlJCCSW3h2Tx+huGa6bKdntr4MalsQKhXtZLUw8sbYEboa1BZ7V6Yj8crHkiNhOACJ46OLEGAtF7jLQ3PmE6331nbQlv5E4XKMAS7ij3Lrz9ADDKioArElT6euG1hS0sMlG2dsVCgYoNZvXVp/QHD04Pyrs7TN7WkO47W1M/EW+JbMuwU0WKyo4dlKEp8cMHZG/kJenQsge+ywMd/VkEFauGD3KoPtv+Xj3rvUe31sc0CORrDGu+I55vSskffSIDg3K2iFThbv+8erb6H4QeXTUR1tK0KMrHj6BNyfA6FNYPbhRdJURLqYk3v+p00sjaCzKnywuV1Yhka1A2/WjGoozbEi8sLDHh7qu3Wv3tCSK+9/kEdSHCKn4uv+Zu9F6TgZNQEFtjKrdKnw2HC4aJQcWz7IZILL6muTgr0duUNumRgNTiUd47mhoDXEpc757XOrvUjUpygoOTy47awueco7RJ+Ew//59cb+23TW++bc2WlmRIG0Q46Q== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CO6PR18MB4484.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(122000001)(2906002)(38100700002)(38070700005)(15650500001)(186003)(7696005)(55236004)(316002)(110136005)(9686003)(83380400001)(86362001)(71200400001)(5660300002)(508600001)(52536014)(76116006)(66446008)(4326008)(8676002)(64756008)(66476007)(66556008)(66946007)(8936002)(26005)(55016003)(6506007)(33656002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?iBB0BMG9IJt/p5fmvZZ6X5odG6jEG0DIwCf5Pv1bn+K66h6qAEaZfH6Frd1p?= =?us-ascii?Q?KyjNd7KEzkrxvEiFKMeJUTS+iVMnWM+TaVD2G8Z9PRBht7mtQHqMRrc5bjq9?= =?us-ascii?Q?ikP38CP0RukzF0Ms6wpFfb59nSXQ+4bRovjRBX/YVTBt76deKsddIuFvsyqN?= =?us-ascii?Q?Iof4GNcqvzXrRsLXHBl7ZTsKk9/HZBjNmUuIACB2W8m6Me2u5x5mr5juMpCA?= =?us-ascii?Q?RN7GjLTI+WlZr3QVyZvERC0DbQEJKQPyL07jigDyr7vnuXg4Ojvo9QB2SaGC?= =?us-ascii?Q?SwK5AmN0V0Oye5zn61Tt6dHvI8H/VJnf5/L3HtEuMBNlf855ZJzhfL0Zmfz+?= =?us-ascii?Q?SKfki+mcc0sDd8mAhl2FQqAkYodCFqrrEot4WXdED8wSuPB67eSikutpKK+I?= =?us-ascii?Q?eMY/To31JjDuzN9uXq1TkFNEGwgrFy1QwfPaQMeg1BM4HafKRXzzRoZxyLWm?= =?us-ascii?Q?4fEJ9oSKkjjQfyhYo50n+WOiPVEZq4zEWCOLUhcAGAGfMAqtN7x7QHrsx04I?= =?us-ascii?Q?HoPAn81bVmwf/knDrggIg2kyNkXGo+o8JKnL4M1HmStf899EmFgzb6UqAm95?= =?us-ascii?Q?ELt31BiG+HNHWN2ejfXYbXoNY8og2eRqYZ0dZZDLC/3HSHuOLrb4Rrb7YbSw?= =?us-ascii?Q?ct5R17ih43PcW3aMRTlw4PABWQqKGalI8Z0vxsf9qsQIQGmpZ8IN7HCbPHKA?= =?us-ascii?Q?QqMBphDOUKLpkl8KOq7KQe8apqS4WKO+NAfkHI2hEiHAa5zbUklBPcbbWbtY?= =?us-ascii?Q?SH9Q3NjqqIpYXZjVK4LDkW3j7kez35W+dIfRtrqv67izPGVoYiWXDNxrtTw3?= =?us-ascii?Q?7hifRhPoapeROwAis15ZLMQj23uOeYBtrYtd15cdbcy00l7yIgFophNSKOSP?= =?us-ascii?Q?h3y6e+3bQOs0mbldrCaGXJphheWNwuDs3sj+zd4IOMtlit3qCZkzUu5V6aSw?= =?us-ascii?Q?Vy3pM4aytEBv51j9uOHTwTuxfdGRTiIybPyt9nYAVz1SoJjzizyorwC4UL9G?= =?us-ascii?Q?0geOivi8u69EkwcsHAuGd4vOYsyjJBRt4MBkMFtzPJWdLlNIlBuzu31e+nfF?= =?us-ascii?Q?VQv5moe8fqcqkrX9v/3taYAohIoe2mjDVELUrGC0t6PHxEfDUTHmuqUOl5gU?= =?us-ascii?Q?BEVZVLTH5/ego5eSTmvq9rzP3NzXdjiCFEYLykHZDR4cxWgdW//+V5gBvwj2?= =?us-ascii?Q?RkNBG0lRcqo2cMPkqT1Xyq2FObyb/5Tv9QOvR7uza9xWHyIJTTgDofm8bQph?= =?us-ascii?Q?1rDYX5yejEsHSqmxoH2iLMPmLgFTjMnLKdFZPE7nqeABY7Ww8kk/qsd5lGrA?= =?us-ascii?Q?iCz6a4Z4uzWmS/sxO3oPgLpVMjmRgjxy0AnxzWJSzzTO3UaxtcT6EFS+qpaM?= =?us-ascii?Q?nFji2pkMVoAKbioC3kSzV/ofhP0ayNtOGP6YYsLm7x4SeSC+dvRhzGdakBdn?= =?us-ascii?Q?j1bDUslg24otg3ePI0TPNS39Fl3HUPmDRhZMsH+vA23WckCH+/pltZN+NB9i?= =?us-ascii?Q?SQcEgcXwPdKMUpHTsDSOK38xozBTWEPQ9Z48+14pVnM8yHY4YAnBTWWIHAPx?= =?us-ascii?Q?lnFwgyTLF02FP5jEJCeDQvkY4Dn0oIlrVo4J1FPAEULsi10AeSauyR0XD7vy?= =?us-ascii?Q?uhrWsXgAwDV+NFRxMJyYP4el1KddhGwaGfZ7CoE2lwvDBo8/9mIDYZX46AAz?= =?us-ascii?Q?bababRwrYoS5eBZEdJm3gr8j4te1OYQIZr8Xu1gQZegN4HfhaTSfpXF6vOvo?= =?us-ascii?Q?nlzUo6dyvg=3D=3D?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: marvell.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO6PR18MB4484.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8619ae45-074c-4eb4-2acf-08da376cefc5 X-MS-Exchange-CrossTenant-originalarrivaltime: 16 May 2022 18:50:24.5018 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: PfnHQmF314AAJ2/A4S1zAJRrZH7K7Lvpsdeew8m1h4KLlkWx51uDtVMXSW2ThgPQzC+3TjgdozQHMkXmydS/bA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR18MB3983 X-Proofpoint-ORIG-GUID: Bwu8GbyXJ3Y3iDwUmUiOKvHC3f_mIbiA X-Proofpoint-GUID: Bwu8GbyXJ3Y3iDwUmUiOKvHC3f_mIbiA X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.858,Hydra:6.0.486,FMLib:17.11.64.514 definitions=2022-05-16_15,2022-05-16_02,2022-02-23_01 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 > For some elliptic curves public point in DH exchange > needs to be checked, if lays on the curve. > Modular exponentiation needs certain checks as well, though > mathematically much easier. > This commit adds verify option to asym_op operations. >=20 > Signed-off-by: Arek Kusztal > --- > lib/cryptodev/rte_crypto_asym.h | 19 +++++++++++++++++++ > lib/cryptodev/rte_cryptodev.c | 1 + > 2 files changed, 20 insertions(+) >=20 > diff --git a/lib/cryptodev/rte_crypto_asym.h b/lib/cryptodev/rte_crypto_a= sym.h > index 5b30083f30..c4f4afa07f 100644 > --- a/lib/cryptodev/rte_crypto_asym.h > +++ b/lib/cryptodev/rte_crypto_asym.h > @@ -117,6 +117,8 @@ enum rte_crypto_asym_op_type { > /**< DH Public Key generation operation */ > RTE_CRYPTO_ASYM_OP_SHARED_SECRET_COMPUTE, > /**< DH Shared Secret compute operation */ > + RTE_CRYPTO_ASYM_OP_DH_KEY_VERIFY, I think RTE_CRYPTO_ASYM_OP_DH_PUB_KEY_VERIFY is a better name. > + /**< DH Public Key Verification */ > RTE_CRYPTO_ASYM_OP_LIST_END > }; >=20 > @@ -412,6 +414,11 @@ struct rte_crypto_dh_op_param { > * For ECDH it is a point on the curve. > * Output for RTE_CRYPTO_ASYM_OP_PUBLIC_KEY_GENERATE > * Input for RTE_CRYPTO_ASYM_OP_SHARED_SECRET_COMPUTE > + * Input for RTE_CRYPTO_ASYM_OP_DH_KEY_VERIFY > + * > + * VERIFY option can be used only for elliptic curve > + * point validation, for FFDH (DH) it is user's reponsability > + * to check the public key accordingly. > */ >=20 > union { > @@ -424,6 +431,18 @@ struct rte_crypto_dh_op_param { > * For ECDH it is a point on the curve. > * Output for RTE_CRYPTO_ASYM_OP_SHARED_SECRET_COMPUTE > */ > + uint16_t flags; > + /* > + * Diffie-Hellman operation flags > + * Flag | Bit pos | Description > + *--------------------------------------------------------------------= ------------ > + * | | If set to 1 - verification will use= all four > + * Full verification | 0 | steps of point verification (full v= alidation), > + * | | otherwise three (partial validation= - default). > + *--------------------------------------------------------------------= ------------ > + * Reserved | 1-15 | Reserved > + */ Instead of adding these comments. It is better to define macros for each of= the flags. Give reference of the macros in the comments here. > + > }; >=20 > /** > diff --git a/lib/cryptodev/rte_cryptodev.c b/lib/cryptodev/rte_cryptodev.= c > index 3500a2d470..2679ef54f8 100644 > --- a/lib/cryptodev/rte_cryptodev.c > +++ b/lib/cryptodev/rte_cryptodev.c > @@ -181,6 +181,7 @@ const char *rte_crypto_asym_op_strings[] =3D { > [RTE_CRYPTO_ASYM_OP_PRIVATE_KEY_GENERATE] =3D > "priv_key_generate", > [RTE_CRYPTO_ASYM_OP_PUBLIC_KEY_GENERATE] =3D > "pub_key_generate", > [RTE_CRYPTO_ASYM_OP_SHARED_SECRET_COMPUTE] =3D > "sharedsecret_compute", > + [RTE_CRYPTO_ASYM_OP_DH_KEY_VERIFY] =3D "dh_pubkey_verify", > }; >=20 > /** > -- > 2.13.6