mbedtls/library
Markku-Juhani O. Saarinen dfb6015ca7 Implements AES and GCM with ARMv8 Crypto Extensions
A compact patch that provides AES and GCM implementations that utilize the
ARMv8 Crypto Extensions. The config flag is MBEDTLS_ARMV8CE_AES_C, which
is disabled by default as we don't do runtime checking for the feature.
The new implementation lives in armv8ce_aes.c.

Provides similar functionality to https://github.com/ARMmbed/mbedtls/pull/432
Thanks to Barry O'Rourke and others for that contribtion.

Tested on a Cortex A53 device and QEMU. On a midrange phone the real AES-GCM
throughput increases about 4x, while raw AES speed is up to 10x faster.

When cross-compiling, you want to set something like:

  export CC='aarch64-linux-gnu-gcc'
  export CFLAGS='-Ofast -march=armv8-a+crypto'
  scripts/config.pl set MBEDTLS_ARMV8CE_AES_C

QEMU seems to also need

  export LDFLAGS='-static'

Then run normal make or cmake etc.
2020-09-07 12:02:41 +01:00
..
.gitignore
aes.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
aesni.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
arc4.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
aria.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
armv8ce_aes.c Implements AES and GCM with ARMv8 Crypto Extensions 2020-09-07 12:02:41 +01:00
asn1parse.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
asn1write.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
base64.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
bignum.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
blowfish.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
camellia.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
ccm.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
certs.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
chacha20.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
chachapoly.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
cipher_wrap.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
cipher.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
cmac.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
CMakeLists.txt Bump version to Mbed TLS 2.24.0 2020-08-26 16:22:57 +01:00
common.h Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
ctr_drbg.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
debug.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
des.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
dhm.c Merge development into development-restricted 2020-08-20 11:07:12 +01:00
ecdh.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
ecdsa.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
ecjpake.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
ecp_curves.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
ecp.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
entropy_poll.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
entropy.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
error.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
gcm.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
havege.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
hkdf.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
hmac_drbg.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
Makefile Merge pull request #3454 from gilles-peskine-arm/include-common-h-development 2020-07-03 09:44:18 +02:00
md2.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
md4.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
md5.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
md.c Merge pull request #3578 from gilles-peskine-arm/md_setup-leak-development 2020-08-21 09:19:12 +02:00
memory_buffer_alloc.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
net_sockets.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
nist_kw.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
oid.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
padlock.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
pem.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
pk_wrap.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
pk.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
pkcs5.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
pkcs11.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
pkcs12.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
pkparse.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
pkwrite.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
platform_util.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
platform.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
poly1305.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
psa_crypto_core.h Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
psa_crypto_invasive.h Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
psa_crypto_its.h Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
psa_crypto_se.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
psa_crypto_se.h Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
psa_crypto_service_integration.h Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
psa_crypto_slot_management.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
psa_crypto_slot_management.h Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
psa_crypto_storage.c psa_crypto_storage: Annotate file removal after a failed creation 2020-08-25 22:50:06 +02:00
psa_crypto_storage.h Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
psa_crypto.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
psa_its_file.c psa_its: Annotate file removal after a failed creation 2020-08-25 22:49:19 +02:00
ripemd160.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
rsa_internal.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
rsa.c Merge development into development-restricted 2020-08-20 11:07:12 +01:00
sha1.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
sha256.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
sha512.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
ssl_cache.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
ssl_ciphersuites.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
ssl_cli.c Merge pull request #2182 from hanno-arm/key_pwd 2020-08-24 09:42:38 +02:00
ssl_cookie.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
ssl_invasive.h Merge pull request #736 from mpg/cf-varpos-copy-dev-restricted 2020-08-25 14:35:55 +01:00
ssl_msg.c Merge branch 'development-restricted' 2020-08-26 14:15:34 +01:00
ssl_srv.c Merge pull request #2182 from hanno-arm/key_pwd 2020-08-24 09:42:38 +02:00
ssl_ticket.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
ssl_tls.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
threading.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
timing.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
version_features.c Merge pull request #736 from mpg/cf-varpos-copy-dev-restricted 2020-08-25 14:35:55 +01:00
version.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
x509_create.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
x509_crl.c Merge development into development-restricted 2020-08-20 11:07:12 +01:00
x509_crt.c Merge pull request #3433 from raoulstrackx/raoul/verify_crl_without_time 2020-08-26 12:56:11 +02:00
x509_csr.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
x509.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
x509write_crt.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
x509write_csr.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00
xtea.c Update copyright notices to use Linux Foundation guidance 2020-08-19 10:35:41 +02:00