Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | mgf1: Refactored MGF1 as an XOF | Andreas Steffen | 2016-09-21 | 1 | -1/+8 |
| | |||||
* | xof: Added ChaCha20 stream as XOF | Andreas Steffen | 2016-08-06 | 4 | -1/+220 |
| | |||||
* | Use standard unsigned integer types | Andreas Steffen | 2016-03-24 | 3 | -58/+58 |
| | |||||
* | byteorder: Add 32-bit unaligned little-endian conversion functions | Martin Willi | 2015-12-04 | 1 | -21/+0 |
| | |||||
* | chapoly: Process two Poly1305 blocks in parallel in SSSE3 driver | Martin Willi | 2015-07-12 | 1 | -85/+291 |
| | | | | | | | | | | 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. | ||||
* | chapoly: Process four ChaCha20 blocks in parallel in SSSE3 driver | Martin Willi | 2015-07-12 | 1 | -16/+207 |
| | | | | | As we don't have to shuffle the state in each ChaCha round, overall performance for ChaCha20-Poly1305 increases by ~40%. | ||||
* | chapoly: Add an SSSE3 based driver | Martin Willi | 2015-06-29 | 4 | -1/+514 |
| | | | | | | | | | | | | | We always build the driver on x86/x64, but enable it only if SSSE3 support is detected during runtime. Poly1305 uses parallel 32-bit multiplication operands yielding a 64-bit result, for which two can be done in parallel in SSE. This is minimally faster than multiplication with 64-bit operands, and also works on 32-bit builds not having a __int128 result type. On a 32-bit architecture, this is more than twice as fast as the portable driver, and on 64-bit it is ~30% faster. | ||||
* | chapoly: Add a ChaCha20/Poly1305 driver implemented in portable C | Martin Willi | 2015-06-29 | 4 | -0/+488 |
| | |||||
* | chapoly: Provide a generic ChaCha20/Poly1305 AEAD supporting driver backends | Martin Willi | 2015-06-29 | 7 | -0/+672 |