Kernel crypto API: cryptoperf performance measurement
From: Stephan Mueller
Date: Sun Aug 17 2014 - 11:56:14 EST
Hi,
during playing around with the kernel crypto API, I implemented a performance
measurement tool kit for the various kernel crypto API cipher types. The
cryptoperf tool kit is provided in [1].
Comments are welcome.
In general, the results are as expected, i.e. the assembler implementations
are faster than the pure C implementations. However, there are curious results
which probably should be checked by the maintainers of the respective ciphers
(hoping that my tool works correctly ;-) ):
ablkcipher
----------
- cryptd is slower by factor 10 across the board
blkcipher
---------
- Blowfish x86_64 assembler together with the generic C block chaining modes
is significantly slower than Blowfish implemented in generic C
- Blowfish x86_64 assembler in ECB is significantly slower than generic C
Blowfish ECB
- Serpent assembler implementations are not significantly faster than generic
C implementations
- AES-NI ECB, LRW, CTR is significantly slower than AES i586 assembler.
- AES-NI ECB, LRW, CTR is not significantly faster than AES generic C
rng
---
- The ANSI X9.31 RNG seems to work massively faster than the underlying AES
cipher (by about a factor of 5). I am unsure about the cause of this.
Caveat
------
Please note that there is one small error which I am unsure how to fix it as
documented in the TODO file.
[1] http://www.chronox.de/cryptoperf.html
--
Ciao
Stephan
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/