DPDK patches and discussions
 help / color / mirror / Atom feed
From: Umesh Kartha <Umesh.Kartha@caviumnetworks.com>
To: Neil Horman <nhorman@tuxdriver.com>
Cc: dev@dpdk.org, Jerin Jacob <Jerin.JacobKollanukkaran@cavium.com>,
	Balasubramanian Manoharan <Balasubramanian.Manoharan@cavium.com>,
	Ram Kumar <Ram.Kumar@cavium.com>,
	Murthy Nidadavolu <Nidadavolu.Murthy@cavium.com>,
	declan.doherty@intel.com, pablo.de.lara.guarch@intel.com,
	Fiona Trahe <fiona.trahe@intel.com>
Subject: Re: [dpdk-dev] [RFC PATCH v2 0/3] specifications for asymmetric crypto algorithms
Date: Fri, 12 May 2017 20:05:20 +0530	[thread overview]
Message-ID: <20170512143519.GA1041@ukw0rk.in.caveonetworks.com> (raw)
In-Reply-To: <20170512121557.GA12366@hmswarspite.think-freely.org>

Hi Neil,

On Fri, May 12, 2017 at 08:15:57AM -0400, Neil Horman wrote:
> On Thu, May 11, 2017 at 06:05:29PM +0530, Umesh Kartha wrote:
> > 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:
> > 
> This all appears to modify the cryptodev api, but I don't see where said
> modification was announced.
> 
> Additionally, I don't see modifications to a map file to export the api symbols.
> Have you tested this in a shared library build?
> 
> Neil
> 

This is just an RFC for asymmetric crypto operation specifications. The
specifications are not finalised. Once the specifications are finalised,
support for asymmetric algorithms will be added to OpenSSL PMD.

> > 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
> > 
> > 
Regards,
Umesh

      reply	other threads:[~2017-05-12 14:35 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-22 10:16 [dpdk-dev] [RFC] " Umesh Kartha
2017-03-27 12:58 ` Declan Doherty
     [not found] ` <348A99DA5F5B7549AA880327E580B435891DBCED@IRSMSX101.ger.corp.intel.com>
2017-04-06 11:39   ` Trahe, Fiona
2017-04-27  7:26     ` Umesh Kartha
2017-05-11 12:35 ` [dpdk-dev] [RFC PATCH v2 0/3] " Umesh Kartha
2017-05-11 12:35   ` [dpdk-dev] [RFC PATCH v2 1/3] cryptodev: added asymmetric algorithms Umesh Kartha
2017-05-25 16:00     ` Trahe, Fiona
2017-05-26  7:18       ` Umesh Kartha
2017-05-29 14:51         ` Trahe, Fiona
2017-06-02 11:01           ` Umesh Kartha
2017-05-11 12:35   ` [dpdk-dev] [RFC PATCH v2 2/3] cryptodev: asymmetric algorithm capability definitions Umesh Kartha
2017-05-11 12:35   ` [dpdk-dev] [RFC PATCH v2 3/3] cryptodev: added asym queue pair and session apis Umesh Kartha
2017-05-24 11:48     ` Trahe, Fiona
2017-05-12 12:15   ` [dpdk-dev] [RFC PATCH v2 0/3] specifications for asymmetric crypto algorithms Neil Horman
2017-05-12 14:35     ` Umesh Kartha [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170512143519.GA1041@ukw0rk.in.caveonetworks.com \
    --to=umesh.kartha@caviumnetworks.com \
    --cc=Balasubramanian.Manoharan@cavium.com \
    --cc=Jerin.JacobKollanukkaran@cavium.com \
    --cc=Nidadavolu.Murthy@cavium.com \
    --cc=Ram.Kumar@cavium.com \
    --cc=declan.doherty@intel.com \
    --cc=dev@dpdk.org \
    --cc=fiona.trahe@intel.com \
    --cc=nhorman@tuxdriver.com \
    --cc=pablo.de.lara.guarch@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).