Intel Makes Cryptography Faster On Linux

Posted by Michael Larabel on December 14, 2012

The Linux 3.8 kernel is continuing to pull in massive amounts of new code as shown by all of the noteworthy pull requests that have been highlighted on Phoronix in the past few days. The latest pull request to catch my interest has been the crypto work, thanks to performance-enhancing additions by Intel.

Highlights for the Crypto merge in Linux 3.8 include:

- Added aesni/avx/x86_64 implementations for camellia.
- Optimised AVX code for cast5/serpent/twofish/cast6.
- Fixed vmac bug with unaligned input.
- Allow compression algorithms in FIPS mode.
- Optimised crc32c implementation for Intel.
- Misc fixes.

The new Camellia block cipher implementations are noteworthy now that it supports taking advantage of AES-NI, the Advanced Encryption Standard Instruction Set supported by modern Intel and AMD CPUs, and then AVX for Advanced Vector Extensions with CPUs since last year. Benchmark results for this new Camellia cipher implementation can be found on the linux-crypto mailing list. See my AES-NI disk encryption benchmarks on Linux from last year.

The optimized code for CAST5/CAST6/Serpent/Twofish for the AVX instruction set is another win. AVX is present on Intel CPUs from "Sandy Bridge" and newer while AMD CPUs need to be "Bulldozer" or newer.

Last but not least, the optimized Intel CRC32 implementation is another performance win for the Linux kernel. The original patch for the optimized CRC32 calculation mentions, "This patch adds the crc_pcl function that calculates CRC32C checksum using the PCLMULQDQ instruction on processors that support this feature...For buffer size of 1K the speedup is around 1.6x and for buffer size greater than 4K, the speedup is around 3x compared to original implementation in crc32c-intel module. Test was performed on Sandy Bridge based platform with constant frequency set for cpu."

The full Linux 3.8 Crypto pull can be found on the Linux kernel mailing list.

Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.
Latest Hardware Reviews
  1. Sumo Lounge Emperor
  2. Gallium3D Continues Improving OpenGL For Older Radeon GPUs
  3. 15-Way Open vs. Closed Source NVIDIA/AMD Linux GPU Comparison
  4. Nouveau vs. NVIDIA Linux Comparison Shows Shortcomings
Latest Software Articles
  1. Intel Linux OpenGL Driver Leading Over Apple OS X
  2. The Cost Of Ubuntu Disk Encryption
  3. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  4. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
Latest Linux News
  1. New Intel X.Org Driver Supports All Of Haswell
  2. SQLite Now Faster With Memory Mapped I/O
  3. Microsoft Releases Skype For Linux 4.2, Has Bug-Fixes
  4. Qt For Tizen Launches, Based On Qt 5.1
  5. KTAP Released For Linux Kernel Dynamic Tracing
  6. Linux 3.10-rc2 Kernel Takes In A Few Extra Pulls
  7. QEMU 1.5 Supports VGA Passthrough, Better USB 3.0
  8. Handbrake 0.9.9 Supports OpenCL Offloading
  9. Freedreno Gallium3D Now Banging The Adreno A3XX
  10. Jolla Announces Their First Phone
  11. Mageia 3 Released, Still Using Legacy GRUB
Latest Forum Talk
  1. Handbrake 0.9.9 Supports OpenCL Offloading
  2. Kubuntu, KDE Has Little Hope For Ubuntu's Mir
  3. The Cost Of Ubuntu Disk Encryption
  4. Qt For Tizen Launches, Based On Qt 5.1
  5. QEMU 1.5 Supports VGA Passthrough, Better USB 3.0
  6. Microsoft Releases Skype For Linux 4.2, Has...
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite