[v2] cryptodev: rework mod exp and mod inv comments

Message ID 20190205181941.10484-1-arkadiuszx.kusztal@intel.com (mailing list archive)
State Superseded, archived
Delegated to: akhil goyal
Headers
Series [v2] cryptodev: rework mod exp and mod inv comments |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/mellanox-Performance-Testing success Performance Testing PASS
ci/intel-Performance-Testing success Performance Testing PASS

Commit Message

Arkadiusz Kusztal Feb. 5, 2019, 6:19 p.m. UTC
  This patch changes modular exponentiation and modular multiplicative
inverse API comments to make it more precise.

Signed-off-by: Arek Kusztal <arkadiuszx.kusztal@intel.com>
---
v2:
- grammar fixes

 lib/librte_cryptodev/rte_crypto_asym.h | 44 ++++++++++++++++++++++------------
 1 file changed, 29 insertions(+), 15 deletions(-)
  

Comments

Shally Verma Feb. 6, 2019, 5:07 a.m. UTC | #1
HI Arek,

Acked with minor feedback.

>-----Original Message-----
>From: Arek Kusztal <arkadiuszx.kusztal@intel.com>
>Sent: 05 February 2019 23:50
>To: dev@dpdk.org
>Cc: akhil.goyal@nxp.com; fiona.trahe@intel.com; shally.verma@caviumnetworks.com; sunila.sahu@caviumnetworks.com;
>ashish.gupta@caviumnetworks.com; umesh.kartha@caviumnetworks.com; Arek Kusztal <arkadiuszx.kusztal@intel.com>
>Subject: [PATCH v2] cryptodev: rework mod exp and mod inv comments
>
>External Email
>
>This patch changes modular exponentiation and modular multiplicative
>inverse API comments to make it more precise.
>
>Signed-off-by: Arek Kusztal <arkadiuszx.kusztal@intel.com>
>---
>v2:
>- grammar fixes
>
> lib/librte_cryptodev/rte_crypto_asym.h | 44 ++++++++++++++++++++++------------
> 1 file changed, 29 insertions(+), 15 deletions(-)
>
Acked-by: Shally Verma <shally.verma@marvell.com>

