strongswan/src/libstrongswan/plugins/chapoly
Martin Willi fe5d6eaa9f chapoly: Process two Poly1305 blocks in parallel in SSSE3 driver
By using a derived key r^2 we can improve performance, as we can do loop
unrolling and slightly better utilize SIMD instructions.

Overall ChaCha20-Poly1305 performance increases by ~12%.

Converting integers to/from our 5-word representation in SSE does not seem
to pay off, so we work on individual words.
2015-07-12 13:25:50 +02:00
..
Makefile.am chapoly: Add an SSSE3 based driver 2015-06-29 17:32:14 +02:00
chapoly_aead.c chapoly: Provide a generic ChaCha20/Poly1305 AEAD supporting driver backends 2015-06-29 17:32:14 +02:00
chapoly_aead.h chapoly: Provide a generic ChaCha20/Poly1305 AEAD supporting driver backends 2015-06-29 17:32:14 +02:00
chapoly_drv.c chapoly: Add an SSSE3 based driver 2015-06-29 17:32:14 +02:00
chapoly_drv.h chapoly: Provide a generic ChaCha20/Poly1305 AEAD supporting driver backends 2015-06-29 17:32:14 +02:00
chapoly_drv_portable.c chapoly: Add a ChaCha20/Poly1305 driver implemented in portable C 2015-06-29 17:32:14 +02:00
chapoly_drv_portable.h chapoly: Add a ChaCha20/Poly1305 driver implemented in portable C 2015-06-29 17:32:14 +02:00
chapoly_drv_ssse3.c chapoly: Process two Poly1305 blocks in parallel in SSSE3 driver 2015-07-12 13:25:50 +02:00
chapoly_drv_ssse3.h chapoly: Add an SSSE3 based driver 2015-06-29 17:32:14 +02:00
chapoly_plugin.c chapoly: Provide a generic ChaCha20/Poly1305 AEAD supporting driver backends 2015-06-29 17:32:14 +02:00
chapoly_plugin.h chapoly: Provide a generic ChaCha20/Poly1305 AEAD supporting driver backends 2015-06-29 17:32:14 +02:00