There are several implementations for some algorithms, which use CPU instructions which may or may not be available on current system. Is it good idea to just enable (in kernel, not as modules) all of them - i.e. is fastest implementation available on current CPU will be selected automatically?
Also, is OpenSSL will start using these optimized implementations provided by kernel automatically, or it should be configured somehow?
The
make
process should select all appropriate settings for your system. So yes - the fastest implementation should be chosen that way.If OpenSSL makes use of the kernel-cryptographic API it will use what will be available - this is what APIs are all about:
Give a service with known parameters without having to think about how they are implemented. So again, yes.