linux/drivers/crypto/caam
Eric Biggers 1ca1b91794 crypto: chacha20-generic - refactor to allow varying number of rounds
In preparation for adding XChaCha12 support, rename/refactor
chacha20-generic to support different numbers of rounds.  The
justification for needing XChaCha12 support is explained in more detail
in the patch "crypto: chacha - add XChaCha12 support".

The only difference between ChaCha{8,12,20} are the number of rounds
itself; all other parts of the algorithm are the same.  Therefore,
remove the "20" from all definitions, structures, functions, files, etc.
that will be shared by all ChaCha versions.

Also make ->setkey() store the round count in the chacha_ctx (previously
chacha20_ctx).  The generic code then passes the round count through to
chacha_block().  There will be a ->setkey() function for each explicitly
allowed round count; the encrypt/decrypt functions will be the same.  I
decided not to do it the opposite way (same ->setkey() function for all
round counts, with different encrypt/decrypt functions) because that
would have required more boilerplate code in architecture-specific
implementations of ChaCha and XChaCha.

Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Acked-by: Martin Willi <martin@strongswan.org>
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2018-11-20 14:26:55 +08:00
..
caamalg_desc.c crypto: caam/qi2 - add support for Chacha20 + Poly1305 2018-11-16 14:11:03 +08:00
caamalg_desc.h crypto: caam/qi2 - add support for Chacha20 + Poly1305 2018-11-16 14:11:03 +08:00
caamalg_qi2.c crypto: chacha20-generic - refactor to allow varying number of rounds 2018-11-20 14:26:55 +08:00
caamalg_qi2.h crypto: caam/qi2 - add support for ahash algorithms 2018-09-21 13:24:51 +08:00
caamalg_qi.c crypto: caam - add register map changes cf. Era 10 2018-11-16 14:11:03 +08:00
caamalg.c crypto: chacha20-generic - refactor to allow varying number of rounds 2018-11-20 14:26:55 +08:00
caamhash_desc.c crypto: caam - export ahash shared descriptor generation 2018-09-21 13:24:51 +08:00
caamhash_desc.h crypto: caam - export ahash shared descriptor generation 2018-09-21 13:24:51 +08:00
caamhash.c crypto: caam - add register map changes cf. Era 10 2018-11-16 14:11:03 +08:00
caampkc.c crypto: caam - add register map changes cf. Era 10 2018-11-16 14:11:03 +08:00
caampkc.h crypto: caam - strip input zeros from RSA input buffer 2018-04-21 00:59:03 +08:00
caamrng.c crypto: caam - add register map changes cf. Era 10 2018-11-16 14:11:03 +08:00
compat.h crypto: chacha20-generic - refactor to allow varying number of rounds 2018-11-20 14:26:55 +08:00
ctrl.c crypto: caam - add register map changes cf. Era 10 2018-11-16 14:11:03 +08:00
ctrl.h crypto: caam - staticize caam_get_era() 2018-04-21 00:58:36 +08:00
desc_constr.h crypto: caam/jr - add support for Chacha20 + Poly1305 2018-11-16 14:11:03 +08:00
desc.h crypto: caam/jr - add support for Chacha20 + Poly1305 2018-11-16 14:11:03 +08:00
dpseci_cmd.h crypto: caam - add DPAA2-CAAM (DPSECI) backend API 2018-09-21 13:24:51 +08:00
dpseci.c crypto: caam - add DPAA2-CAAM (DPSECI) backend API 2018-09-21 13:24:51 +08:00
dpseci.h crypto: caam - add DPAA2-CAAM (DPSECI) backend API 2018-09-21 13:24:51 +08:00
error.c crypto: caam/qi2 - add DPAA2-CAAM driver 2018-09-21 13:24:51 +08:00
error.h crypto: caam - add Queue Interface v2 error codes 2018-09-21 13:24:51 +08:00
intern.h crypto: caam - fix MC firmware detection 2018-05-31 00:13:46 +08:00
jr.c crypto: caam - add SPDX license identifier to all files 2018-10-17 14:16:18 +08:00
jr.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
Kconfig crypto: caam - add SPDX license identifier to all files 2018-10-17 14:16:18 +08:00
key_gen.c crypto: caam - add Derived Key Protocol (DKP) support 2017-12-28 17:56:48 +11:00
key_gen.h crypto: caam - add Derived Key Protocol (DKP) support 2017-12-28 17:56:48 +11:00
Makefile crypto: caam - export ahash shared descriptor generation 2018-09-21 13:24:51 +08:00
pdb.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
pkc_desc.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
qi.c crypto: caam/qi - simplify CGR allocation, freeing 2018-10-17 14:14:46 +08:00
qi.h crypto: caam/qi - simplify CGR allocation, freeing 2018-10-17 14:14:46 +08:00
regs.h crypto: caam - add register map changes cf. Era 10 2018-11-16 14:11:03 +08:00
sg_sw_qm2.h crypto: caam - add SPDX license identifier to all files 2018-10-17 14:16:18 +08:00
sg_sw_qm.h crypto: caam - add SPDX license identifier to all files 2018-10-17 14:16:18 +08:00
sg_sw_sec4.h staging: fsl-mc: Move DPIO from staging to drivers/soc/fsl 2018-07-24 16:18:55 -05:00