All of lore.kernel.org
 help / color / mirror / Atom feed
From: Akhil Goyal <gakhil@marvell.com>
To: "Kusztal, ArkadiuszX" <arkadiuszx.kusztal@intel.com>,
	"dev@dpdk.org" <dev@dpdk.org>
Cc: Anoob Joseph <anoobj@marvell.com>,
	"Zhang, Roy Fan" <roy.fan.zhang@intel.com>
Subject: RE: [EXT] [PATCH 29/40] cryptodev: add salt length and optional label
Date: Wed, 25 May 2022 05:57:09 +0000	[thread overview]
Message-ID: <CO6PR18MB4484765ED827F4CDD7900E1CD8D69@CO6PR18MB4484.namprd18.prod.outlook.com> (raw)
In-Reply-To: <CO1PR11MB5009E6BA1FF18D0923DB1A7E9FD79@CO1PR11MB5009.namprd11.prod.outlook.com>

> > > diff --git a/lib/cryptodev/rte_crypto_asym.h
> > > b/lib/cryptodev/rte_crypto_asym.h index 97c3fbee38..c864b8a115 100644
> > > --- a/lib/cryptodev/rte_crypto_asym.h
> > > +++ b/lib/cryptodev/rte_crypto_asym.h
> > > @@ -205,12 +205,29 @@ struct rte_crypto_rsa_priv_key_qt {
> > >   */
> > >  struct rte_crypto_rsa_padding {
> > >  	enum rte_crypto_rsa_padding_type type;
> > > -	/**< RSA padding scheme to be used for transform */
> > > -	enum rte_crypto_auth_algorithm md;
> >
> > Any specific reason to change the field name?
> > I think this matches with the next field mgf1md
> [Arek] - now it aligns with RSA RFC. Both current names comes from the
> OpenSSL EVP_MD naming, in my rfc initially mgf1md was changed too into:
> +enum rte_crypto_mgf {
> +	RTE_CRYPTO_MGF_DEFAULT,
> +	/**< Default mask generation function */
> +	RTE_CRYPTO_MGF_MGF1_SHA1,
> +	/**< MGF1 function with SHA1 hash algorithm */
> But we do not need to be that conformant with the standard I think, so I have
> left it out.
> As for names it may be 'md' as well, every name is ok if is not excessively long.
> 
No strong opinion, you can keep any of them.

> >
> > > -	/**< Hash algorithm to be used for data hash if padding
> > > -	 * scheme is either OAEP or PSS. Valid hash algorithms
> > > -	 * are:
> > > -	 * MD5, SHA1, SHA224, SHA256, SHA384, SHA512
> > > +	/**< Type of RSA padding */
> > > +	enum rte_crypto_auth_algorithm hash;
> > > +	/**<
> > > +	 * RSA padding hash function
> > > +	 *
> > > +	 * When a specific padding type is selected, the following rule apply:
> > > +	 * - RTE_CRYPTO_RSA_PADDING_NONE:
> > > +	 * This field is ignored by the PMD
> > > +	 *
> > > +	 * - RTE_CRYPTO_RSA_PADDING_PKCS1_5:
> > > +	 * When signing operation this field is used to determine value
> > > +	 * of the DigestInfo structure, therefore specifying which algorithm
> > > +	 * was used to create the message digest.
> > > +	 * When doing encryption/decryption this field is ignored for this
> > > +	 * padding type.
> > > +	 *
> > > +	 * - RTE_CRYPTO_RSA_PADDING_OAEP
> > > +	 * This field shall be set with the hash algorithm used
> > > +	 * in the padding scheme
> > > +	 *
> > > +	 * - RTE_CRYPTO_RSA_PADDING_PSS
> > > +	 * This field shall be set with the hash algorithm used
> > > +	 * in the padding scheme (and to create the input message digest)
> > >  	 */
> > >  	enum rte_crypto_auth_algorithm mgf1md;
> > >  	/**<
> > > @@ -220,6 +237,21 @@ struct rte_crypto_rsa_padding {
> > >  	 * for mask generation. Valid hash algorithms are:
> > >  	 * MD5, SHA1, SHA224, SHA256, SHA384, SHA512
> > >  	 */
> > > +	uint16_t saltlen;
> > > +	/**<
> > > +	 * RSA PSS padding salt length
> > > +	 *
> > > +	 * Used only when RTE_CRYPTO_RSA_PADDING_PSS padding is
> > > selected,
> >
> > Used only when RTE_CRYPTO_RSA_PADDING_PSS is selected,
> >
> > > +	 * otherwise ignored.
> > > +	 */
> > > +	rte_crypto_param label;
> > > +	/**<
> > > +	 * RSA OAEP padding optional label
> > > +	 *
> > > +	 * Used only when RTE_CRYPTO_RSA_PADDING_OAEP padding is
> > > selected,
> >
> > Drop the word padding.
> >
> > BTW, can this be a union for label and saltlen?
> Yes, will do.
> > Also can we name them as pss_saltlen and oaep_label?
> Yes, though I am not entirely convinced. These names are unique anyway.
I believe it will improve readability.

> >
> > > +	 * otherwise ignored. If label.data == NULL, a default
> > > +	 * label (empty string) is used.
> > > +	 */
> > >  };
> > >
> > >  /**
> > > --
> > > 2.13.6


  reply	other threads:[~2022-05-25  5:57 UTC|newest]

Thread overview: 85+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-20  5:54 [PATCH 00/40] cryptodev: rsa, dh, ecdh changes Arek Kusztal
2022-05-20  5:54 ` [PATCH 01/40] cryptodev: redefine ec group enum Arek Kusztal
2022-05-20  5:54 ` [PATCH 02/40] cryptodev: remove list end enumerators Arek Kusztal
2022-05-20  7:19   ` [EXT] " Akhil Goyal
2022-05-20  5:54 ` [PATCH 03/40] test/crypto: " Arek Kusztal
2022-05-20  5:54 ` [PATCH 04/40] cryptodev: reduce number of comments in asym xform Arek Kusztal
2022-05-24 10:59   ` [EXT] " Akhil Goyal
2022-05-24 17:37     ` Kusztal, ArkadiuszX
2022-05-25  5:44       ` Akhil Goyal
2022-05-20  5:54 ` [PATCH 05/40] test/crypto: removed asym xform none Arek Kusztal
2022-05-20  5:54 ` [PATCH 06/40] cryptodev: separate key exchange operation enum Arek Kusztal
2022-05-24 11:45   ` [EXT] " Akhil Goyal
2022-05-20  5:54 ` [PATCH 07/40] crypto/openssl: " Arek Kusztal
2022-05-20  5:54 ` [PATCH 08/40] test/crypto: " Arek Kusztal
2022-05-20  7:18   ` [EXT] " Akhil Goyal
2022-05-20  5:54 ` [PATCH 09/40] cryptodev: remove unnecessary zero assignement Arek Kusztal
2022-05-20  7:13   ` [EXT] " Akhil Goyal
2022-05-20  5:54 ` [PATCH 10/40] cryptodev: remove comment about using ephemeral key in dsa Arek Kusztal
2022-05-20  5:54 ` [PATCH 11/40] cryptodev: remove asym crypto next xform Arek Kusztal
2022-05-20  7:22   ` [EXT] " Akhil Goyal
2022-05-24 11:12   ` Akhil Goyal
2022-05-24 14:47     ` Kusztal, ArkadiuszX
2022-05-25  6:06       ` Akhil Goyal
2022-05-25  6:36         ` Kusztal, ArkadiuszX
2022-05-25  7:05           ` Anoob Joseph
2022-05-27  6:30             ` Kusztal, ArkadiuszX
2022-05-27  6:40               ` Kusztal, ArkadiuszX
2022-05-27  6:55                 ` Kusztal, ArkadiuszX
2022-05-27  7:27                   ` Anoob Joseph
2022-05-27  7:47                     ` Kusztal, ArkadiuszX
2022-05-20  5:54 ` [PATCH 12/40] crypto/openssl: " Arek Kusztal
2022-05-20  5:54 ` [PATCH 13/40] test/crypto: " Arek Kusztal
2022-05-20  7:24   ` [EXT] " Akhil Goyal
2022-05-20  7:38     ` Kusztal, ArkadiuszX
2022-05-20  5:54 ` [PATCH 14/40] app/test-crypto-perf: " Arek Kusztal
2022-05-20  5:54 ` [PATCH 15/40] app/test-eventdev: " Arek Kusztal
2022-05-20  7:25   ` [EXT] " Akhil Goyal
2022-05-20  5:54 ` [PATCH 16/40] cryptodev: move dh type from xform to dh op Arek Kusztal
2022-05-24 11:52   ` [EXT] " Akhil Goyal
2022-05-20  5:54 ` [PATCH 17/40] crypto/openssl: " Arek Kusztal
2022-05-20  5:54 ` [PATCH 18/40] test/crypto: " Arek Kusztal
2022-05-20  5:54 ` [PATCH 19/40] cryptodev: changed order of dh fields Arek Kusztal
2022-05-20  5:54 ` [PATCH 20/40] cryptodev: add elliptic curve diffie hellman Arek Kusztal
2022-05-24 12:08   ` [EXT] " Akhil Goyal
2022-05-24 14:52     ` Kusztal, ArkadiuszX
2022-05-24 14:55       ` Kusztal, ArkadiuszX
2022-05-25  6:02         ` Akhil Goyal
2022-05-25  6:33           ` Kusztal, ArkadiuszX
2022-05-20  5:54 ` [PATCH 21/40] cryptodev: add public key verify option Arek Kusztal
2022-05-24 12:12   ` [EXT] " Akhil Goyal
2022-05-24 14:59     ` Kusztal, ArkadiuszX
2022-05-25  6:00       ` Akhil Goyal
2022-05-25  6:30         ` Kusztal, ArkadiuszX
2022-05-20  5:54 ` [PATCH 22/40] cryptodev: move RSA padding into separate struct Arek Kusztal
2022-05-20  5:54 ` [PATCH 23/40] crypto/qat: " Arek Kusztal
2022-05-20  5:54 ` [PATCH 24/40] crypto/openssl: " Arek Kusztal
2022-05-20  5:54 ` [PATCH 25/40] crypto/octeontx: " Arek Kusztal
2022-05-20  5:54 ` [PATCH 26/40] crypto/cnxk: " Arek Kusztal
2022-05-20  5:54 ` [PATCH 27/40] common/cpt: " Arek Kusztal
2022-05-20  5:54 ` [PATCH 28/40] test/crypto: " Arek Kusztal
2022-05-20  5:54 ` [PATCH 29/40] cryptodev: add salt length and optional label Arek Kusztal
2022-05-24 12:30   ` [EXT] " Akhil Goyal
2022-05-24 15:14     ` Kusztal, ArkadiuszX
2022-05-25  5:57       ` Akhil Goyal [this message]
2022-05-20  5:54 ` [PATCH 30/40] cryptodev: reduce rsa struct to only necessary fields Arek Kusztal
2022-05-24 12:52   ` [EXT] " Akhil Goyal
2022-05-24 15:33     ` Kusztal, ArkadiuszX
2022-05-25  5:48       ` Akhil Goyal
2022-05-20  5:54 ` [PATCH 31/40] crypto/qat: " Arek Kusztal
2022-05-20  5:54 ` [PATCH 32/40] crypto/openssl: " Arek Kusztal
2022-05-20  5:54 ` [PATCH 33/40] crypto/octeontx: " Arek Kusztal
2022-05-20  5:54 ` [PATCH 34/40] crypto/cnxk: " Arek Kusztal
2022-05-20  5:54 ` [PATCH 35/40] common/cpt: " Arek Kusztal
2022-05-20  5:54 ` [PATCH 36/40] test/crypto: " Arek Kusztal
2022-05-20  5:54 ` [PATCH 37/40] cryptodev: add asym op flags Arek Kusztal
2022-05-20 12:07   ` [EXT] " Akhil Goyal
2022-05-20  5:54 ` [PATCH 38/40] cryptodev: clarify usage of private key in dh Arek Kusztal
2022-05-24 12:56   ` [EXT] " Akhil Goyal
2022-05-24 14:30     ` Kusztal, ArkadiuszX
2022-05-25  6:09       ` Akhil Goyal
2022-05-25  6:37         ` Kusztal, ArkadiuszX
2022-05-20  5:54 ` [PATCH 39/40] crypto/openssl: generate dh private key Arek Kusztal
2022-05-20  5:54 ` [PATCH 40/40] test/crypto: added test for dh priv key generation Arek Kusztal
2022-05-20  7:30 ` [EXT] [PATCH 00/40] cryptodev: rsa, dh, ecdh changes Akhil Goyal
2022-05-20  7:37   ` Kusztal, ArkadiuszX

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=CO6PR18MB4484765ED827F4CDD7900E1CD8D69@CO6PR18MB4484.namprd18.prod.outlook.com \
    --to=gakhil@marvell.com \
    --cc=anoobj@marvell.com \
    --cc=arkadiuszx.kusztal@intel.com \
    --cc=dev@dpdk.org \
    --cc=roy.fan.zhang@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.