Cryptodev-linux module
[Comparison]

[Overview]   [Comparison]   [News]   [Download]   [Mailing lists]   [Documentation]   [Authors]


In this page we present a comparison of the Linux port of /dev/crypto against the Linux kernel AF_ALG API under Linux kernel 3.0.0. The benchmarks used for /dev/crypto are included in our source repository and the benchmark for AF_ALG is also available. The benchmark checked the throughput of each interface on requests for encryption using AES and the NULL cipher on different chunk sizes. We performed the test on a desktop system with the NULL cipher to demonstrate the performance on a high throughput hardware-optimized cipher, and to an embedded system with the CESA engine. It showed that AF_ALG's performance is poor on small chunk sizes (real-world protocols typically use small chunks), and doesn't scale, as the faster the hardware the worst AF_ALG is performing.

The following tests benchmark the speed of initialization, encryption and deinitialization of the cipher.

Throughput of the cbc(aes) cipher (CESA)
Throughput of the ecb(cipher-null) cipher

The following benchmarks show the speed of encryption of the cipher. This does not include the initialization phase of the cipher (key expansion), but only the time spent for encryption.

Throughput of the cbc(aes) cipher (CESA)
Throughput of the ecb(cipher-null) cipher