[openssl-users] Does openssl pick low level interface or high level interface to do encrypt?

Salz, Rich rsalz at akamai.com
Thu Aug 10 15:16:09 UTC 2017


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

--
Senior Architect, Akamai Technologies
Member, OpenSSL Dev Team
IM: richsalz at jabber.at Twitter: RichSalz

From: - JinsongJi [mailto:jjsbear at hotmail.com]
Sent: Wednesday, August 09, 2017 9:09 AM
To: openssl-users at openssl.org
Subject: [openssl-users] Does openssl pick low level interface or high level interface to do encrypt?

Hi,


For one simple operation: openssl enc -aes-256-cbc -salt -in foo.txt -out foo.enc
Does openssl pick classic implementation or AES-NI implementation to do this encrypt?

Does any user/application always pick classic implementation for AES operation regardless of AES-NI improves speed much?

Is there any document about this interface selection?

Thanks,
Jinsong
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mta.openssl.org/pipermail/openssl-users/attachments/20170810/2513c555/attachment.html>


More information about the openssl-users mailing list