From: Niels Möller Date: Mon, 9 Aug 2021 14:51:10 +0000 (+0000) Subject: Merge branch 'arm64-aes' into 'master' X-Git-Tag: nettle_3.8_release_20220602~109 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d351a828579f1ffd0a837d68ed3c7f1c7d808f38;p=thirdparty%2Fnettle.git Merge branch 'arm64-aes' into 'master' [AArch64] Optimize AES with fat build support This patch optimizes AES encrypt/decrypt functions with each key size has its own implementation to load the key expansion just once at function prologue which yields a considerable performance increase over loading the key expansion for every block iteration. The patch also adds fat build support for the AES functions. `make check` passes all tests. Benchmark of executing `examples/nettle-benchmark`: | Algorithm | mode | C (Mbyte/s) | OpenSSL (Mbyte/s) | This patch (Mbyte/s) | | ------ | ------ | ------ | ------ | ------ | | aes128 | ECB encrypt | 95.01 | 1037.85 | 2579.62 | | aes128 | ECB decrypt | 93.47 | 1005.15 | 2577.53 | | aes192 | ECB encrypt | 79.60 | 893.34 | 2205.53 | | aes192 | ECB decrypt | 78.34 | 889.17 | 2204.41 | | aes256 | ECB encrypt | 66.64 | 782.21 | 1925.73 | | aes256 | ECB decrypt | 65.81 | 781.37 | 1925.79 | See merge request nettle/nettle!34 --- d351a828579f1ffd0a837d68ed3c7f1c7d808f38