CriticalBlue 's patch gave us something we could observe to cut-in ARMv8 for Crypto++. We had a partial implementation, but we were having problems in the key schedule. We got to spend some time with mbedTLS under the debugger, and it allowed us to pinpoint the problems with Crypto++ and ARMv8 AES.
The speed results are very good. Below are the numbers on a 1.2 GHz LeMaker HiKey, which is an IoT gadget. Server boards, like Mustang and Opterons, are about twice as fast (2.4 to 2.6 cpb).
C++, AES/ECB - 25.8 cpb
C++, AES/CTR - 26.7 cpb
ARMv8, AES/ECB - 5.2 cpb
ARMv8 AES/CTR - 5.8 cpb
This ticket will track the cut-in of ARMv8 AES. It is being tested now on a testing fork. Also see the following commits on the fork.
CriticalBlue provided patches which added ARMv8 support to mbedTLS. See PR 432, AARCH64 and Cryptography Extension Support, Thanks to @barryor, @sbutcher-arm, @johannesschneiders for their work.
CriticalBlue 's patch gave us something we could observe to cut-in ARMv8 for Crypto++. We had a partial implementation, but we were having problems in the key schedule. We got to spend some time with mbedTLS under the debugger, and it allowed us to pinpoint the problems with Crypto++ and ARMv8 AES.
The speed results are very good. Below are the numbers on a 1.2 GHz LeMaker HiKey, which is an IoT gadget. Server boards, like Mustang and Opterons, are about twice as fast (2.4 to 2.6 cpb).
This ticket will track the cut-in of ARMv8 AES. It is being tested now on a testing fork. Also see the following commits on the fork.