Linux 4.4 Crypto Brings Optimized SHA1/SHA256 Intel SHA Extensions
The Linux 4.4 Crypto update brings a new wrap algorithm, a few API changes, alterations to the akcipher interfacem Intel SHA Extension SHA1 and SHA256 optimized functions, support for the ST and STM32 RNGs, support for the mxs-dcp crypto device, and other crypto driver improvements.
Intel SHA Extensions are an instruction set extension for hardware acceleration of the SHA family. Initial support for these SHA extensions were added with Skylake processors with a total of seven instructions between SHA1 and SHA256. With Linux 4.4, the new crypto code is providing optimized support for SHA1 and SHA256.
In terms of the performance gain for using the Intel SHA Extensions, it's reported, "For 4K data blocks, we've seen up to 3.6x speedup over existing SSSE3 enhanced routines in the kernel crypto library on Broxton platform."
This 4.4 crypto pull doesn't land the work talked about last week: Intel Is Working On Faster Linux Encryption For AVX2 CPUs, Up To 5.8x Throughput. It looks like that will have to wait until at least Linux 4.5.
More details on the 4.4 crypto update via the pull request.