Abstract
The purpose of this project is to demonstrate that a compiler intrinsics implementation of AES, a symmetric-key algorithm, can yield high performance key generation and encryption. The results of this project show that compared to OpenSSL’s handwritten assembly implementation, an intrinsics implementation written in C is similarly performant. By utilizing AES-NI intrinsics, AES key generation and encryption in a x86-64 environment performs generally within 2% of OpenSSL’s assembly implementation, demonstrating a more maintainable solution with a negligible performance difference.