DPDK patches and discussions
 help / color / Atom feed
* [dpdk-dev] [PATCH] cryptodev: add chacha20-poly1305 aead algorithm
@ 2019-11-29  6:57 Arek Kusztal
  2019-11-29 11:02 ` Trahe, Fiona
  0 siblings, 1 reply; 2+ messages in thread
From: Arek Kusztal @ 2019-11-29  6:57 UTC (permalink / raw)
  To: dev; +Cc: akhil.goyal, fiona.trahe, Arek Kusztal

This patch adds Chacha20-Poly1305 AEAD algorithm to Cryptodev.

Signed-off-by: Arek Kusztal <arkadiuszx.kusztal@intel.com>
---
 doc/guides/cryptodevs/features/default.ini | 13 +++++++------
 doc/guides/rel_notes/release_19_11.rst     |  4 ++++
 lib/librte_cryptodev/rte_crypto_sym.h      |  9 +++++++++
 3 files changed, 20 insertions(+), 6 deletions(-)

diff --git a/doc/guides/cryptodevs/features/default.ini b/doc/guides/cryptodevs/features/default.ini
index b7f9a0a..2a3ff48 100644
--- a/doc/guides/cryptodevs/features/default.ini
+++ b/doc/guides/cryptodevs/features/default.ini
@@ -93,12 +93,13 @@ SHA3_512 HMAC   =
 ; Supported AEAD algorithms of a default crypto driver.
 ;
 [AEAD]
-AES GCM (128) =
-AES GCM (192) =
-AES GCM (256) =
-AES CCM (128) =
-AES CCM (192) =
-AES CCM (256) =
+AES GCM (128)     =
+AES GCM (192)     =
+AES GCM (256)     =
+AES CCM (128)     =
+AES CCM (192)     =
+AES CCM (256)     =
+CHACHA20-POLY1305 =
 ;
 ; Supported Asymmetric algorithms of a default crypto driver.
 ;
diff --git a/doc/guides/rel_notes/release_19_11.rst b/doc/guides/rel_notes/release_19_11.rst
index 48c80e5..d07a396 100644
--- a/doc/guides/rel_notes/release_19_11.rst
+++ b/doc/guides/rel_notes/release_19_11.rst
@@ -315,6 +315,10 @@ New Features
     "--iova-mode=pa" option can be used, IOVA_DC bus iommu scheme can also
     result in IOVA as PA.
 
+* **Added Chacha20-Poly1305 algorithm to Cryptodev API.**
+
+  Chacha20-Poly1305 AEAD algorithm can now be supported in Cryptodev.
+
 
 Removed Items
 -------------
diff --git a/lib/librte_cryptodev/rte_crypto_sym.h b/lib/librte_cryptodev/rte_crypto_sym.h
index ffa038d..bc356f6 100644
--- a/lib/librte_cryptodev/rte_crypto_sym.h
+++ b/lib/librte_cryptodev/rte_crypto_sym.h
@@ -348,6 +348,8 @@ enum rte_crypto_aead_algorithm {
 	/**< AES algorithm in CCM mode. */
 	RTE_CRYPTO_AEAD_AES_GCM,
 	/**< AES algorithm in GCM mode. */
+	RTE_CRYPTO_AEAD_CHACHA20_POLY1305,
+	/**< Chacha20 cipher with poly1305 authenticator */
 	RTE_CRYPTO_AEAD_LIST_END
 };
 
@@ -391,6 +393,11 @@ struct rte_crypto_aead_xform {
 		 * be allocated, even though the length field will
 		 * have a value less than this.
 		 *
+		 * - For Chacha20-Poly1305 it is 96-bit nonce.
+		 * PMD sets initial counter for Poly1305 key generation
+		 * part to 0 and for Chacha20 encryption to 1 as per
+		 * rfc8439 2.8. AEAD construction.
+		 *
 		 * For optimum performance, the data pointed to SHOULD
 		 * be 8-byte aligned.
 		 */
@@ -407,6 +414,8 @@ struct rte_crypto_aead_xform {
 		 *
 		 * - For CCM mode, this is the length of the nonce,
 		 * which can be in the range 7 to 13 inclusive.
+		 *
+		 * - For Chacha20-Poly1305 this field is always 12.
 		 */
 	} iv;	/**< Initialisation vector parameters */
 
-- 
2.1.0


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [dpdk-dev] [PATCH] cryptodev: add chacha20-poly1305 aead algorithm
  2019-11-29  6:57 [dpdk-dev] [PATCH] cryptodev: add chacha20-poly1305 aead algorithm Arek Kusztal
@ 2019-11-29 11:02 ` Trahe, Fiona
  0 siblings, 0 replies; 2+ messages in thread
From: Trahe, Fiona @ 2019-11-29 11:02 UTC (permalink / raw)
  To: Kusztal, ArkadiuszX, dev; +Cc: akhil.goyal, Mcnamara, John, Trahe, Fiona

Hi Akhil, 
doc question below

