How does OpenSSL work on ARM?
Do any arms have hardware crypto?
thanks
-------- Forwarded Message -------- Subject: Re: [openssl-users] Does openssl pick low level interface or high level interface to do encrypt? Date: Thu, 10 Aug 2017 15:16:09 +0000 From: Salz, Rich via openssl-users openssl-users@openssl.org Reply-To: Salz, Rich rsalz@akamai.com, openssl-users@openssl.org To: openssl-users@openssl.org openssl-users@openssl.org
What OpenSSL does is not necessarily obvious. The INSTALL document talks about the no-asm configuration option. Details about what the assembler code does in terms of optimization are only available by reading the source code comments in the various Perl files that generate the assembler, mostly.
On x86, the assembly code uses the CPUID instruction (see the OPENSSL_ia32cap.pod manpage) to determine if various instructions (AES, SSE, MMX, etc) are available and will use them if so. For other processors, similar tests are performed if at all possible.
I have added this to the FAQ