[dpdk-dev] [PATCH] cryptodev: add chacha20-poly1305 aead algorithm
Trahe, Fiona
fiona.trahe at intel.com
Fri Nov 29 12:02:30 CET 2019
Hi Akhil,
doc question below
> -----Original Message-----
> From: Kusztal, ArkadiuszX <arkadiuszx.kusztal at intel.com>
> Sent: Friday, November 29, 2019 6:58 AM
> To: dev at dpdk.org
> Cc: akhil.goyal at nxp.com; Trahe, Fiona <fiona.trahe at intel.com>; Kusztal, ArkadiuszX
> <arkadiuszx.kusztal at 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 at 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 at intel.com>
More information about the dev
mailing list