openssl/providers
Daniel Hu 26efd0b377 Further acceleration for SM4-GCM on ARM
This patch will allow the SM4-GCM function to leverage the SM4
high-performance CTR crypto interface already implemented for ARM,
which is faster than current single block cipher routine used
for GCM

It does not address the acceleration of GHASH function of GCM,
which can be a future task, still we can see immediate uplift of
performance (up to 4X)

Before this patch:
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
SM4-GCM         186432.92k   394234.05k   587916.46k   639365.12k   648486.91k   652924.25k

After the patch:
SM4-GCM         193924.87k   860940.35k  1696083.71k  2302548.31k  2580411.73k  2607398.91k

Signed-off-by: Daniel Hu <Daniel.Hu@arm.com>

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/17814)
2022-03-07 09:20:24 +11:00
..
common Move e_os.h to include/internal 2022-02-05 05:31:09 +01:00
fips Move e_os.h to include/internal 2022-02-05 05:31:09 +01:00
implementations Further acceleration for SM4-GCM on ARM 2022-03-07 09:20:24 +11:00
baseprov.c Update copyright year 2021-04-08 13:04:41 +01:00
build.info Avoid duplicating prov_running.o in libdefault and libcrypto 2021-06-14 09:18:41 +10:00
decoders.inc prov: tag SM2 encoders and decoders as non-FIPS 2021-06-16 14:42:38 +01:00
defltprov.c Add null digest implementation to the default provider 2021-11-15 09:25:42 +01:00
encoders.inc ENCODER PROV: Add encoders with EncryptedPrivateKeyInfo output 2021-09-05 21:34:51 +02:00
fips-sources.checksums make update 2021-07-29 15:50:27 +01:00
fips.checksum make update 2021-07-29 15:50:27 +01:00
fips.module.sources make update 2021-07-29 15:50:27 +01:00
legacyprov.c LEGACY PROV: Reimplement the ERR building blocks in upcall terms 2022-01-21 14:44:16 +01:00
nullprov.c null prov: fix gettable param array type. 2020-10-16 10:33:38 +10:00
prov_running.c keygen: add FIPS error state management to conditional self tests 2020-09-12 16:46:51 +10:00
stores.inc prov: prefix all OSSL_DISPATCH tables names with ossl_ 2020-09-29 16:31:46 +10:00