> -----Original Message-----
> From: Kusztal, ArkadiuszX <arkadiuszx.kusztal@intel.com>
> Sent: Friday, November 29, 2019 6:58 AM
> To: dev@dpdk.org
> Cc: akhil.goyal@nxp.com; Trahe, Fiona <fiona.trahe@intel.com>; Kusztal, ArkadiuszX
> <arkadiuszx.kusztal@intel.com>
> Subject: [PATCH] cryptodev: add chacha20-poly1305 aead algorithm
> 
> This patch adds Chacha20-Poly1305 AEAD algorithm to Cryptodev.
> 
> Signed-off-by: Arek Kusztal <arkadiuszx.kusztal@intel.com>
> ---
>  doc/guides/cryptodevs/features/default.ini | 13 +++++++------
>  doc/guides/rel_notes/release_19_11.rst     |  4 ++++
>  lib/librte_cryptodev/rte_crypto_sym.h      |  9 +++++++++
>  3 files changed, 20 insertions(+), 6 deletions(-)
> 
> diff --git a/doc/guides/cryptodevs/features/default.ini b/doc/guides/cryptodevs/features/default.ini
> index b7f9a0a..2a3ff48 100644
> --- a/doc/guides/cryptodevs/features/default.ini
> +++ b/doc/guides/cryptodevs/features/default.ini
> @@ -93,12 +93,13 @@ SHA3_512 HMAC   =
>  ; Supported AEAD algorithms of a default crypto driver.
>  ;
>  [AEAD]
> -AES GCM (128) =
> -AES GCM (192) =
> -AES GCM (256) =
> -AES CCM (128) =
> -AES CCM (192) =
> -AES CCM (256) =
> +AES GCM (128)     =
> +AES GCM (192)     =
> +AES GCM (256)     =
> +AES CCM (128)     =
> +AES CCM (192)     =
> +AES CCM (256)     =
> +CHACHA20-POLY1305 =
>  ;
>  ; Supported Asymmetric algorithms of a default crypto driver.
>  ;
> diff --git a/doc/guides/rel_notes/release_19_11.rst b/doc/guides/rel_notes/release_19_11.rst
> index 48c80e5..d07a396 100644
> --- a/doc/guides/rel_notes/release_19_11.rst
> +++ b/doc/guides/rel_notes/release_19_11.rst
> @@ -315,6 +315,10 @@ New Features
>      "--iova-mode=pa" option can be used, IOVA_DC bus iommu scheme can also
>      result in IOVA as PA.
> 
> +* **Added Chacha20-Poly1305 algorithm to Cryptodev API.**
> +
> +  Chacha20-Poly1305 AEAD algorithm can now be supported in Cryptodev.
> +
[Fiona] This is targeting 20.02 but there's no release note file available yet, so temporarily putting in the 19.11 file.
In future can we get the release note file created earlier in the cycle? Maybe after the rc2 of previous release?
This would enable earlier pushing of patches and avoid respins

> 
>  Removed Items
>  -------------
> diff --git a/lib/librte_cryptodev/rte_crypto_sym.h b/lib/librte_cryptodev/rte_crypto_sym.h
> index ffa038d..bc356f6 100644
> --- a/lib/librte_cryptodev/rte_crypto_sym.h
> +++ b/lib/librte_cryptodev/rte_crypto_sym.h
> @@ -348,6 +348,8 @@ enum rte_crypto_aead_algorithm {
>  	/**< AES algorithm in CCM mode. */
>  	RTE_CRYPTO_AEAD_AES_GCM,
>  	/**< AES algorithm in GCM mode. */
> +	RTE_CRYPTO_AEAD_CHACHA20_POLY1305,
> +	/**< Chacha20 cipher with poly1305 authenticator */
>  	RTE_CRYPTO_AEAD_LIST_END
>  };
> 
> @@ -391,6 +393,11 @@ struct rte_crypto_aead_xform {
>  		 * be allocated, even though the length field will
>  		 * have a value less than this.
>  		 *
> +		 * - For Chacha20-Poly1305 it is 96-bit nonce.
> +		 * PMD sets initial counter for Poly1305 key generation
> +		 * part to 0 and for Chacha20 encryption to 1 as per
> +		 * rfc8439 2.8. AEAD construction.
> +		 *
>  		 * For optimum performance, the data pointed to SHOULD
>  		 * be 8-byte aligned.
>  		 */
> @@ -407,6 +414,8 @@ struct rte_crypto_aead_xform {
>  		 *
>  		 * - For CCM mode, this is the length of the nonce,
>  		 * which can be in the range 7 to 13 inclusive.
> +		 *
> +		 * - For Chacha20-Poly1305 this field is always 12.
>  		 */
>  	} iv;	/**< Initialisation vector parameters */
> 
> --
> 2.1.0
[Fiona] Apart from doc comment above
Acked-by: <fiona.trahe@intel.com>


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, back to index

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-29  6:57 [dpdk-dev] [PATCH] cryptodev: add chacha20-poly1305 aead algorithm Arek Kusztal
2019-11-29 11:02 ` Trahe, Fiona

DPDK patches and discussions

Archives are clonable:
	git clone --mirror http://inbox.dpdk.org/dev/0 dev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dev dev/ http://inbox.dpdk.org/dev \
		dev@dpdk.org
	public-inbox-index dev


Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.dev


AGPL code for this site: git clone https://public-inbox.org/ public-inbox