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 CD4DE42B22; Tue, 16 May 2023 13:49:45 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B3201410EE; Tue, 16 May 2023 13:49:45 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by mails.dpdk.org (Postfix) with ESMTP id 4CFCE40A8B for ; Tue, 16 May 2023 13:49:44 +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 34G7SV8L021381; Tue, 16 May 2023 04:49:43 -0700 Received: from nam04-mw2-obe.outbound.protection.outlook.com (mail-mw2nam04lp2170.outbound.protection.outlook.com [104.47.73.170]) by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 3qkvbmk2v4-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 16 May 2023 04:49:43 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=A6enhTtAwJGZ5E0Ra7mQ0zWqy58bp8M5PcsYYBzFOmlGYnctn9wucfnCQ0u6VowUPPoSLu1Acx8z4BBILEjcLkY4vpFVfiDU2+Kr6kXtObiPgLDloxuxqN+Htw5f+7Xt4PwCebl5WDm0yNTWJdAaVHy+7THYDnADl98OAyuVoc8vkQrPzTGouhv59xfSLShkU8ixhur25qeLgNJ+7xmURWhvQoXJIi1WwCur2Wo9fDCZBwBJwGa8y3f9zpGOlc5wd2smXFE/jRE7neLLu0mV3RGY8QFIsvAIj4TGsnoY/zPydhRGny0ua1Dppj3lXe5/IUpSIpd/NP7aRWjDnoe1cA== 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=uI9NqHs8hP1v/LGSmlqQJdXqCaQ1R1OAHTzdVb/RoHU=; b=L1L7lQw4a6FbPkU7GihN0rhEDmWvHH8Ovzi1cYN1csnC+Z80IUvIzLJiPr314JTdzvkztdk+D2AZvvhx+7lAkaDtfEUjouWr7aFTksBYAwgLqmaiqxsPxt3xlc3CRESZrCqy7fTFZ+pOrqZRIkw2XCQiym1OhkbckZVU5fA4pzB/A+gjWo6CZpMlmGzb5m7j2AKP7KETqjS4RpKj6gwlGcDbWSfw8iPADR+H8akQhCBDiwnckVUiWXO+QXNW2yLsh2n8ipGDnksGdYPh0khhEIsg2GTv49qTPIlsLECzaGqrTIHB0MlopcdyGx0LGy2vF11vQUh3XjMa9wT8tIl4Cg== 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=uI9NqHs8hP1v/LGSmlqQJdXqCaQ1R1OAHTzdVb/RoHU=; b=WgGY8f+H7Vp5mcE6iu++zhWro+fbOFiqDWduYZbjJSBms5KMZYxMGQV9EPcEmrGvSJfGpDr8vhE5QpI1ZF2qTDQflTwl9upIqW+b+wwogpLlAbiXza3nzHCpx/IVY1D+CRPEBOKq/a81q6wF0VyWdMyx7E9AXFvvlqHUnotB7HA= Received: from CO6PR18MB4484.namprd18.prod.outlook.com (2603:10b6:5:359::9) by DM5PR18MB1500.namprd18.prod.outlook.com (2603:10b6:3:146::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6387.34; Tue, 16 May 2023 11:49:33 +0000 Received: from CO6PR18MB4484.namprd18.prod.outlook.com ([fe80::831b:85d2:9a45:8489]) by CO6PR18MB4484.namprd18.prod.outlook.com ([fe80::831b:85d2:9a45:8489%6]) with mapi id 15.20.6387.033; Tue, 16 May 2023 11:49:33 +0000 From: Akhil Goyal To: Gowrishankar Muthukrishnan , "dev@dpdk.org" CC: Anoob Joseph , Fan Zhang , Gowrishankar Muthukrishnan , Kai Ji , "ciara.power@intel.com" Subject: RE: [v1, 1/3] cryptodev: add SM2 asymmetric crypto algorithm Thread-Topic: [v1, 1/3] cryptodev: add SM2 asymmetric crypto algorithm Thread-Index: AQHZebPOiUYBhB2ojkaizFHmbjH37K9c28jA Date: Tue, 16 May 2023 11:49:33 +0000 Message-ID: References: <40827e1b2765526202e3aaf7716a695842891fc7.1682652719.git.gmuthukrishn@marvell.com> In-Reply-To: <40827e1b2765526202e3aaf7716a695842891fc7.1682652719.git.gmuthukrishn@marvell.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-dg-rorf: true x-dg-ref: =?us-ascii?Q?PG1ldGE+PGF0IG5tPSJib2R5LnR4dCIgcD0iYzpcdXNlcnNcZ2FraGlsXGFw?= =?us-ascii?Q?cGRhdGFccm9hbWluZ1wwOWQ4NDliNi0zMmQzLTRhNDAtODVlZS02Yjg0YmEy?= =?us-ascii?Q?OWUzNWJcbXNnc1xtc2ctYjdhZmI3OWQtZjNkZi0xMWVkLWEwOTMtOTRlNmY3?= =?us-ascii?Q?NjYxOTA3XGFtZS10ZXN0XGI3YWZiNzllLWYzZGYtMTFlZC1hMDkzLTk0ZTZm?= =?us-ascii?Q?NzY2MTkwN2JvZHkudHh0IiBzej0iNjUwNiIgdD0iMTMzMjg3MTEzNzE4NzQx?= =?us-ascii?Q?OTcxIiBoPSJrZ2hwQktUMUd6Z1lwckE2L1NPVG83VUNiVVU9IiBpZD0iIiBi?= =?us-ascii?Q?bD0iMCIgYm89IjEiIGNpPSJjQUFBQUVSSFUxUlNSVUZOQ2dVQUFNZ01BQURU?= =?us-ascii?Q?dTFkNjdJZlpBVld4OE1Xdmc3YmJWYkh3eGErRHR0c1VBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBSEFBQUFCWURBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?RUFBUUVCQUFBQTQrVXREQUNBQVFBQUFBQUFBQUFBQUo0QUFBQmhBR1FBWkFC?= =?us-ascii?Q?eUFHVUFjd0J6QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFF?= =?us-ascii?Q?QUFBQUFBQUFBQWdBQUFBQUFuZ0FBQUdNQWRRQnpBSFFBYndCdEFGOEFjQUJs?= =?us-ascii?Q?QUhJQWN3QnZBRzRBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUUFBQUFBQUFBQUNBQUFB?= =?us-ascii?Q?QUFDZUFBQUFZd0IxQUhNQWRBQnZBRzBBWHdCd0FHZ0Fid0J1QUdVQWJnQjFB?= =?us-ascii?Q?RzBBWWdCbEFISUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFJQUFBQUFBSjRBQUFCakFIVUFj?= =?us-ascii?Q?d0IwQUc4QWJRQmZBSE1BY3dCdUFGOEFaQUJoQUhNQWFBQmZBSFlBTUFBeUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= x-dg-refone: =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUVBQUFBQUFBQUFBZ0FBQUFBQW5nQUFBR01B?= =?us-ascii?Q?ZFFCekFIUUFid0J0QUY4QWN3QnpBRzRBWHdCckFHVUFlUUIzQUc4QWNnQmtB?= =?us-ascii?Q?SE1BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFRQUFBQUFBQUFBQ0FBQUFBQUNlQUFBQVl3QjFBSE1BZEFCdkFHMEFY?= =?us-ascii?Q?d0J6QUhNQWJnQmZBRzRBYndCa0FHVUFiQUJwQUcwQWFRQjBBR1VBY2dCZkFI?= =?us-ascii?Q?WUFNQUF5QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFBQUFBQUFB?= =?us-ascii?Q?QUlBQUFBQUFKNEFBQUJqQUhVQWN3QjBBRzhBYlFCZkFITUFjd0J1QUY4QWN3?= =?us-ascii?Q?QndBR0VBWXdCbEFGOEFkZ0F3QURJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBRUFBQUFBQUFBQUFnQUFBQUFBbmdBQUFH?= =?us-ascii?Q?UUFiQUJ3QUY4QWN3QnJBSGtBY0FCbEFGOEFZd0JvQUdFQWRBQmZBRzBBWlFC?= =?us-ascii?Q?ekFITUFZUUJuQUdVQVh3QjJBREFBTWdBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQVFBQUFBQUFBQUFDQUFBQUFBQ2VBQUFBWkFCc0FIQUFYd0J6QUd3?= =?us-ascii?Q?QVlRQmpBR3NBWHdCakFHZ0FZUUIwQUY4QWJRQmxBSE1BY3dCaEFHY0FaUUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= x-dg-reftwo: =?us-ascii?Q?QUFBQUFBQUFBQUJBQUFBQUFBQUFBSUFBQUFBQUo0QUFBQmtBR3dBY0FCZkFI?= =?us-ascii?Q?UUFaUUJoQUcwQWN3QmZBRzhBYmdCbEFHUUFjZ0JwQUhZQVpRQmZBR1lBYVFC?= =?us-ascii?Q?c0FHVUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFQUFB?= =?us-ascii?Q?QUFBQUFBQWdBQUFBQUFuZ0FBQUdVQWJRQmhBR2tBYkFCZkFHRUFaQUJrQUhJ?= =?us-ascii?Q?QVpRQnpBSE1BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFRQUFBQUFBQUFBQUFBQUFBUUFBQUFBQUFBQUNBQUFBQUFD?= =?us-ascii?Q?ZUFBQUFiUUJoQUhJQWRnQmxBR3dBWHdCd0FISUFid0JxQUdVQVl3QjBBRjhB?= =?us-ascii?Q?YmdCaEFHMEFaUUJ6QUY4QWNnQmxBSE1BZEFCeUFHa0FZd0IwQUdVQVpBQmZB?= =?us-ascii?Q?R0VBYkFCdkFHNEFaUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFJQUFBQUFBSjRBQUFCdEFHRUFjZ0Iy?= =?us-ascii?Q?QUdVQWJBQmZBSEFBY2dCdkFHb0FaUUJqQUhRQVh3QnVBR0VBYlFCbEFITUFY?= =?us-ascii?Q?d0J5QUdVQWN3QjBBSElBYVFCakFIUUFaUUJrQUY4QWFBQmxBSGdBWXdCdkFH?= =?us-ascii?Q?UUFaUUJ6QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVB?= =?us-ascii?Q?QUFBQUFBQUFBZ0FBQUFBQW5nQUFBRzBBWVFCeUFIWUFaUUJzQUd3QVh3QmhB?= =?us-ascii?Q?SElBYlFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFRQUFBQUFBQUFBQ0FBQUFB?= =?us-ascii?Q?QUNlQUFBQWJRQmhBSElBZGdCbEFHd0FiQUJmQUhBQWNnQnZBR29BWlFCakFI?= =?us-ascii?Q?UUFYd0JqQUc4QVpBQmxBSE1BQUFBQUFBQUFB?= x-dg-refthree: =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFBQUFBQUFBQUlB?= =?us-ascii?Q?QUFBQUFKNEFBQUJ0QUdFQWNnQjJBR1VBYkFCc0FGOEFjQUJ5QUc4QWFnQmxB?= =?us-ascii?Q?R01BZEFCZkFHTUFid0JrQUdVQWN3QmZBR1FBYVFCakFIUUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBRUFBQUFBQUFBQUFnQUFBQUFBbmdBQUFHMEFZ?= =?us-ascii?Q?UUJ5QUhZQVpRQnNBR3dBWHdCd0FISUFid0JxQUdVQVl3QjBBRjhBYmdCaEFH?= =?us-ascii?Q?MEFaUUJ6QUY4QWNnQmxBSE1BZEFCeUFHa0FZd0IwQUdVQVpBQmZBRzBBWVFC?= =?us-ascii?Q?eUFIWUFaUUJzQUd3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQVFBQUFBQUFBQUFDQUFBQUFBQ2VBQUFBYlFCaEFISUFkZ0JsQUd3QWJB?= =?us-ascii?Q?QmZBSEFBY2dCdkFHb0FaUUJqQUhRQVh3QnVBR0VBYlFCbEFITUFYd0J5QUdV?= =?us-ascii?Q?QWN3QjBBSElBYVFCakFIUUFaUUJrQUY4QWJRQmhBSElBZGdCbEFHd0FiQUJm?= =?us-ascii?Q?QUc4QWNnQmZBR0VBY2dCdEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBQUFBQUFBQUFB?= =?us-ascii?Q?SUFBQUFBQUo0QUFBQnRBR0VBY2dCMkFHVUFiQUJzQUY4QWRBQmxBSElBYlFC?= =?us-ascii?Q?cEFHNEFkUUJ6QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFFQUFBQUFBQUFBQWdBQUFBQUFuZ0FBQUcw?= =?us-ascii?Q?QVlRQnlBSFlBWlFCc0FHd0FYd0IzQUc4QWNnQmtBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= x-dg-reffour: QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUUFBQUFBQUFBQUNBQUFBQUFBPSIvPjwvbWV0YT4= x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CO6PR18MB4484:EE_|DM5PR18MB1500:EE_ x-ms-office365-filtering-correlation-id: 471946af-2aae-4b18-e4e3-08db56039ddb x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: jjmOT2YfQQ5RT4SsfrHqV+mewC75tB6lk5ijzMHUN6v1Z6TgDvrAudJWKjRiU+H5pnVuXgxDnVUloHYTctrv1pjIWkRD7MnHAzRmtCC9Weuj4XSP8rW33UMhmqMavikrtfjMZjaQwJhB8Y9p79ftGMGsjl9P8BENbT51V//vRqPlpTinIMV0TxyO+rTOuGbo84U/qFByUie3K9wF9nYy7/ccz+oOtSmGnL8oH3zBgU42J0IcwP53Fx6oPJphRuvlsJfDi9QSrUjs1Fa8CrVIh8Pp7IL9TnVulpYi9OJIe95kl8ATyK7xrfK1UnExpStJIBWcOYAMbiwvsZqXx3GvXpaaJg416e2qC2b7SgsiXjsJMVCVcMdo56xa/qXtDWR1bWozZgXkbnwqHw7uOBQWXuOti0UyOkiISpBUtewGk3hdAawiUmwm9vjZAwf1IQBV0ZNN+cpmEIgMc8ra1qvSmK7UxaYRNv0b5BVdiSUx+Qp3KFmCFxZd/NPWoqwcxTVxsYnc4to+EPdLVC7lDv/qu7hRmXEO7ooGyyTsySDsv1IUq21URVL69Lo7uu8umjVG7TCkllsIs8phfaNqfhnyEZtV+Dgq/cJWArq0bv0+rRgTF+1K80i64jZP3Vebr45r 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:(13230028)(4636009)(39860400002)(396003)(346002)(376002)(136003)(366004)(451199021)(71200400001)(316002)(478600001)(110136005)(54906003)(55236004)(9686003)(6506007)(26005)(7696005)(41300700001)(4326008)(66446008)(64756008)(76116006)(66946007)(66556008)(66476007)(5660300002)(52536014)(8676002)(8936002)(55016003)(86362001)(83380400001)(33656002)(38070700005)(122000001)(38100700002)(186003)(2906002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?QJOouB4Dmpvx2Mz+FUfpQTRlljHy5r3XeXHoDXlQNNUkxyzB8/cVlD2WOWfK?= =?us-ascii?Q?/36/h5mvv/aeZVZqgOCpMw0j7au2jph6Ij6D9EYBQ4zeI9uS5YmDKQoWcFbo?= =?us-ascii?Q?6N7HTKt1Cm5rh8NVeHGFmhLaKk4Sb2oT1WAa4ioAvo19ECSMzXbd8mYqsele?= =?us-ascii?Q?CxyhEU0oLpE+x743QTDHm/demLln4A+652xDZgqvRESvgeY15wfpbMTilCVU?= =?us-ascii?Q?vlNfD0QQ/n1lGSCTF7pe/7n4nLasoTeIJYo3jcak7NZz6mGGhkk+IoMH7e5h?= =?us-ascii?Q?jdyVEFnuUJ8LA+zp7hPUpaRrAMYUDIBzA7+h6f3J04fGJ2kAyFQHvO14IRxQ?= =?us-ascii?Q?dX6+I6ScSHQ3TbsJJbMtatwvQ3FK4GM5nu6hCEs/4EKj8r5RxCLMOAIM2Ac2?= =?us-ascii?Q?z9iOFDmL4LYZWPwP0hgEVbAT9602fAjzn0XhFW8ZnEib8d83LMHFH4WZ9rMC?= =?us-ascii?Q?NUYnPqLZFy57XRXn/hcm6UQt8dK6QUpbOPLNIfD6iPBaAxCi+DL9HtLSgvdf?= =?us-ascii?Q?dgOMFh5UJsiHvYySoLJ36NINt3dDUbiVcCyFLL5Y3zb1yrCfSx7JK9LJfwox?= =?us-ascii?Q?uuHa/FpiX2azWD806pzcqbHZcpUVDbEFOfYCzanvmUqJBGs9ailsRItzmMYV?= =?us-ascii?Q?lXWebigxLCxsmbHActI/nMdfFrMJsNObfOSVFJMnGXrpSy4jBQLVwxSkrjC/?= =?us-ascii?Q?vKpv/p8+wS0CxTEnORdra+kQHL6anwadGD7SmX8SKQ9OODeJCfU9ED2zr1GD?= =?us-ascii?Q?Qc/oLz0BRkH4wupWE6KaCvdaaOhw7WyCRZMX83T8PJufaEaEuW9hmu+1If4N?= =?us-ascii?Q?h/OecwP9gruWnyylrE8Rt+aa0dIOuQY6y3J6XKZWc90JserDk6oKp6qrHFYT?= =?us-ascii?Q?Z4xvh/soRpfYVNfiNiNgg3SIWbYnLIugkG64UCBaiszmPNi0Gmewg0p0EgaN?= =?us-ascii?Q?2l0LapL5qvBtMUJPWzIRvi/WlXoIbftTshM8F3KiQKQZbSz1yuPpNTzZmeB/?= =?us-ascii?Q?AZD9bnnrJVPCFzxzyOTiDOOOmvkTHKqReowKln0O1691KpCHaqIrjP/+9LoI?= =?us-ascii?Q?EDjNQ4gwuKZs+gu2ECQ3mCqjCVnGerC2VyJOPEfBsPVpItxWAnc/Mobj7FdU?= =?us-ascii?Q?YA+4Wi0UsAacLq2DWk40cAFqB1+fE4DU43oVg4p20mHRzzT6b/lCPboAMs/l?= =?us-ascii?Q?Zzgn/Ed4fB0LEUN5BQdH6a/7M2cvwICrIQ06hEBwXJTsWfWRpmHgoaizSY0T?= =?us-ascii?Q?cGAf2vVXtXX0ejGCTDDeaV5pM/ZKLDCzBgSwP95OnoAgN+AvrIXs3mKYq3Ir?= =?us-ascii?Q?zCdDThz8rI8TpBH5c/Zu1Rin/3uO++4nRBxoGSYHtavjzoMJ1xJ3UfHoyX/f?= =?us-ascii?Q?ge2I/0J6qX8PatlizOF+uv7DXGSY83SUbknisGNilW6stuJTt5t9tBXw3J/a?= =?us-ascii?Q?cTk+gHLN/iWlG1G3V6+bV2ZAKuuul69j5Lbq7xnpOLw0qKGKB76n2wJqrcUk?= =?us-ascii?Q?qjv03zqfuSLO+Ap7iMAkD7qOYK4jRW2Lo9+MWe8/ZkZ6rI1H3XtnGlt0QQ+P?= =?us-ascii?Q?xHES95SvMYbvToYJpEAzCPynPhw6vvrzBof6wYjn?= 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: 471946af-2aae-4b18-e4e3-08db56039ddb X-MS-Exchange-CrossTenant-originalarrivaltime: 16 May 2023 11:49:33.6344 (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: Xz2bF3pBLjHQNRpvy81lMeBygkwrRadWJmXDMCHZQAOw+Jd478lvydNfEJ8eXr22wt/hwNbXE003UrEm55/tcg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR18MB1500 X-Proofpoint-GUID: 1kAdb4KjH2Nqyhhq59uyir85zE2xU5pt X-Proofpoint-ORIG-GUID: 1kAdb4KjH2Nqyhhq59uyir85zE2xU5pt X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-05-16_05,2023-05-16_01,2023-02-09_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 > Subject: [v1, 1/3] cryptodev: add SM2 asymmetric crypto algorithm >=20 > ShangMi 2 (SM2) is a encryption and digital signatture algorithm > used in the Chinese National Standard. ShangMi 2 (SM2) is an encryption and digital signature algorithm used in the Chinese National Standard. Added support for asymmetric SM2 in cryptodev along with prime field curve. Can you also add link for RFC in patch description here as it is mentioned = in the comments of the structure. >=20 > Signed-off-by: Gowrishankar Muthukrishnan > --- > doc/guides/cryptodevs/features/default.ini | 1 + > doc/guides/rel_notes/release_23_07.rst | 3 + > lib/cryptodev/rte_crypto_asym.h | 76 ++++++++++++++++++++++ > lib/cryptodev/rte_cryptodev.c | 1 + > 4 files changed, 81 insertions(+) >=20 > 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 >=20 > ; > ; 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..b920840038 100644 > --- a/doc/guides/rel_notes/release_23_07.rst > +++ b/doc/guides/rel_notes/release_23_07.rst > @@ -55,6 +55,9 @@ 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 >=20 > +* **Added SM2 algorithm in cryptodev library.** > + > + Added SM2 algorithm with prime field curve support. * **Added SM2 asymmetric algorithm in cryptodev.** Added support for ShamMi 2 (SM2) asymmetric crypto algorithm along with prime field curve support. >=20 > Removed Items > ------------- > diff --git a/lib/cryptodev/rte_crypto_asym.h b/lib/cryptodev/rte_crypto_a= sym.h > index 989f38323f..c91a8dee4d 100644 > --- a/lib/cryptodev/rte_crypto_asym.h > +++ b/lib/cryptodev/rte_crypto_asym.h > @@ -119,6 +119,8 @@ 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. */ /**< ShangMi 2.=20 * 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 +384,20 @@ struct rte_crypto_ec_xform { > /**< Pre-defined ec groups */ > }; >=20 > +/** > + * 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 */ Please add dots at end of sentences. > +}; > + > /** > * Operations params for modular operations: > * exponentiation and multiplicative inverse > @@ -637,9 +653,68 @@ struct rte_crypto_asym_xform { > /**< EC xform parameters, used by elliptic curve based > * operations. > */ > + > + struct rte_crypto_sm2_xform sm2; > + /**< SM2 xform parameters */ > }; > }; >=20 > +/** > + * SM2 operation params > + */ > +struct rte_crypto_sm2_op_param { > + enum rte_crypto_asym_op_type op_type; > + /**< Signature generation or verification */ > + > + 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. > + * > + * 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 > + * (atleast 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 (atleast 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). > + */ This can be a single line comment. > + > + rte_crypto_uint r; > + /**< r component of elliptic curve signature > + * output : for signature generation (of atleast 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 atleast N bytes > + * where prime field length is N bytes) > + * input : for signature verification > + */ > +}; > + > /** > * Asymmetric Cryptographic Operation. > * > @@ -665,6 +740,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..fd7b6b92b5 100644 > --- a/lib/cryptodev/rte_cryptodev.c > +++ b/lib/cryptodev/rte_cryptodev.c > @@ -282,6 +282,7 @@ const char *rte_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", > }; >=20 > /** > -- > 2.25.1