From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM01-BY2-obe.outbound.protection.outlook.com (mail-by2nam01on0081.outbound.protection.outlook.com [104.47.34.81]) by dpdk.org (Postfix) with ESMTP id 557A614EC for ; Thu, 11 May 2017 14:36:23 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=bYVGM6jxtxsDcRpN+p6NXx6XeWFJzW9TY1b3XLJPTQo=; b=kcMGj8R9hO0jHBjStM0Yhh5SrLIci07oFvCozNAQz3W4VzkCBIqTLZJddgz0hfQ1imxrxKvCJMqqafzawXls8vYbkVxynzTOhfFFIbanTyAncYbdtvH278pnLkYzknsbu/0cq2nJ1LW6wvXsm2s26F8R6LoN/ntfcfI7MAOx3KU= Authentication-Results: dpdk.org; dkim=none (message not signed) header.d=none;dpdk.org; dmarc=none action=none header.from=caviumnetworks.com; Received: from ukw0rk.in.caveonetworks.com (14.140.2.178) by BN6PR07MB2755.namprd07.prod.outlook.com (10.173.27.141) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1084.16; Thu, 11 May 2017 12:36:18 +0000 From: Umesh Kartha To: dev@dpdk.org Cc: Jerin Jacob , Balasubramanian Manoharan , Ram Kumar , Murthy Nidadavolu , declan.doherty@intel.com, pablo.de.lara.guarch@intel.com, Fiona Trahe Date: Thu, 11 May 2017 18:05:29 +0530 Message-Id: <1494506132-23107-1-git-send-email-Umesh.Kartha@caviumnetworks.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1490177802-13398-1-git-send-email-Umesh.Kartha@caviumnetworks.com> References: <1490177802-13398-1-git-send-email-Umesh.Kartha@caviumnetworks.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [14.140.2.178] X-ClientProxiedBy: PN1PR01CA0092.INDPRD01.PROD.OUTLOOK.COM (10.174.144.160) To BN6PR07MB2755.namprd07.prod.outlook.com (10.173.27.141) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: b06d29b9-210c-4443-6d65-08d4986a53fd X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(201703131423075)(201703031133081); SRVR:BN6PR07MB2755; X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB2755; 3:ZgpvnY05xGT7dAFMHcGGSjzBNHWE9pZF0H8BrxJPN8JdEc6M2npE0f+qJKeVpP3TgIXh7QlOaLqNAtJERugyJHDzVglmIkF8HOLfs9IpgiemjQsnw5X6+0QHunSrzPuc0mG3jsb8KyJlO02zeyjfvRTlg1WkogenAZxqXSH1vuUtdvsUN/tPVNqqGSku7MciiZeRkFZI0Gn5tHybcKzDoYs/t1AHEUoeQga9+P97kdyDwsbwvhMgzV4q6tjec8PeeLuXgoAnvXt9X9pMW5te00RVFkPHR9Nv5g9EWWQEJ78OH3OyzZs5slwTOTNAbMvsfoMvGf3/q2XPa469XIoxPQ==; 25:qWlZ3WRAHSCkUMfbFQnB54ncCeC05UZt8L2G9XBRkM7TCobz9PDaWx+4k3mOjY3nYPsBnjrGY5bm2qLEaXKrIga5UstKGlh4ggHpwVhv3AjNpWrR/Fwz9vKai9GT2vZH1RDRZpugcj75mhj2hrgryK/2SgGReF5w+jRZPb4fLiiDlPHOWzM71BmQ+o+59tHLL1nufgcVVwGiU4nEv200/PSTp8xVe/xLYJwRJhli7GHntTwjlOmMnojMTtJKdb0D2xgYPMOrXvcwy1GSrufQQPQBuyO0MH4TMdX71mgLdvFQgTWVdpK0ke0QLyjlNGP5rGxAJIHyVhuwOE61w+gg1Ah5GMz6lSZoGvjL9oIYVkR672g5sTeawevhzaq+Ema1F8Z5MrYu9IDoY5yJ+zpkfY4TtqchTm8164rQRyCCXfhgu7NZkxuHY/EjT0FB/ROPf+ukk70u0E4GxDbw7PYvkmdRIT+d+f/A5JgP+leZa8w= X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB2755; 31:VPosKLYOONBhEzdjgwHgJoIs+8+QZT0AnVWn3liPXn77utNlSg/AIBoL+xxBbm/CSG7HLFGC+Kih28zGtZKqJUUB0vYPSOwuEhts1MUiMc9NXLGpbEB2ofLxMqIZHrR/zY9m8/ZR6Hb/2eOPj7j/UKLWR6rZThBcL7hpL/9eYck/RXmFLbOOTfGExtRxk+Ct70KZmncFskCXPBN+HwYXguVEwJ6U4PfBfdTbza2QIXg=; 20:bdtliLnKrg1DQrr3XXDEyDkLFZePbhLj/RzdTjhMxDJfSajqxfq+PT/XVicYATrTw3yBBFhAyEb/hxW+gVsUc6aulpxqlkVrG+ERF3Wuyr9mfQdigVM8lvfflUaTEkiz4icAA8QAJC+qK7OdgeAlB7tZ2HYds+w5IdY1X06takd80sEbZS/IXTm6MdVQBMAmfQxb6vO401agBqihKgHYmlv2tqAklYqdzIQt0oopDdN8JhwShI1GCZwakBkEgMys5p7HEYqnLTV9L0SSxuUBJSzwTZ5ijnJC7QoTnT3qwB6/S2bWQAGWcM+HNvzzX5dEzo3BIY8jaDJgdiR1hapeIUSKtOcqkbWxTt+wrzY108dS/6FQrR65fM0CIrApHMW83Mrt8uEgrMQZXk+XZltyCKz34CRRS78juqP4McRh9HClDp/vCfyO0gzgVwoncV9/4jtdRn4/h4I3yWDGQ6N6H/fEWdaXVMCAtniNINryusJAfZESz4krS0yJNsiByxNMwSwXiDGlhHwJQuyZ3emROx2zPwtdAxXeh1fhTUfDsgAVWB4Ty39ZdqWd8PMZY/bRtu68XUMciR5w1afZd5xQhotF2UTY041wx6ngq5kPFmE= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040450)(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001)(93006095)(6041248)(20161123562025)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123555025)(20161123558100)(20161123560025)(6072148); SRVR:BN6PR07MB2755; BCL:0; PCL:0; RULEID:; SRVR:BN6PR07MB2755; X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB2755; 4:9XWED42eJwpkB4BBQtEgYLOihCkdoQ7maxW+7Qu1tiZporujiFBkLE+fp2PBYQv39c/BtHe8BBVdSBnQMIneh/AWzV6XJPSDkMsB7Z6YC9iZg4o//1Zzbtu8tUXqROXZTJe6SID+LfcYniiDfViXTXuYtITVdXLCwIgpCcJrauKwyju+b9GPdfSpt65IntaIgtarjT9nBMfKSzUCT/RjkFiYMh3datRqSbc0A4R0XpCfFdiiHte1lyS59ay5qgHTGDkMf8/5VGQH1Q3O6B9o31M/QanRO7tAeaYmSzMnI0mrIVXKarlz2sZ+obgM4QDK7Zyt2Jk50sOjAlckrF0rwArGJ6H0CTuSCqCr8mBcUJ4qcl0qSjQg1hDZeJZGgdoHK0mdDyRE3xTDLRItMrML3J46jUZXc0Stv6nLaARqp6hL1antUOaoRi6V63OQqJwTLAEgOXEBQsn7YORqdLQQcCcduDWGC2fsUWZNyGItVahJpi1ho2V1GvXAZh4nWkwh9sDoRJB4jrrQfMsCGrpIQzRlRDH6MVPnG072Tz3aI+bitniL64gk+H4b6aljnmuH2c1bVfSnfr5V1Ua13XNK+aWbA7ktLoI4ZC2CgpBjSm3BckByQkZIjV5XB+QfZB9UPlBy/BHG1h7NX0jIZMmZxbP+tziKZKkYAq3MrTDynvHOvBpdWiYPNI8R5CIm/fW3kI8kTnkp4rjcZKZ6I0ItI3K5S4H+PToT77qQnPLUVcnG6fopGPT9EuV8oTqCxHKKpgp+U4JzusCVktiTuCeC1A== X-Forefront-PRVS: 0304E36CA3 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(39400400002)(39410400002)(39450400003)(39840400002)(39850400002)(2351001)(305945005)(7736002)(189998001)(2906002)(4720700003)(478600001)(6916009)(6666003)(2950100002)(42882006)(25786009)(4326008)(2361001)(42186005)(72206003)(76176999)(5003940100001)(50986999)(6306002)(5660300001)(81166006)(48376002)(54906002)(50226002)(6512007)(5009440100003)(66066001)(6486002)(53936002)(6116002)(3846002)(8676002)(36756003)(47776003)(110136004)(38730400002)(966004)(6506006)(50466002)(53376002)(110426004)(217873001); DIR:OUT; SFP:1101; SCL:1; SRVR:BN6PR07MB2755; H:ukw0rk.in.caveonetworks.com; FPR:; SPF:None; MLV:nov; PTR:InfoNoRecords; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN6PR07MB2755; 23:6qPkdT9m/7AGCS/rShbioeYeHZsTVRqXgQFrVVfXr?= =?us-ascii?Q?1JrbFi4wDohRqy7/D7DwWE+4odqHMJV6SK8xLDlrXNRt8++7/C+bsIR9ASHV?= =?us-ascii?Q?IoONV1eD3lXcN91yWfPG2gSScPhHzuVcwiUlVIsGy5BDlER29n3RuJ81i0O2?= =?us-ascii?Q?LvmUhr5S0TYUqIVCu01VnS3TTxMpkfCiX+sRakv/7t+TWEJwtMCeadfTunfK?= =?us-ascii?Q?Vwh8vQq8m0Vl0MVuZ8UZ+AkL8dmXE7hpB0h8nwNE7MkVe62rNyy99JTH9KDp?= =?us-ascii?Q?SNnJSujFyGSCv/vaw6N9zGtxeMMxjE7fVJ+YFaC1jAeYXr87nF+SMlSStRy6?= =?us-ascii?Q?2EgbG0iOlC9IH8A5lf5DP/MXYlEMjql5TZMXmyYK2C462m8mJ1g43x2iq0J7?= =?us-ascii?Q?w5k6OH1NhoI897euT9tn8Ve53ks73DSD9e+1Pt15JYk1r0jwinH+9Z4ltM/Y?= =?us-ascii?Q?F5f2nXytOlm+idFfsE/Fs/Hd2lNLORso5cuRJo9mdooUrpQmLE8pEqSqHij1?= =?us-ascii?Q?n9/k1f2k5NNAVOn61kPcZqZFp8lfGUHUO5gAhNhc7UIFuRLI2lD86p7MfvEP?= =?us-ascii?Q?bw6kxge46tGzwDpsNCaXOfOQUK9zCSvHcvAxYNOyWMAEDD49N0BGBMX/ugRa?= =?us-ascii?Q?7sML/EDMGl5AekXscEdNyvqVO3otsAvOv2ZwcnAsp5+vZ+nOWmxINlddWCut?= =?us-ascii?Q?uP9igT7VgH1PQTBzkU7Ar9C5TAoX4s7NxM+J3keCOuNzF4tgE0NB3F4q7lQx?= =?us-ascii?Q?eNhbEwWU+pRZP04WMJvszCW1yMxelIdbF1JaamrTG3FmXhhDIvkfv7WOVpcA?= =?us-ascii?Q?xC38tdvsFfR6gRDdly2IxUnoVt7oDz8i13CrwaWYH4zocCriqsY/ZitR3ciF?= =?us-ascii?Q?jBv4o+jKk8oNLN2iz4uJ7TGeiHv85kRAQ2kRL6VJhO2t+YGF1e9bQGm2fMs0?= =?us-ascii?Q?T0M4e8+W7Y4IZVazAChCenoKokHupTUtmZsPEpGaXvaPRd67YL7H+an3AH/l?= =?us-ascii?Q?OWpaO9uujoo7GEtS8oz6awvtRlAIVZMpsWM6T4Zd8Y6rdRb3VhgP0wY1F6Gu?= =?us-ascii?Q?EbQ4luEpqoQkMV6Ztv7K2+PXIkI2Tzz4QP68AyRJ/2EJElGlisY6bU/Dp7c/?= =?us-ascii?Q?Ur06iaRuC4C0gF13m79IbKgTD/5A9Ftz6svCxe+OnSFEBeovWmY91b48EEdO?= =?us-ascii?Q?Xta5QKZfS3qAfbl39fhjh3s3FRe1GMTDFb8yrah2ScLcMXnSTqR3F5GZE09Q?= =?us-ascii?Q?30lQUiUzanRRw3e9uE=3D?= X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB2755; 6:TJxp6lBl8iucInikbd+pZtyvIsIHKTTwwRfdCu1UDam3PsEuoNVY07PgQoo2i+qTSey8yLSByZsLGzHELOuutAaZBoD0FUPNSsN5o44kVuSYomxTt3/CliNqZleWBEtX2VGR95+ziEJ9YCEBG4P7Ka4/lZlXlH0pmzcUZaotU5hyYbm0I0+9V/k0O4Wf1wS+nW3FTx6grWs09BNJmInSKjj1Y3tIHGu+gvtnqsXr2T9zQiIey03HA6BMcxwGd3zKZvGw/8z82+3uP/2Kc6bnhPyvy1LoHv5fcrLHaTabP9s/qInkHKrImFkuLvdQWYpQUahLr3uqci8tFB0kAsbHnKgol1J/7+ATy4jnXJE4Pj215jNjWgZRvqmQEneChk9C7SHJ/d9x29Ikq39N0NJKZwk278eNcZp1NkM8UrORzMoYziRI8U96PFSqeJhjrhxyKZyFnl9wB+LH71mIH/0CrNkrH+ywDQXkr6q1gb7JE+PmkCeSmb9ghTd8b7YvhgVJWdFfd52PB2ZoFewGVWMc3A==; 5:JAX9W+Z1YPazUoLuWFtey5A5nrE54wk0AgDzm2+LlwD9NslDmU9hWB+cC5GwAZz6DC0CAGTsjn1yWKRz2rCrUXaXdyNWfRgMl1yKjsjx/RSg2qmNqBV7V1UEqLLTfNpHfV1y7K8/SmOFbpUe8vSV3g==; 24:NSc2EIhrLStYMKSk8bIF/KN2/XEzdlKtYd4C/1OjhPUGy60/wHu0awzyzClOnrULafxxKniVKBXtS0Lf/IQpf4xTforK/oKy7SOnfRaPKyA= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB2755; 7:6oVF5qemRKjU9+9hhJXbSP9+5TaUipibLcFkoz4NQI2lwhscRoO9Y7IxZSwJerj6Wrjds/AoOUqgbEZ9z25oriVSSkPlX0JeXZLnQIZjk70dWeO5BGj1D1ZN8WjR7kw2DzuLzcGxWGZxVKZZZdQHtfx2eLUJK9wNAIAqq6bEuz4alRqMTqMiQJA+/YYGwBhr1o0Bq5BMxpXGbr2CCOvSsRcpAZdVXQ2eT5h4S5HVLVaoSrV3wNW5i3+DpxkXHHfBQWicMkkhc3hfXiIz8UedTx4tt2+49lsm+WclLBvEcROHjIo13YfJprX+jFogWeNdU/OcjPShEAgyntYDTgyFjg== X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 May 2017 12:36:18.5345 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR07MB2755 Subject: [dpdk-dev] [RFC PATCH v2 0/3] specifications for asymmetric crypto algorithms X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 11 May 2017 12:36:24 -0000 This RFC contains specifications for asymmetric crypto algorithms. Asymmetric crypto algorithms are essential part of protocols such as SSL/TLS. As the current DPDK crypto library lacks support for asymmetric crypto algorithms, this RFC is an attempt to address it. Cavium offers PCI hardware accelerators that supports symmetric and asymmetric crypto algorithms, of which a few are addressed in this RFC. Once specifications are agreed upon, I can submit a patch for the same. We will develop a poll mode driver which can offload to OpenSSL crypto library and to Cavium crypto accelerator. The asymmetric crypto algorithms supported in this version are: 1 RSA - RSA Sign - RSA Verify - RSA Public Encrypt - RSA Private Decrypt Padding schemes supported for RSA operations are * RSA PKCS#1 BT1 * RSA PKCS#1 BT2 * RSA PKCS#1 OAEP * RSA PKCS#1 PSS 2 DH - DH generate key - DH compute key 3 ECDH - ECDH generate key - ECDH check key - ECDH compute key 4 DSA - DSA Sign - DSA Verify 5 ECDSA - ECDSA Sign - ECDSA Verify 6 MODEXP 7 FUNDAMENTAL ECC - Point Addition - Point Multiplication - Point Doubling 8 MODULAR INVERSE Asymmetric crypto transform operations support both session oriented mode and session less mode. If the operation is sessionless, an asymmetric crypto transform structure, containing immutable parameters, is passed along with per-operation mutable parameters in the structure. Specific structures were written to contain immutable parameters depending on algorithm used for crypto transform operation. The parameters and type of transform is distinguished by the algorithm for which the transform structure is filled. For a particular asymmetric algorithm, not all parameters will be used and hence not required to be filled. Changes from RFC v1: Added additional algorithms : DH/ECDH/MODINVERSE/DSA Added additional curves for ECC operations: All cuves supported by libcrypto. As per the comments received for RFC v1: - removed mbufs from asymmetric crypto operation structure. - added separate queue pair in device structure to handle asymmetric crypto operations. - added APIs to start/stop/initialize queue pairs to handle asymmetric crypto operations. - added asymmetric session structure and related APIs to handle session operations (initialize/allocate/free) etc. RFC v1: http://dpdk.org/ml/archives/dev/2017-March/060869.html Umesh Kartha (3): cryptodev: added asymmetric algorithms cryptodev: asymmetric algorithm capability definitions cryptodev: added asym queue pair, session apis lib/librte_cryptodev/rte_crypto.h | 135 +++- lib/librte_cryptodev/rte_crypto_asym.h | 1124 ++++++++++++++++++++++++++++++ lib/librte_cryptodev/rte_cryptodev.c | 782 ++++++++++++++++++++- lib/librte_cryptodev/rte_cryptodev.h | 414 +++++++++++ lib/librte_cryptodev/rte_cryptodev_pmd.h | 113 +++ 5 files changed, 2564 insertions(+), 4 deletions(-) create mode 100644 lib/librte_cryptodev/rte_crypto_asym.h -- 1.8.3.1