AArch64cryptolib is a from scratch implementation of cryptographic primitives aiming for optimal performance on Arm A-class cores.
The core concept of the AES-GCM implementations is to optimally schedule a "merged" AES-GCM kernel to make effective use of the available pipeline resources in existing CPUs.
Current optimisation targets:
The library currently supports:
AES-GCM
AES-CBC
AArch64cryptolib consists of:
Users of AArch64cryptolib have to include AArch64cryptolib.h in their source file and use the API described in that file.
Select one of the code paths optimised for big or LITTLE CPU implementations:
Add extra compiler flags or override default flags:
The implementation requires the Armv8a Cryptography Extensions. The biggereor3 implementation option requires the Armv8.2a SHA3 extension.
The choice of AES-GCM implementation is done at compile time.
SPDX BSD-3-Clause
See the included file 'LICENSE.md' for the license text.
Ola Liljedahl (ola.liljedahl@arm.com)
C
95.0%
Assembly
4.9%
AArch64cryptolib is a from scratch implementation of cryptographic primitives aiming for optimal performance on Arm A-class cores.
The core concept of the AES-GCM implementations is to optimally schedule a "merged" AES-GCM kernel to make effective use of the available pipeline resources in existing CPUs.
Current optimisation targets:
The library currently supports:
AES-GCM
AES-CBC
AArch64cryptolib consists of:
Users of AArch64cryptolib have to include AArch64cryptolib.h in their source file and use the API described in that file.
Select one of the code paths optimised for big or LITTLE CPU implementations:
Add extra compiler flags or override default flags:
The implementation requires the Armv8a Cryptography Extensions. The biggereor3 implementation option requires the Armv8.2a SHA3 extension.
The choice of AES-GCM implementation is done at compile time.
SPDX BSD-3-Clause
See the included file 'LICENSE.md' for the license text.
Ola Liljedahl (ola.liljedahl@arm.com)
C
95.0%
Assembly
4.9%