]> git.ipfire.org Git - thirdparty/nettle.git/commit
Merge branch 'arm64-aes' into 'master'
authorNiels Möller <nisse@lysator.liu.se>
Mon, 9 Aug 2021 14:51:10 +0000 (14:51 +0000)
committerNiels Möller <nisse@lysator.liu.se>
Mon, 9 Aug 2021 14:51:10 +0000 (14:51 +0000)
commitd351a828579f1ffd0a837d68ed3c7f1c7d808f38
treec13b1b7b8b2c7139b0827536b0af6e3b30f4c3b1
parent76c7418c1ab8efb67dc42bbf8cbfa322b6ea1693
parenta47813c241804fa3b60f6b1cdf2f0569214fc827
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
configure.ac