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. GCC 4.8.0 vs. LLVM Clang 3.3 Compiler Performance
  2. Intel Linux OpenGL Driver Leading Over Apple OS X
  3. The Cost Of Ubuntu Disk Encryption
  4. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
Latest Linux News
  1. A New X.Org-Free Wayland LiveCD Released
  2. Unity 8, Mir Made Progress This Week On Features
  3. LLVM Clang 3.3 RC2 Is Ready For Testing
  4. AMD RadeonSI Gallium3D Begins Simple CL Demos
  5. Intel Shows Off GNOME3-Based Tizen Shell
  6. Linux Desktop Security Could Be A Whole Lot Better
  7. KDE 4.11 Will Be The Last Major KDE4 Workspaces Feature Release
  8. New NVIDIA Linux Driver Supports The GeForce GTX 780
  9. Chrome 28 To Offer More Speed Improvements
  10. Digia Announces "Boot To Qt" Project
  11. X.Org Libraries Hit By Round Of Security Issues
Latest Forum Talk
  1. Jolla Announces Their First Phone
  2. Steam: No used games...
  3. AMD RadeonSI Gallium3D Begins Simple CL Demos
  4. KDE 4.11 Will Be The Last Major KDE4 Workspaces...
  5. Intel Shows Off GNOME3-Based Tizen Shell
  6. Openbenchmarking.org (again) issue
  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