> -----Original Message-----
> From: Shally Verma [mailto:shal...@marvell.com]
> Sent: Wednesday, July 17, 2019 12:18 PM
> To: Kusztal, ArkadiuszX <arkadiuszx.kusz...@intel.com>; dev@dpdk.org
> Cc: akhil.go...@nxp.com; Trahe, Fiona <fiona.tr...@intel.com>
> Subject: RE: [EXT] [PATCH v3 09/11] cryptodev: add RSA padding none
> description
> 
> 
> 
> > -----Original Message-----
> > From: Arek Kusztal <arkadiuszx.kusz...@intel.com>
> > Sent: Wednesday, July 17, 2019 12:23 AM
> > To: dev@dpdk.org
> > Cc: akhil.go...@nxp.com; fiona.tr...@intel.com; Shally Verma
> > <shal...@marvell.com>; Arek Kusztal <arkadiuszx.kusz...@intel.com>
> > Subject: [EXT] [PATCH v3 09/11] cryptodev: add RSA padding none
> > description
> >
> > External Email
> >
> > ----------------------------------------------------------------------
> > This patch adds RSA padding none description.
> >
> > Signed-off-by: Arek Kusztal <arkadiuszx.kusz...@intel.com>
> > ---
> >  lib/librte_cryptodev/rte_crypto_asym.h | 10 +++++++++-
> >  1 file changed, 9 insertions(+), 1 deletion(-)
> >
> > diff --git a/lib/librte_cryptodev/rte_crypto_asym.h
> > b/lib/librte_cryptodev/rte_crypto_asym.h
> > index 5026042..7f630f0 100644
> > --- a/lib/librte_cryptodev/rte_crypto_asym.h
> > +++ b/lib/librte_cryptodev/rte_crypto_asym.h
> > @@ -90,7 +90,10 @@ enum rte_crypto_asym_xform_type {
> >   */
> >  enum rte_crypto_asym_op_type {
> >     RTE_CRYPTO_ASYM_OP_ENCRYPT,
> > -   /**< Asymmetric Encrypt operation */
> > +   /**< RSA no padding scheme.
> > +    * In this case user is responsible for provision and verification
> > +    * of padding.
> > +    */
> >     RTE_CRYPTO_ASYM_OP_DECRYPT,
> >     /**< Asymmetric Decrypt operation */
> >     RTE_CRYPTO_ASYM_OP_SIGN,
> > @@ -409,6 +412,11 @@ struct rte_crypto_rsa_op_param {
> >      * - padding PSS
> >      * data provided should contain message digest of the message
> >      * to be signed
> > +    *
> > +    * When padding field is set to RTE_CRYPTO_RSA_PADDING_NONE
> > +    * and RTE_CRYPTO_ASYM_OP_DECRYPT op_type used returned
> > data size
> > +    * will be equal to the size of RSA key in bytes. All leading
> > +    * zeroes will be preserved.
> [Shally] its bit unclear here. So, app is supposed to pass buffer with padding
> removed or padding intact? Are leading 0's padding bytes?
> If so, I believe app can use any kind of padding, BT2 or OAEP so it does not
> have to be necessarily 0. Or May be I am missing some info here. Could you
> point me to source which says, for padding none, data will always be padded
> with leading 0s?
> 
OEAP, PKCS1_5 have leading zero.
Example:
We decrypt message that was encrypted using pkcs1_5 padding but we use 
PADDING_NONE (let say pmd does not support others). We decrypted P = (0x0 | 
0x02 | PS| 0x0 | Message) then user would use some padding check function  let 
say openssl RSA_padding_check_PKCS1_type_2. This function will fail if first 
byte (p[0]) is not equal to zero. So we cannot trim. Openssl behaves exactly 
this way so does our driver. It is only hint that zeroes should not be trimmed.

> >      */
> >
> >
> > --
> > 2.1.0

Reply via email to