Messages in this thread | | | From | Stephan Mueller <> | Subject | Kernel crypto API: cryptoperf performance measurement | Date | Sun, 17 Aug 2014 17:55:51 +0200 |
| |
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
| |