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 115AD42BCC; Mon, 29 May 2023 09:29:03 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id D9A6B410DD; Mon, 29 May 2023 09:29:02 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by mails.dpdk.org (Postfix) with ESMTP id 55694410D7 for ; Mon, 29 May 2023 09:29:01 +0200 (CEST) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 34SNdY3x017687; Mon, 29 May 2023 00:29:00 -0700 Received: from nam04-mw2-obe.outbound.protection.outlook.com (mail-mw2nam04lp2177.outbound.protection.outlook.com [104.47.73.177]) by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 3quf7pddtt-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 29 May 2023 00:29:00 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nO4qCok1FfqPUsfC2YVjWbEv5HFy5Rf8DStY6Wpzk6O/MTRN8+UwhH+2gGji5l4RpqtEMM5eRFHGs4i8XE/62mOTlisEk/7gPT2oFScRshJZy43sPAdq+3irf++afNYlLjP5pLJZCh/l8EUtxCu/xvmqw9hAr22SnPQz/wDFwW/a6aBDYKeBgJT4GmpQEbsHCjwCfkLLauixZwTQrqvh/ozxdmKD7myW7tCJ3uj40XZMaDPRwm317ZEDq6kr6Mb4LaGwDlQ6phKj9jbJyVwJ+pUaQCcuiUWHUGDTksQPVhpKME1MGhgzVEvOK+vTpgTu79lJGfn+4opg6qBGauEumg== 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=Ifz/hGCAi13vK/rDtYK094v+vI9MOnP4QMf7P4j9PTg=; b=OYNPstPTAICuTH1shJA1ovvPOrYPbxW7yb8IcEEmN3kjWlN+tIzw4wkQi39nJIjwXknWceTd2GIB1fd8eAF9JQ9Noq7cq7VRR/LBl+hSm8U4Ky1Cbq6rRj34xWlV326vW1sggC56L5Br+841JoinxF/1H+jR/pFDV0tRdw9Amsg9JgnHMT5V4a1ooMX+yKkBoRSwd9BcLSDcN3xcx7g+qBXtq1x3z4YCXM/Zfjea+6QYsTpurW8fe6ahUZH7v3iaLTgC7WuJxBPhzN8LF8F8Sjlnzo6ESoYg39rE9AMdyJ2kpugJILslVEQdEY11c5iG45/3K9iVww+4jak18d2gtw== 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=Ifz/hGCAi13vK/rDtYK094v+vI9MOnP4QMf7P4j9PTg=; b=Aazzk4qT9UTseCz2mXIQ3G96Ry3m5zpIWHJIxCSXFHLhbU7kLk8sfv6Bl6nlRCXJlvVrvbhj7kXvuQO3SJIz3oht+XyfB+paLtDN+U8T0ohASU+oQuULav6tmRYH2cN7CLsZzNinZ74Qx4OlXgTsiPsNzz6TI5GX0rhTXX2FXz8= Received: from CO1PR18MB4714.namprd18.prod.outlook.com (2603:10b6:303:e9::18) by SN4PR18MB4855.namprd18.prod.outlook.com (2603:10b6:806:21f::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6433.21; Mon, 29 May 2023 07:28:56 +0000 Received: from CO1PR18MB4714.namprd18.prod.outlook.com ([fe80::b0e5:2f22:78cf:f524]) by CO1PR18MB4714.namprd18.prod.outlook.com ([fe80::b0e5:2f22:78cf:f524%5]) with mapi id 15.20.6433.022; Mon, 29 May 2023 07:28:56 +0000 From: Gowrishankar Muthukrishnan To: "Kusztal, ArkadiuszX" , "dev@dpdk.org" CC: Anoob Joseph , Akhil Goyal , Fan Zhang Subject: RE: [PATCH v2 1/3] cryptodev: add SM2 asymmetric crypto algorithm Thread-Topic: [PATCH v2 1/3] cryptodev: add SM2 asymmetric crypto algorithm Thread-Index: AQHZj7IrpnFge7XX6Ey8AKGPjPJkkq9v+FeAgADMz4A= Date: Mon, 29 May 2023 07:28:56 +0000 Message-ID: References: <2c0f5049ca90891adb61b2bdfa3c96dbde0e95c2.1685091909.git.gmuthukrishn@marvell.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-dg-ref: =?us-ascii?Q?PG1ldGE+PGF0IG5tPSJib2R5LnR4dCIgcD0iYzpcdXNlcnNcZ211dGh1a3Jp?= =?us-ascii?Q?c2huXGFwcGRhdGFccm9hbWluZ1wwOWQ4NDliNi0zMmQzLTRhNDAtODVlZS02?= =?us-ascii?Q?Yjg0YmEyOWUzNWJcbXNnc1xtc2ctNzYzMmJjYjMtZmRmMi0xMWVkLWEwYTEt?= =?us-ascii?Q?NTQ4ZDVhZTlkZGUxXGFtZS10ZXN0XDc2MzJiY2I0LWZkZjItMTFlZC1hMGEx?= =?us-ascii?Q?LTU0OGQ1YWU5ZGRlMWJvZHkudHh0IiBzej0iODc2NCIgdD0iMTMzMjk4MTg5?= =?us-ascii?Q?MzM3MjIyOTM5IiBoPSJqejhRQlpMR050Zlo5U2tjQWhURFFzV0UzQWc9IiBp?= =?us-ascii?Q?ZD0iIiBibD0iMCIgYm89IjEiIGNpPSJjQUFBQUVSSFUxUlNSVUZOQ2dVQUFO?= =?us-ascii?Q?NFBBQUFiMzZVNC81SFpBVFRzamxZc2xFcDNOT3lPVml5VVNuY1pBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBSEFBQUFCdUR3QUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBRUFBUUVCQUFBQUk3cVRwQUNBQVFBQUFBQUFBQUFBQUo0QUFBQmhB?= =?us-ascii?Q?R1FBWkFCeUFHVUFjd0J6QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFFQUFBQUFBQUFBQWdBQUFBQUFuZ0FBQUdNQWRRQnpBSFFBYndCdEFG?= =?us-ascii?Q?OEFjQUJsQUhJQWN3QnZBRzRBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUUFBQUFBQUFB?= =?us-ascii?Q?QUNBQUFBQUFDZUFBQUFZd0IxQUhNQWRBQnZBRzBBWHdCd0FHZ0Fid0J1QUdV?= =?us-ascii?Q?QWJnQjFBRzBBWWdCbEFISUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFJQUFBQUFBSjRBQUFC?= =?us-ascii?Q?akFIVUFjd0IwQUc4QWJRQmZBSE1BY3dCdUFGOEFaQUJoQUhNQWFBQmZBSFlB?= =?us-ascii?Q?TUFBeUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= x-dg-refone: =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVBQUFBQUFBQUFBZ0FBQUFBQW5n?= =?us-ascii?Q?QUFBR01BZFFCekFIUUFid0J0QUY4QWN3QnpBRzRBWHdCckFHVUFlUUIzQUc4?= =?us-ascii?Q?QWNnQmtBSE1BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFRQUFBQUFBQUFBQ0FBQUFBQUNlQUFBQVl3QjFBSE1BZEFC?= =?us-ascii?Q?dkFHMEFYd0J6QUhNQWJnQmZBRzRBYndCa0FHVUFiQUJwQUcwQWFRQjBBR1VB?= =?us-ascii?Q?Y2dCZkFIWUFNQUF5QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFB?= =?us-ascii?Q?QUFBQUFBQUlBQUFBQUFKNEFBQUJqQUhVQWN3QjBBRzhBYlFCZkFITUFjd0J1?= =?us-ascii?Q?QUY4QWN3QndBR0VBWXdCbEFGOEFkZ0F3QURJQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRUFBQUFBQUFBQUFnQUFBQUFB?= =?us-ascii?Q?bmdBQUFHUUFiQUJ3QUY4QWN3QnJBSGtBY0FCbEFGOEFZd0JvQUdFQWRBQmZB?= =?us-ascii?Q?RzBBWlFCekFITUFZUUJuQUdVQVh3QjJBREFBTWdBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQVFBQUFBQUFBQUFDQUFBQUFBQ2VBQUFBWkFCc0FIQUFY?= =?us-ascii?Q?d0J6QUd3QVlRQmpBR3NBWHdCakFHZ0FZUUIwQUY4QWJRQmxBSE1BY3dCaEFH?= =?us-ascii?Q?Y0FaUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= x-dg-reftwo: =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUJBQUFBQUFBQUFBSUFBQUFBQUo0QUFBQmtBR3dB?= =?us-ascii?Q?Y0FCZkFIUUFaUUJoQUcwQWN3QmZBRzhBYmdCbEFHUUFjZ0JwQUhZQVpRQmZB?= =?us-ascii?Q?R1lBYVFCc0FHVUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFFQUFBQUFBQUFBQWdBQUFBQUFuZ0FBQUdVQWJRQmhBR2tBYkFCZkFHRUFa?= =?us-ascii?Q?QUJrQUhJQVpRQnpBSE1BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUUFBQUFBQUFBQUNB?= =?us-ascii?Q?QUFBQUFDZUFBQUFiUUJoQUhJQWRnQmxBR3dBWHdCd0FISUFid0JxQUdVQVl3?= =?us-ascii?Q?QjBBRjhBYmdCaEFHMEFaUUJ6QUY4QVl3QnZBRzRBWmdCcEFHUUFaUUJ1QUhR?= =?us-ascii?Q?QWFRQmhBR3dBWHdCaEFHd0Fid0J1QUdVQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFJQUFBQUFBSjRBQUFCdEFH?= =?us-ascii?Q?RUFjZ0IyQUdVQWJBQmZBSEFBY2dCdkFHb0FaUUJqQUhRQVh3QnVBR0VBYlFC?= =?us-ascii?Q?bEFITUFYd0J5QUdVQWN3QjBBSElBYVFCakFIUUFaUUJrQUY4QVlRQnNBRzhB?= =?us-ascii?Q?YmdCbEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUVBQUFBQUFBQUFBZ0FBQUFBQW5nQUFBRzBBWVFCeUFIWUFaUUJzQUY4?= =?us-ascii?Q?QWNBQnlBRzhBYWdCbEFHTUFkQUJmQUc0QVlRQnRBR1VBY3dCZkFISUFaUUJ6?= =?us-ascii?Q?QUhRQWNnQnBBR01BZEFCbEFHUUFYd0JvQUdVQWVBQmpBRzhBWkFCbEFITUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFRQUFBQUFBQUFB?= =?us-ascii?Q?Q0FBQUFBQUNlQUFBQWJRQmhBSElBZGdCbEFHd0FiQUJmQUdFQWNnQnRBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= x-dg-rorf: true x-dg-refthree: =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFBQUFB?= =?us-ascii?Q?QUFBQUlBQUFBQUFKNEFBQUJ0QUdFQWNnQjJBR1VBYkFCc0FGOEFad0J2QUc4?= =?us-ascii?Q?QVp3QnNBR1VBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRUFBQUFBQUFBQUFnQUFBQUFBbmdB?= =?us-ascii?Q?QUFHMEFZUUJ5QUhZQVpRQnNBR3dBWHdCd0FISUFid0JxQUdVQVl3QjBBRjhB?= =?us-ascii?Q?WXdCdkFHUUFaUUJ6QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQVFBQUFBQUFBQUFDQUFBQUFBQ2VBQUFBYlFCaEFISUFkZ0Js?= =?us-ascii?Q?QUd3QWJBQmZBSEFBY2dCdkFHb0FaUUJqQUhRQVh3QmpBRzhBWkFCbEFITUFY?= =?us-ascii?Q?d0JrQUdrQVl3QjBBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBQUFB?= =?us-ascii?Q?QUFBQUFBSUFBQUFBQUo0QUFBQnRBR0VBY2dCMkFHVUFiQUJzQUY4QWNBQnlB?= =?us-ascii?Q?RzhBYWdCbEFHTUFkQUJmQUc0QVlRQnRBR1VBY3dCZkFHTUFid0J1QUdZQWFR?= =?us-ascii?Q?QmtBR1VBYmdCMEFHa0FZUUJzQUY4QWJRQmhBSElBZGdCbEFHd0FiQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFQUFBQUFBQUFBQWdBQUFBQUFu?= =?us-ascii?Q?Z0FBQUcwQVlRQnlBSFlBWlFCc0FHd0FYd0J3QUhJQWJ3QnFBR1VBWXdCMEFG?= =?us-ascii?Q?OEFiZ0JoQUcwQVpRQnpBRjhBWXdCdkFHNEFaZ0JwQUdRQVpRQnVBSFFBYVFC?= =?us-ascii?Q?aEFHd0FYd0J0QUdFQWNnQjJBR1VBYkFCc0FGOEFid0J5QUY4QVlRQnlBRzBB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= x-dg-reffour: =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUUFBQUFBQUFBQUNBQUFB?= =?us-ascii?Q?QUFDZUFBQUFiUUJoQUhJQWRnQmxBR3dBYkFCZkFIQUFjZ0J2QUdvQVpRQmpB?= =?us-ascii?Q?SFFBWHdCdUFHRUFiUUJsQUhNQVh3QmpBRzhBYmdCbUFHa0FaQUJsQUc0QWRB?= =?us-ascii?Q?QnBBR0VBYkFCZkFHMEFZUUJ5QUhZQVpRQnNBR3dBWHdCdkFISUFYd0JuQUc4?= =?us-ascii?Q?QWJ3Qm5BR3dBWlFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFJQUFBQUFBSjRBQUFCdEFHRUFj?= =?us-ascii?Q?Z0IyQUdVQWJBQnNBRjhBY0FCeUFHOEFhZ0JsQUdNQWRBQmZBRzRBWVFCdEFH?= =?us-ascii?Q?VUFjd0JmQUhJQVpRQnpBSFFBY2dCcEFHTUFkQUJsQUdRQVh3QnRBR0VBY2dC?= =?us-ascii?Q?MkFHVUFiQUJzQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUVBQUFBQUFBQUFBZ0FBQUFBQW5nQUFBRzBBWVFCeUFIWUFaUUJzQUd3QVh3?= =?us-ascii?Q?QndBSElBYndCcUFHVUFZd0IwQUY4QWJnQmhBRzBBWlFCekFGOEFjZ0JsQUhN?= =?us-ascii?Q?QWRBQnlBR2tBWXdCMEFHVUFaQUJmQUcwQVlRQnlBSFlBWlFCc0FHd0FYd0J2?= =?us-ascii?Q?QUhJQVh3QmhBSElBYlFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFRQUFBQUFBQUFBQ0FB?= =?us-ascii?Q?QUFBQUNlQUFBQWJRQmhBSElBZGdCbEFHd0FiQUJmQUhRQVpRQnlBRzBBYVFC?= =?us-ascii?Q?dUFIVUFjd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFCQUFBQUFBQUFBQUlBQUFBQUFKNEFBQUJ0QUdF?= =?us-ascii?Q?QWNnQjJBR1VBYkFCc0FGOEFkd0J2QUhJQVpBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBRUFBQUFBQUFBQUFnQUFBQUFBIi8+PC9tZXRhPg=3D=3D?= x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CO1PR18MB4714:EE_|SN4PR18MB4855:EE_ x-ms-office365-filtering-correlation-id: d3eba6b6-78ca-4628-95f0-08db60165cdf x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: lWEnvfYNfgWh5FO9Fmg2/UIU0tqkO9GlsRSiNBShLAoeqsfg7uYmGRK20fqvV1yRew4ClPnlkor5eAa8qSR05WZdOg5sstlqbEsucmS1KzKcIEyMW2V0yjw4/VzwdIuOnW2Gx2Vn+rmhabIfrdeeE1VA+PyJE2GFIO25iBQ6E90CKKGMOnevuvC06vffqwGfs5b9vK6bziz2pFtALoktYc4DCjy5joV17w9ePTUvnPcdOg08wPygWY5UO3WOLBDvnSC2GviUhUgRNh3w5wlDk7WXHMFo4sKSrHX086TomeKPS30J+v8aPfX3Ym47bZZb/IEjNrF9cVLB8Mjw34o7sNLffwTq1wGFalam1Zo0yK7MR/Huv4MOm4OOl7rJJrROFYIn/lxQgcPXdeja/AxzZwXFx1Iv9GqOvGz0BAWQc4h6dmD0NqQJFOYYku/e9iEJhkBVKF7Y2riJW/omNW8LXfcIg2WxS/js/Xa3IlQ8MiqhPDnSbYNBU8w+Aa8KbEYVep1i3jTo00lj1QhnRlGiSjYlhrhWJ+qgF42lkDTFam0/sikBLyVuKzQa4GbwwGr5n5Ogx5l0e+D3rjvBOzExSOtCjnu8VDMSXe+4YQNEBpiD7Iqn9Pl03OhsuL3BQagV x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CO1PR18MB4714.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(4636009)(396003)(136003)(376002)(346002)(366004)(39860400002)(451199021)(2906002)(186003)(9686003)(6506007)(52536014)(5660300002)(478600001)(54906003)(8676002)(122000001)(110136005)(8936002)(83380400001)(26005)(38100700002)(7696005)(38070700005)(86362001)(41300700001)(33656002)(71200400001)(316002)(76116006)(66946007)(64756008)(66446008)(66476007)(66556008)(4326008)(55016003); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?nXTCPDEnw23RBlLjFkeacNEGnloO07TA7o+MqlzxrxgY31051/vvGhB5dE9e?= =?us-ascii?Q?hr9F88lotHOrGfsf1MkRW7tmmivtIUqkUhazImxMDKDt6540ieOIEbH6iEQH?= =?us-ascii?Q?mCq0IEw8WKp5fy4rGh3bTr+Nec8e3v8uhKp8Zt7/3xh18frvKSyincvOHFbr?= =?us-ascii?Q?GgCb0j0ctmFj5Mv6k9PrFHNw+bu9MHFdIv0vjNoDu3Cv+rmvXN650SAr97Oy?= =?us-ascii?Q?VMaISFYYW0zM5vTcVyzJKdSLQj3PqSzSfgD2tHP1ehy587oQtNQ/YwqTRAn3?= =?us-ascii?Q?VMINV1BKO09LR+elmgp7XJv6Dfvi+IOX4Vvl8VVnXqsK8Ri1eGceZb2J9Q/S?= =?us-ascii?Q?dVQVAV7X6o3wootFJ7ZVoeW1/oMFiD9JafztYnQ03JRBPfEjMGmcr+gr1x0q?= =?us-ascii?Q?/R/OBhepG8aRAY3MGpt+WyeR2A6YGcwuxK4Fjyw7hVyDAJ/XP0c1A8bj3HFq?= =?us-ascii?Q?W29L+ReHwCfFRucpxS3/501EtGW+OCW/NZK4fxaWmXurFhYVcMooir/QQG6Z?= =?us-ascii?Q?ct9asitbDPf5B/p1aYppHPi+3vECwNJNMMvXcCv/lKPghhWAP5xJF53pP8Zp?= =?us-ascii?Q?Pn/LpJi0+AmvHfwTYLcUV2XN7FvGO3rqBpcr0hgO3bs29NgmG5GLl2HzHr6a?= =?us-ascii?Q?2s8Exx267y4RZo/qAmUp5GUgugXF2sbKE/qz1K0PwqGBic0tRas0E2WhnMYK?= =?us-ascii?Q?dM72iT3wPofIX3+AdFD78UyQcfDyxQlDqIFqj+V3neOEB9Njd//IR7104rc6?= =?us-ascii?Q?4LQ8HmSzeMKZUXaLcu53k57WeSDn6et9ofh22XBPbPqpCVLksbEIJYIYMRx4?= =?us-ascii?Q?0jHNLd+Mb/WkZO7k3GzbYfFOnUpZ7MeQMvuftywmjC3BkjifQZjMvIPXOZoP?= =?us-ascii?Q?R2iUofhHmYpn6iX5wHC449fTGVGTnDQwLQeogW0SYUkSLGNw+4/gj4emQxLZ?= =?us-ascii?Q?qUjn7utzYfRYV6+todSxbrIju30lhcCCbNv0FJJgzbT8JCmP4sK76ufNe9D3?= =?us-ascii?Q?VMN6wLe/cuL2r7FYO13063ULITZ8o8yP5uUo0+9Mo/pIdjRJEe7Zow6fITCZ?= =?us-ascii?Q?69CN0/6h84qyxz5zPeNgDcmorZvEQjYCzwNPywUkQMv9Hit4LPJcGw3MOFyn?= =?us-ascii?Q?pDzF9Nd7DCP9C1/CRZVhz/rUY+zuK9rBzs/Oo+jzfXJ4uBi7vTwOSh4BJisz?= =?us-ascii?Q?vJyXdjU4TXmtCQeim8TUzhpsHWGmL7oHXJQnGDvXIqmzZxCDJMTRTeJ/HMiK?= =?us-ascii?Q?uLDT+dKtUAsjyHgSJIXheZPYhH07wWG31/IXaJ6MjOJqMbIJ9+BL6WK4x1EO?= =?us-ascii?Q?u81dLZsefMJWUkHDzLupfqZnxAuDhj+4/mTiXcx+ekwwlivoxOvtPCP8cjWE?= =?us-ascii?Q?a56/l5hQyAjJhHH4njyXDqL1wC8nDyyftlXyVoRWZeFwnhSac3IZBwP5vW85?= =?us-ascii?Q?lk6I9HtlUVb74tMUOa7Tk4Oa/0wIDuDN/PK05UhKkGiL3pctmMdKj8NfsTFt?= =?us-ascii?Q?y/o+YLGm2zR9qJ6stlkzT4bOYGQxJ0fSvulk6uk2CJuFiMxjCdYW7yX63XvL?= =?us-ascii?Q?uKiSJJzzvpWYolUI3yMVvHzT/6O/d+Ce4XTLHOoa?= 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: CO1PR18MB4714.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: d3eba6b6-78ca-4628-95f0-08db60165cdf X-MS-Exchange-CrossTenant-originalarrivaltime: 29 May 2023 07:28:56.6277 (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: TKnyu3vgArqXEolJBBljh4qoM1yUwhLEvZTCxyZnqTYISOo2Hf+H2ZGEgpC4EhC1ZYKYpq/6wjcULnvz+Hs58qydlufxYWTQiWgVh+37Hpc= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN4PR18MB4855 X-Proofpoint-GUID: B4reCOSZFPFMDyqVFdYu5BSzaFWunydf X-Proofpoint-ORIG-GUID: B4reCOSZFPFMDyqVFdYu5BSzaFWunydf X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.573,FMLib:17.11.176.26 definitions=2023-05-29_04,2023-05-25_03,2023-05-22_02 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 Hi ArkadiuszX, > > ShangMi 2 (SM2) is a encryption and digital signature algorithm used > > in the Chinese National Standard. >=20 > It is more of a set of public-key cryptography algorithms based on ellipt= ic curves. Ok I ll rephrase it. >=20 > > ... > > --- > > doc/guides/cryptodevs/features/default.ini | 1 + > > doc/guides/rel_notes/release_23_07.rst | 5 ++ > > lib/cryptodev/rte_crypto_asym.h | 77 ++++++++++++++++++++++ > > lib/cryptodev/rte_cryptodev.c | 1 + > > 4 files changed, 84 insertions(+) > > > > diff --git a/doc/guides/cryptodevs/features/default.ini > > b/doc/guides/cryptodevs/features/default.ini > > index 523da0cfa8..a69967bb9e 100644 > > --- a/doc/guides/cryptodevs/features/default.ini > > +++ b/doc/guides/cryptodevs/features/default.ini > > @@ -125,6 +125,7 @@ Diffie-hellman =3D > > ECDSA =3D > > ECPM =3D > > ECDH =3D > > +SM2 =3D > > > > ; > > ; Supported Operating systems of a default crypto driver. > > diff --git a/doc/guides/rel_notes/release_23_07.rst > > b/doc/guides/rel_notes/release_23_07.rst > > index a9b1293689..8b8e69d619 100644 > > --- a/doc/guides/rel_notes/release_23_07.rst > > +++ b/doc/guides/rel_notes/release_23_07.rst > > @@ -55,6 +55,11 @@ New Features > > Also, make sure to start the actual text at the margin. > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D > > > > +* **Added SM2 asymmetric algorithm in cryptodev.** > > + > > + Added support for ShamMi 2 (SM2) asymmetric crypto algorithm along > > + with prime field curve support. > > + > > > > Removed Items > > ------------- > > diff --git a/lib/cryptodev/rte_crypto_asym.h > > b/lib/cryptodev/rte_crypto_asym.h index 989f38323f..35fa2c0a6d 100644 > > --- a/lib/cryptodev/rte_crypto_asym.h > > +++ b/lib/cryptodev/rte_crypto_asym.h > > @@ -119,6 +119,11 @@ enum rte_crypto_asym_xform_type { > > /**< Elliptic Curve Point Multiplication */ > > RTE_CRYPTO_ASYM_XFORM_ECFPM, > > /**< Elliptic Curve Fixed Point Multiplication */ > > + RTE_CRYPTO_ASYM_XFORM_SM2, > > + /**< ShangMi 2 > > + * Performs Encrypt, Decrypt, Sign and Verify. > > + * Refer to rte_crypto_asym_op_type. > > + */ > > RTE_CRYPTO_ASYM_XFORM_TYPE_LIST_END > > /**< End of list */ > > }; > > @@ -382,6 +387,20 @@ struct rte_crypto_ec_xform { > > /**< Pre-defined ec groups */ > > }; > > > > +/** > > + * Asymmetric SM2 transform data > > + * > > + * Structure describing SM2 xform params > > + * > > + */ > > +struct rte_crypto_sm2_xform { > > + rte_crypto_uint pkey; > > + /**< Private key of the signer for signature generation. */ > > + > > + struct rte_crypto_ec_point q; > > + /**< Public key of the signer for verification. */ }; > > + > > /** > > * Operations params for modular operations: > > * exponentiation and multiplicative inverse @@ -637,9 +656,66 @@ > > struct rte_crypto_asym_xform { > > /**< EC xform parameters, used by elliptic curve based > > * operations. > > */ > > + > > + struct rte_crypto_sm2_xform sm2; > > + /**< SM2 xform parameters */ > > }; > > }; > > > > +/** > > + * SM2 operation params > > + */ > > +struct rte_crypto_sm2_op_param { >=20 > There is no random value 'k'. And SM2 is also using it for encryption. Agreed. But if we see openSSL kind of SW library, it does not take this par= am from app.=20 (for eg sign/encrypt), instead it generates on its own (still through RNG a= s I see). so, shall we support either way meaning extern_scalar or inbuilt_scalar ? I= am thinking we can add enum like below: - RTE_EC_SCALAR_INBUILT=20 - RTE_EC_SCALAR_EXTERNAL With inbuilt scalar, this k value in param can be ignored by PMD, while in = external case, pass it to HW. > There is no key exchange or point multiplication option in this op, there= fore, I > would rather have all SM2 algorithms in separate ops. You mean, we shall have structs rte_crypto_sm2_sign_op, rte_crypto_sm2_veri= fy_op etc=20 dedicated for each op ? > We also could abandon finally '_param' suffix, it does not add clarity bu= t extends > struct tags, which are very long already. Only for SM2 or for all algorithms ? >=20 > > + enum rte_crypto_asym_op_type op_type; > > + /**< Signature generation or verification */ I need to add correction here. Op type can also be encrypt or decrypt. > > + > > + rte_crypto_param message; > > + /**< > > + * Pointer to input data > > + * - to be encrypted for SM2 public encrypt. > > + * - to be signed for SM2 sign generation. > > + * - to be authenticated for SM2 sign verification. >=20 > Is 'message' in signature case here plaintext or hash? As per RFC draft, it seems plain text, because we add prefix to it and then= H256(). > If 'plaintext' it is inconsistent with other signature algorithms, and mo= st likely > not all HW devices will support that. It is just another EC right ? Even in EC op param, we don't distinguish pla= intext/hash message. > Additionally or hash function should be specified as an argument by the u= ser, or > the function used should be defined in the API information. I see it is n= ot directly > said in this draft what function it ought be, although most likely > SM3 would be the one. Agree, SM2 sign implementation would need to know which hash algo to pick. Hence, we can add hash function as param. RFC does not list options but quo= tes that Algorithm should have been approved by Chinese Commercial Cryptography Admi= nistration Office. So I am not too sure if we could add SHA3/SHAKE apart from SHA256 if it is = approved. - SM3 - SHA256 - SHA3_256 - SHAKE_256 May be PMD could evaluate it and return -ENOTSUP accordingly ? >=20 > > + * > > + * Pointer to output data > > + * - for SM2 private decrypt. > > + * In this case the underlying array should have been > > + * allocated with enough memory to hold plaintext output > > + * (at least encrypted text length). The message.length field > > + * will be overwritten by the PMD with the decrypted length. > > + */ > > + > > + rte_crypto_param cipher; > > + /**< > > + * Pointer to input data > > + * - to be decrypted for SM2 private decrypt. > > + * > > + * Pointer to output data > > + * - for SM2 public encrypt. > > + * In this case the underlying array should have been allocated > > + * with enough memory to hold ciphertext output (at least X bytes > > + * for prime field curve of N bytes and for message M bytes, > > + * where X =3D (C1 + C2 + C3) and computed based on SM2 RFC as > > + * C1 (1 + N + N), C2 =3D M, C3 =3D N. The cipher.length field will > > + * be overwritten by the PMD with the encrypted length. > > + */ > > + > > + rte_crypto_uint id; > > + /**< The SM2 id used by signer and verifier and is in interval (1, > > +n-1). */ >=20 > What is this parameter exactly, is it an ID prepended to the signature in= put? >=20 This is signer identifier as per RFC. This gets concatenated with other EC = params: ZA=3DH256(ENTLA || IDA || a || b || xG || yG || xA || yA) ZA is then once again added with message before one more hash on entire thi= ng. > > + > > + rte_crypto_uint r; > > + /**< r component of elliptic curve signature > > + * output : for signature generation (of at least N bytes > > + * where prime field length is N bytes) > > + * input : for signature verification > > + */ > > + rte_crypto_uint s; > > + /**< s component of elliptic curve signature > > + * output : for signature generation (of at least N bytes > > + * where prime field length is N bytes) > > + * input : for signature verification > > + */ > > +}; > > + > > /** > > * Asymmetric Cryptographic Operation. > > * > > @@ -665,6 +741,7 @@ struct rte_crypto_asym_op { > > struct rte_crypto_dsa_op_param dsa; > > struct rte_crypto_ecdsa_op_param ecdsa; > > struct rte_crypto_ecpm_op_param ecpm; > > + struct rte_crypto_sm2_op_param sm2; > > }; > > uint16_t flags; > > /**< > > diff --git a/lib/cryptodev/rte_cryptodev.c > > b/lib/cryptodev/rte_cryptodev.c index a96114b2da..21cabc3ffd 100644 > > --- a/lib/cryptodev/rte_cryptodev.c > > +++ b/lib/cryptodev/rte_cryptodev.c > > @@ -299,6 +299,7 @@ crypto_asym_xform_strings[] =3D { > > [RTE_CRYPTO_ASYM_XFORM_DSA] =3D "dsa", > > [RTE_CRYPTO_ASYM_XFORM_ECDSA] =3D "ecdsa", > > [RTE_CRYPTO_ASYM_XFORM_ECPM] =3D "ecpm", > > + [RTE_CRYPTO_ASYM_XFORM_SM2] =3D "sm2", > > }; > > > > /** > > -- > > 2.25.1 Thanks for the review, Gowrishankar