>diff --git a/lib/librte_cryptodev/rte_crypto_asym.h b/lib/librte_cryptodev/rte_crypto_asym.h
>index 5e185b2..9582ee3 100644
>--- a/lib/librte_cryptodev/rte_crypto_asym.h
>+++ b/lib/librte_cryptodev/rte_crypto_asym.h
>@@ -72,8 +72,8 @@ enum rte_crypto_asym_xform_type {
>         * Refer to rte_crypto_asym_op_type
>         */
>        RTE_CRYPTO_ASYM_XFORM_MODINV,
>-       /**< Modular Inverse
>-        * Perform Modulus inverse b^(-1) mod n
>+       /**< Modular Multiplicative Inverse
>+        * Perform Modular Multiplicative Inverse b^(-1) mod n
>         */
>        RTE_CRYPTO_ASYM_XFORM_MODEX,
>        /**< Modular Exponentiation
>@@ -233,29 +233,39 @@ struct rte_crypto_rsa_xform {
> struct rte_crypto_modex_xform {
>        rte_crypto_param modulus;
>        /**< modulus
>-        * Prime modulus of the modexp transform operation in octet-string
>-        * network byte order format.
>+        * Pointer to the modulus data for modexp transform operation
>+        * in octet-string network byte order format, any positive integer
>+        *
This statement looks incomplete. You can write it "it should be positive integer " but is it required to be mentioned? Coz input is array of uint8_t so assumption is it will be positive.

...
> struct rte_crypto_modinv_xform {
>        rte_crypto_param modulus;
>        /**<
>-        * Pointer to the prime modulus data for modular
>-        * inverse operation in octet-string network byte
>-        * order format.
>+        * Pointer to the modulus data for modular multiplicative inverse
>+        * operation in octet-string network byte order format,
>+        * positive integer
Same comment as above.

>+        *
>+        * In case this number is equal to zero the driver shall set
>+        * the crypto op status field to RTE_CRYPTO_OP_STATUS_ERROR
>+        *
>+        * This number shall be relatively prime to base
>+        * in corresponding Modular Multiplicative Inverse
>+        * rte_crypto_mod_op_param
>         */
> };
>
>@@ -317,14 +327,18 @@ struct rte_crypto_dsa_xform {
>
...

>2.1.0
  
Arkadiusz Kusztal Feb. 6, 2019, 9:33 a.m. UTC | #2
Hi Shally,

Thanks for your feedback.

> -----Original Message-----
> From: Shally Verma [mailto:shallyv@marvell.com]
> Sent: Wednesday, February 6, 2019 6:08 AM
> To: Kusztal, ArkadiuszX <arkadiuszx.kusztal@intel.com>; dev@dpdk.org
> Cc: akhil.goyal@nxp.com; Trahe, Fiona <fiona.trahe@intel.com>;
> sunila.sahu@caviumnetworks.com; ashish.gupta@caviumnetworks.com;
> umesh.kartha@caviumnetworks.com
> Subject: RE: [PATCH v2] cryptodev: rework mod exp and mod inv comments
> 
> HI Arek,
> 
> Acked with minor feedback.
> 
> >-----Original Message-----
> >From: Arek Kusztal <arkadiuszx.kusztal@intel.com>
> >Sent: 05 February 2019 23:50
> >To: dev@dpdk.org
> >Cc: akhil.goyal@nxp.com; fiona.trahe@intel.com;
> >shally.verma@caviumnetworks.com; sunila.sahu@caviumnetworks.com;
> >ashish.gupta@caviumnetworks.com; umesh.kartha@caviumnetworks.com;
> Arek
> >Kusztal <arkadiuszx.kusztal@intel.com>
> >Subject: [PATCH v2] cryptodev: rework mod exp and mod inv comments
> >
> >External Email
> >
> >This patch changes modular exponentiation and modular multiplicative
> >inverse API comments to make it more precise.
> >
> >Signed-off-by: Arek Kusztal <arkadiuszx.kusztal@intel.com>
> >---
> >v2:
> >- grammar fixes
> >
> > lib/librte_cryptodev/rte_crypto_asym.h | 44
> > ++++++++++++++++++++++------------
> > 1 file changed, 29 insertions(+), 15 deletions(-)
> >
> Acked-by: Shally Verma <shally.verma@marvell.com>
> 
> >diff --git a/lib/librte_cryptodev/rte_crypto_asym.h
> >b/lib/librte_cryptodev/rte_crypto_asym.h
> >index 5e185b2..9582ee3 100644
> >--- a/lib/librte_cryptodev/rte_crypto_asym.h
> >+++ b/lib/librte_cryptodev/rte_crypto_asym.h
> >@@ -72,8 +72,8 @@ enum rte_crypto_asym_xform_type {
> >         * Refer to rte_crypto_asym_op_type
> >         */
> >        RTE_CRYPTO_ASYM_XFORM_MODINV,
> >-       /**< Modular Inverse
> >-        * Perform Modulus inverse b^(-1) mod n
> >+       /**< Modular Multiplicative Inverse
> >+        * Perform Modular Multiplicative Inverse b^(-1) mod n
> >         */
> >        RTE_CRYPTO_ASYM_XFORM_MODEX,
> >        /**< Modular Exponentiation
> >@@ -233,29 +233,39 @@ struct rte_crypto_rsa_xform {  struct
> >rte_crypto_modex_xform {
> >        rte_crypto_param modulus;
> >        /**< modulus
> >-        * Prime modulus of the modexp transform operation in octet-string
> >-        * network byte order format.
> >+        * Pointer to the modulus data for modexp transform operation
> >+        * in octet-string network byte order format, any positive integer
> >+        *
> This statement looks incomplete. You can write it "it should be positive
> integer " but is it required to be mentioned? Coz input is array of uint8_t so
> assumption is it will be positive.
> 
Actually by this we meant that there is no constraint  (if should be prime, co-prime, semi-prime, multi-prime, less than... etc),
But yes this is only informational and probably could even be omitted

> ...
> > struct rte_crypto_modinv_xform {
> >        rte_crypto_param modulus;
> >        /**<
> >-        * Pointer to the prime modulus data for modular
> >-        * inverse operation in octet-string network byte
> >-        * order format.
> >+        * Pointer to the modulus data for modular multiplicative inverse
> >+        * operation in octet-string network byte order format,
> >+        * positive integer
> Same comment as above.
> 
> >+        *
> >+        * In case this number is equal to zero the driver shall set
> >+        * the crypto op status field to RTE_CRYPTO_OP_STATUS_ERROR
> >+        *
> >+        * This number shall be relatively prime to base
> >+        * in corresponding Modular Multiplicative Inverse
> >+        * rte_crypto_mod_op_param
> >         */
> > };
> >
> >@@ -317,14 +327,18 @@ struct rte_crypto_dsa_xform {
> >
> ...
> 
> >2.1.0
  
Shally Verma Feb. 6, 2019, 9:37 a.m. UTC | #3
>-----Original Message-----
>From: Kusztal, ArkadiuszX <arkadiuszx.kusztal@intel.com>
>Sent: 06 February 2019 15:04
>To: Shally Verma <shallyv@marvell.com>; dev@dpdk.org
>Cc: akhil.goyal@nxp.com; Trahe, Fiona <fiona.trahe@intel.com>; sunila.sahu@caviumnetworks.com;
>ashish.gupta@caviumnetworks.com; umesh.kartha@caviumnetworks.com
>Subject: [EXT] RE: [PATCH v2] cryptodev: rework mod exp and mod inv comments
>
>External Email
>
>----------------------------------------------------------------------
>Hi Shally,
>
>Thanks for your feedback.
>
>> -----Original Message-----
>> From: Shally Verma [mailto:shallyv@marvell.com]
>> Sent: Wednesday, February 6, 2019 6:08 AM
>> To: Kusztal, ArkadiuszX <arkadiuszx.kusztal@intel.com>; dev@dpdk.org
>> Cc: akhil.goyal@nxp.com; Trahe, Fiona <fiona.trahe@intel.com>;
>> sunila.sahu@caviumnetworks.com; ashish.gupta@caviumnetworks.com;
>> umesh.kartha@caviumnetworks.com
>> Subject: RE: [PATCH v2] cryptodev: rework mod exp and mod inv comments
>>
>> HI Arek,
>>
>> Acked with minor feedback.
>>
>> >-----Original Message-----
>> >From: Arek Kusztal <arkadiuszx.kusztal@intel.com>
>> >Sent: 05 February 2019 23:50
>> >To: dev@dpdk.org
>> >Cc: akhil.goyal@nxp.com; fiona.trahe@intel.com;
>> >shally.verma@caviumnetworks.com; sunila.sahu@caviumnetworks.com;
>> >ashish.gupta@caviumnetworks.com; umesh.kartha@caviumnetworks.com;
>> Arek
>> >Kusztal <arkadiuszx.kusztal@intel.com>
>> >Subject: [PATCH v2] cryptodev: rework mod exp and mod inv comments
>> >
>> >External Email
>> >
>> >This patch changes modular exponentiation and modular multiplicative
>> >inverse API comments to make it more precise.
>> >
>> >Signed-off-by: Arek Kusztal <arkadiuszx.kusztal@intel.com>
>> >---
>> >v2:
>> >- grammar fixes
>> >
>> > lib/librte_cryptodev/rte_crypto_asym.h | 44
>> > ++++++++++++++++++++++------------
>> > 1 file changed, 29 insertions(+), 15 deletions(-)
>> >
>> Acked-by: Shally Verma <shally.verma@marvell.com>
>>
>> >diff --git a/lib/librte_cryptodev/rte_crypto_asym.h
>> >b/lib/librte_cryptodev/rte_crypto_asym.h
>> >index 5e185b2..9582ee3 100644
>> >--- a/lib/librte_cryptodev/rte_crypto_asym.h
>> >+++ b/lib/librte_cryptodev/rte_crypto_asym.h
>> >@@ -72,8 +72,8 @@ enum rte_crypto_asym_xform_type {
>> >         * Refer to rte_crypto_asym_op_type
>> >         */
>> >        RTE_CRYPTO_ASYM_XFORM_MODINV,
>> >-       /**< Modular Inverse
>> >-        * Perform Modulus inverse b^(-1) mod n
>> >+       /**< Modular Multiplicative Inverse
>> >+        * Perform Modular Multiplicative Inverse b^(-1) mod n
>> >         */
>> >        RTE_CRYPTO_ASYM_XFORM_MODEX,
>> >        /**< Modular Exponentiation
>> >@@ -233,29 +233,39 @@ struct rte_crypto_rsa_xform {  struct
>> >rte_crypto_modex_xform {
>> >        rte_crypto_param modulus;
>> >        /**< modulus
>> >-        * Prime modulus of the modexp transform operation in octet-string
>> >-        * network byte order format.
>> >+        * Pointer to the modulus data for modexp transform operation
>> >+        * in octet-string network byte order format, any positive integer
>> >+        *
>> This statement looks incomplete. You can write it "it should be positive
>> integer " but is it required to be mentioned? Coz input is array of uint8_t so
>> assumption is it will be positive.
>>
>Actually by this we meant that there is no constraint  (if should be prime, co-prime, semi-prime, multi-prime, less than... etc),
>But yes this is only informational and probably could even be omitted
So, will you be re-wording these comments for better clarity?

Thanks
Shally
>
>> ...
>> > struct rte_crypto_modinv_xform {
>> >        rte_crypto_param modulus;
>> >        /**<
>> >-        * Pointer to the prime modulus data for modular
>> >-        * inverse operation in octet-string network byte
>> >-        * order format.
>> >+        * Pointer to the modulus data for modular multiplicative inverse
>> >+        * operation in octet-string network byte order format,
>> >+        * positive integer
>> Same comment as above.
>>
>> >+        *
>> >+        * In case this number is equal to zero the driver shall set
>> >+        * the crypto op status field to RTE_CRYPTO_OP_STATUS_ERROR
>> >+        *
>> >+        * This number shall be relatively prime to base
>> >+        * in corresponding Modular Multiplicative Inverse
>> >+        * rte_crypto_mod_op_param
>> >         */
>> > };
>> >
>> >@@ -317,14 +327,18 @@ struct rte_crypto_dsa_xform {
>> >
>> ...
>>
>> >2.1.0
  
Arkadiusz Kusztal Feb. 6, 2019, 10 a.m. UTC | #4
> -----Original Message-----
> From: Shally Verma [mailto:shallyv@marvell.com]
> Sent: Wednesday, February 6, 2019 10:38 AM
> To: Kusztal, ArkadiuszX <arkadiuszx.kusztal@intel.com>; dev@dpdk.org
> Cc: akhil.goyal@nxp.com; Trahe, Fiona <fiona.trahe@intel.com>;
> sunila.sahu@caviumnetworks.com; ashish.gupta@caviumnetworks.com;
> umesh.kartha@caviumnetworks.com
> Subject: RE: [PATCH v2] cryptodev: rework mod exp and mod inv comments
> 
> 
> 
> >-----Original Message-----
> >From: Kusztal, ArkadiuszX <arkadiuszx.kusztal@intel.com>
> >Sent: 06 February 2019 15:04
> >To: Shally Verma <shallyv@marvell.com>; dev@dpdk.org
> >Cc: akhil.goyal@nxp.com; Trahe, Fiona <fiona.trahe@intel.com>;
> >sunila.sahu@caviumnetworks.com; ashish.gupta@caviumnetworks.com;
> >umesh.kartha@caviumnetworks.com
> >Subject: [EXT] RE: [PATCH v2] cryptodev: rework mod exp and mod inv
> >comments
> >
> >External Email
> >
> >----------------------------------------------------------------------
> >Hi Shally,
> >
> >Thanks for your feedback.
> >
> >> -----Original Message-----
> >> From: Shally Verma [mailto:shallyv@marvell.com]
> >> Sent: Wednesday, February 6, 2019 6:08 AM
> >> To: Kusztal, ArkadiuszX <arkadiuszx.kusztal@intel.com>; dev@dpdk.org
> >> Cc: akhil.goyal@nxp.com; Trahe, Fiona <fiona.trahe@intel.com>;
> >> sunila.sahu@caviumnetworks.com; ashish.gupta@caviumnetworks.com;
> >> umesh.kartha@caviumnetworks.com
> >> Subject: RE: [PATCH v2] cryptodev: rework mod exp and mod inv
> >> comments
> >>
> >> HI Arek,
> >>
> >> Acked with minor feedback.
> >>
> >> >-----Original Message-----
> >> >From: Arek Kusztal <arkadiuszx.kusztal@intel.com>
> >> >Sent: 05 February 2019 23:50
> >> >To: dev@dpdk.org
> >> >Cc: akhil.goyal@nxp.com; fiona.trahe@intel.com;
> >> >shally.verma@caviumnetworks.com; sunila.sahu@caviumnetworks.com;
> >> >ashish.gupta@caviumnetworks.com;
> umesh.kartha@caviumnetworks.com;
> >> Arek
> >> >Kusztal <arkadiuszx.kusztal@intel.com>
> >> >Subject: [PATCH v2] cryptodev: rework mod exp and mod inv comments
> >> >
> >> >External Email
> >> >
> >> >This patch changes modular exponentiation and modular multiplicative
> >> >inverse API comments to make it more precise.
> >> >
> >> >Signed-off-by: Arek Kusztal <arkadiuszx.kusztal@intel.com>
> >> >---
> >> >v2:
> >> >- grammar fixes
> >> >
> >> > lib/librte_cryptodev/rte_crypto_asym.h | 44
> >> > ++++++++++++++++++++++------------
> >> > 1 file changed, 29 insertions(+), 15 deletions(-)
> >> >
> >> Acked-by: Shally Verma <shally.verma@marvell.com>
> >>
> >> >diff --git a/lib/librte_cryptodev/rte_crypto_asym.h
> >> >b/lib/librte_cryptodev/rte_crypto_asym.h
> >> >index 5e185b2..9582ee3 100644
> >> >--- a/lib/librte_cryptodev/rte_crypto_asym.h
> >> >+++ b/lib/librte_cryptodev/rte_crypto_asym.h
> >> >@@ -72,8 +72,8 @@ enum rte_crypto_asym_xform_type {
> >> >         * Refer to rte_crypto_asym_op_type
> >> >         */
> >> >        RTE_CRYPTO_ASYM_XFORM_MODINV,
> >> >-       /**< Modular Inverse
> >> >-        * Perform Modulus inverse b^(-1) mod n
> >> >+       /**< Modular Multiplicative Inverse
> >> >+        * Perform Modular Multiplicative Inverse b^(-1) mod n
> >> >         */
> >> >        RTE_CRYPTO_ASYM_XFORM_MODEX,
> >> >        /**< Modular Exponentiation
> >> >@@ -233,29 +233,39 @@ struct rte_crypto_rsa_xform {  struct
> >> >rte_crypto_modex_xform {
> >> >        rte_crypto_param modulus;
> >> >        /**< modulus
> >> >-        * Prime modulus of the modexp transform operation in octet-string
> >> >-        * network byte order format.
> >> >+        * Pointer to the modulus data for modexp transform operation
> >> >+        * in octet-string network byte order format, any positive integer
> >> >+        *
> >> This statement looks incomplete. You can write it "it should be
> >> positive integer " but is it required to be mentioned? Coz input is
> >> array of uint8_t so assumption is it will be positive.
> >>
> >Actually by this we meant that there is no constraint  (if should be
> >prime, co-prime, semi-prime, multi-prime, less than... etc), But yes
> >this is only informational and probably could even be omitted
> So, will you be re-wording these comments for better clarity?
> 
> Thanks
> Shally

Yes, I will remove "positive integer"

> >
> >> ...
> >> > struct rte_crypto_modinv_xform {
> >> >        rte_crypto_param modulus;
> >> >        /**<
> >> >-        * Pointer to the prime modulus data for modular
> >> >-        * inverse operation in octet-string network byte
> >> >-        * order format.
> >> >+        * Pointer to the modulus data for modular multiplicative inverse
> >> >+        * operation in octet-string network byte order format,
> >> >+        * positive integer
> >> Same comment as above.
> >>
> >> >+        *
> >> >+        * In case this number is equal to zero the driver shall set
> >> >+        * the crypto op status field to RTE_CRYPTO_OP_STATUS_ERROR
> >> >+        *
> >> >+        * This number shall be relatively prime to base
> >> >+        * in corresponding Modular Multiplicative Inverse
> >> >+        * rte_crypto_mod_op_param
> >> >         */
> >> > };
> >> >
> >> >@@ -317,14 +327,18 @@ struct rte_crypto_dsa_xform {
> >> >
> >> ...
> >>
> >> >2.1.0
  

Patch

diff --git a/lib/librte_cryptodev/rte_crypto_asym.h b/lib/librte_cryptodev/rte_crypto_asym.h
index 5e185b2..9582ee3 100644
--- a/lib/librte_cryptodev/rte_crypto_asym.h
+++ b/lib/librte_cryptodev/rte_crypto_asym.h
@@ -72,8 +72,8 @@  enum rte_crypto_asym_xform_type {
 	 * Refer to rte_crypto_asym_op_type
 	 */
 	RTE_CRYPTO_ASYM_XFORM_MODINV,
-	/**< Modular Inverse
-	 * Perform Modulus inverse b^(-1) mod n
+	/**< Modular Multiplicative Inverse
+	 * Perform Modular Multiplicative Inverse b^(-1) mod n
 	 */
 	RTE_CRYPTO_ASYM_XFORM_MODEX,
 	/**< Modular Exponentiation
@@ -233,29 +233,39 @@  struct rte_crypto_rsa_xform {
 struct rte_crypto_modex_xform {
 	rte_crypto_param modulus;
 	/**< modulus
-	 * Prime modulus of the modexp transform operation in octet-string
-	 * network byte order format.
+	 * Pointer to the modulus data for modexp transform operation
+	 * in octet-string network byte order format, any positive integer
+	 *
+	 * In case this number is equal to zero the driver shall set
+	 * the crypto op status field to RTE_CRYPTO_OP_STATUS_ERROR
 	 */
 
 	rte_crypto_param exponent;
 	/**< exponent
-	 * Private exponent of the modexp transform operation in
-	 * octet-string network byte order format.
+	 * Exponent of the modexp transform operation in
+	 * octet-string network byte order format
 	 */
 };
 
 /**
- * Asymmetric modular inverse transform operation
+ * Asymmetric modular multiplicative inverse transform operation
  *
- * Structure describing modulus inverse xform params
+ * Structure describing modular multiplicative inverse transform
  *
  */
 struct rte_crypto_modinv_xform {
 	rte_crypto_param modulus;
 	/**<
-	 * Pointer to the prime modulus data for modular
-	 * inverse operation in octet-string network byte
-	 * order format.
+	 * Pointer to the modulus data for modular multiplicative inverse
+	 * operation in octet-string network byte order format,
+	 * positive integer
+	 *
+	 * In case this number is equal to zero the driver shall set
+	 * the crypto op status field to RTE_CRYPTO_OP_STATUS_ERROR
+	 *
+	 * This number shall be relatively prime to base
+	 * in corresponding Modular Multiplicative Inverse
+	 * rte_crypto_mod_op_param
 	 */
 };
 
@@ -317,14 +327,18 @@  struct rte_crypto_dsa_xform {
 
 /**
  * Operations params for modular operations:
- * exponentiation and invert
+ * exponentiation and multiplicative inverse
  *
  */
 struct rte_crypto_mod_op_param {
 	rte_crypto_param base;
 	/**<
-	 * Pointer to base of modular exponentiation/inversion data in
-	 * Octet-string network byte order format.
+	 * Pointer to base of modular exponentiation/multiplicative
+	 * inverse data in octet-string network byte order format.
+	 *
+	 * In case Multiplicative Inverse is used this number shall
+	 * be relatively prime to modulus in corresponding Modular
+	 * Multiplicative Inverse rte_crypto_modinv_xform
 	 */
 };
 
@@ -348,7 +362,7 @@  struct rte_crypto_asym_xform {
 		/**< Modular Exponentiation xform parameters */
 
 		struct rte_crypto_modinv_xform modinv;
-		/**< Modulus Inverse xform parameters */
+		/**< Modular Multiplicative Inverse xform parameters */
 
 		struct rte_crypto_dh_xform dh;
 		/**< DH xform parameters */