Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | chacha20poly1305: combine stack variables into union | Jason A. Donenfeld | 2018-05-31 | 1 | -54/+53 |
| | |||||
* | chacha20poly1305: split up into separate files | Jason A. Donenfeld | 2018-05-31 | 1 | -611/+31 |
| | |||||
* | chacha20poly1305: add mips32 implementation | René van Dorst | 2018-05-18 | 1 | -5/+12 |
| | | | | Signed-off-by: René van Dorst <opensource@vdorst.com> | ||||
* | chacha20poly1305: make gcc 8.1 happy | Samuel Neves | 2018-05-13 | 1 | -2/+2 |
| | | | | | | | | | | | | | | | GCC 8.1 does not know about the invariant `0 <= ctx->num < POLY1305_BLOCK_SIZE`. This results in a warning that `memcpy(ctx->data + num, inp, len);` may overflow the `data` field, which is correct for arbitrary values of `num`. To make the invariant explicit we ensure that `num` is in the required range. An alternative would be to change `ctx->num` to a 4-bit bitfield at the point of declaration. This changes the code from `test ebp, ebp; jz end` to `and ebp, 15; jz end`, which have identical performance characteristics. Signed-off-by: Samuel Neves <sneves@dei.uc.pt> | ||||
* | chacha20poly1305: put magic constant behind macro | Jason A. Donenfeld | 2018-04-05 | 1 | -2/+4 |
| | |||||
* | crypto: read only after init | Jason A. Donenfeld | 2018-03-02 | 1 | -6/+6 |
| | |||||
* | chacha20poly1305: better buffer alignment | Jason A. Donenfeld | 2018-01-30 | 1 | -9/+8 |
| | |||||
* | chacha20poly1305: use existing rol32 function | Jason A. Donenfeld | 2018-01-30 | 1 | -9/+4 |
| | |||||
* | poly1305: add poly-specific self-tests | Jason A. Donenfeld | 2018-01-19 | 1 | -0/+1 |
| | |||||
* | poly1305: remove indirect calls | Samuel Neves | 2018-01-18 | 1 | -79/+96 |
| | | | | Signed-off-by: Samuel Neves <sneves@dei.uc.pt> | ||||
* | global: year bump | Jason A. Donenfeld | 2018-01-03 | 1 | -1/+1 |
| | |||||
* | crypto: compile on UML | Jason A. Donenfeld | 2017-12-13 | 1 | -0/+2 |
| | | | | We basically just don't use FPU in UML. | ||||
* | chacha20poly1305: wire up avx512vl for skylake-x | Jason A. Donenfeld | 2017-12-11 | 1 | -3/+16 |
| | |||||
* | chacha20: avx512vl implementation | Samuel Neves | 2017-12-11 | 1 | -0/+1 |
| | | | | Signed-off-by: Samuel Neves <sneves@dei.uc.pt> | ||||
* | chacha20poly1305: cleaner generic code | Jason A. Donenfeld | 2017-12-11 | 1 | -90/+49 |
| | |||||
* | global: add SPDX tags to all files | Greg Kroah-Hartman | 2017-12-09 | 1 | -29/+3 |
| | | | | | | | | | | | | | It's good to have SPDX identifiers in all files as the Linux kernel developers are working to add these identifiers to all files. Update all files with the correct SPDX license identifier based on the license text of the project or based on the license in the file itself. The SPDX identifier is a legally binding shorthand, which can be used instead of the full boiler plate text. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Modified-by: Jason A. Donenfeld <Jason@zx2c4.com> | ||||
* | poly1305: update x86-64 kernel to AVX512F only | Samuel Neves | 2017-12-03 | 1 | -6/+1 |
| | | | | Signed-off-by: Samuel Neves <sneves@dei.uc.pt> | ||||
* | chacha20: directly assign constant and initial state | Jason A. Donenfeld | 2017-11-23 | 1 | -59/+20 |
| | |||||
* | poly1305-avx512: requires AVX512F+VL+BW | Samuel Neves | 2017-11-22 | 1 | -1/+6 |
| | | | | Signed-off-by: Samuel Neves <sneves@dei.uc.pt> | ||||
* | chacha20poly1305: poly cleans up its own state | Jason A. Donenfeld | 2017-11-22 | 1 | -5/+1 |
| | |||||
* | poly1305: import MIPS64 primitive from OpenSSL | Jason A. Donenfeld | 2017-11-22 | 1 | -8/+17 |
| | |||||
* | chacha20poly1305: import ARM primitives from OpenSSL | Jason A. Donenfeld | 2017-11-22 | 1 | -45/+51 |
| | | | | ARMv4-ARMv8, with NEON for ARMv7 and ARMv8. | ||||
* | chacha20poly1305: import x86_64 primitives from OpenSSL | Samuel Neves | 2017-11-22 | 1 | -305/+334 |
| | | | | | | x86_64 only at the moment. SSSE3, AVX, AVX2, AVX512. Signed-off-by: Samuel Neves <sneves@dei.uc.pt> | ||||
* | receive: hoist fpu outside of receive loop | Jason A. Donenfeld | 2017-11-10 | 1 | -5/+2 |
| | |||||
* | global: style nits | Jason A. Donenfeld | 2017-10-31 | 1 | -5/+12 |
| | |||||
* | crypto/avx: make sure we can actually use ymm registers | Jason A. Donenfeld | 2017-10-31 | 1 | -1/+1 |
| | |||||
* | global: satisfy bitshift pedantry | Jason A. Donenfeld | 2017-10-03 | 1 | -7/+7 |
| | | | | Suggested-by: Sultan Alsawaf <sultanxda@gmail.com> | ||||
* | main: annotate init/exit functions to save memory | Jason A. Donenfeld | 2017-06-24 | 1 | -2/+2 |
| | |||||
* | chacha20poly1305: add NEON versions for ARM and ARM64 | Jason A. Donenfeld | 2017-05-30 | 1 | -3/+41 |
| | |||||
* | chacha20poly1305: implement vectorized hchacha20 | Jason A. Donenfeld | 2017-05-17 | 1 | -21/+55 |
| | |||||
* | chacha20poly1305: check return values of sgops | Jason A. Donenfeld | 2017-04-04 | 1 | -8/+16 |
| | |||||
* | chacha20poly1305: enforce authtag checking with compiler | Jason A. Donenfeld | 2017-03-30 | 1 | -9/+4 |
| | |||||
* | blake2s: add AVX implementation | Jason A. Donenfeld | 2017-03-19 | 1 | -2/+2 |
| | |||||
* | Use __read_mostly attribute when possible | Jason A. Donenfeld | 2017-01-13 | 1 | -3/+3 |
| | |||||
* | Update copyright | Jason A. Donenfeld | 2017-01-10 | 1 | -1/+1 |
| | |||||
* | cookies: use xchacha20poly1305 instead of chacha20poly1305 | Jason A. Donenfeld | 2016-12-23 | 1 | -1/+109 |
| | | | | | This allows us to precompute the blake2s calls and save cycles, since hchacha is fast. | ||||
* | global: move to consistent use of uN instead of uintN_t for kernel code | Jason A. Donenfeld | 2016-12-11 | 1 | -30/+30 |
| | |||||
* | headers: cleanup notices | Jason A. Donenfeld | 2016-11-21 | 1 | -1/+1 |
| | |||||
* | chacha20poly1305: sse/ymm should be implicitexperimental-0.0.20161116.1 | Jason A. Donenfeld | 2016-11-16 | 1 | -1/+1 |
| | |||||
* | chacha20poly1305: rely on avx and avx2experimental-0.0.20161116 | Jason A. Donenfeld | 2016-11-16 | 1 | -1/+1 |
| | | | | | | It turns out some FrankenVMs disable AVX but keep AVX2, causing issues. The crypto code now relies on having both AVX and AVX2 and the right features. | ||||
* | chacha20poly1305: it's just as fast to use these more simple unaligned access helpers | Jason A. Donenfeld | 2016-11-07 | 1 | -36/+7 |
| | |||||
* | chacha20poly1305: cleanup magic constantsexperimental-0.0.20161105 | Jason A. Donenfeld | 2016-11-05 | 1 | -3/+2 |
| | |||||
* | c89: the static keyword is okay in c99, but not in c89 | Jason A. Donenfeld | 2016-11-05 | 1 | -6/+6 |
| | |||||
* | data: keep FPU on when possible | Jason A. Donenfeld | 2016-11-04 | 1 | -51/+11 |
| | |||||
* | chacha20poly1305: src is different from dst on last pieceexperimental-0.0.20161103 | Jason A. Donenfeld | 2016-11-03 | 1 | -1/+1 |
| | | | | | | | This took hours of debugging. In some cases, the src and dst are different for the last piece, so the incorrect code here resulted in computing the poly1305 over the wrong data. This lead to packets being unnecessarily dropped. | ||||
* | Rework headers and includes | Jason A. Donenfeld | 2016-09-29 | 1 | -1/+1 |
| | |||||
* | poly1305: optimize unaligned access | René van Dorst | 2016-09-29 | 1 | -0/+30 |
| | |||||
* | selftest: move to subfolder | Jason A. Donenfeld | 2016-08-02 | 1 | -52/+1 |
| | |||||
* | c: specify static array size in function params | Jason A. Donenfeld | 2016-08-02 | 1 | -6/+6 |
| | | | | | | | | | | | | | | | The C standard states: A declaration of a parameter as ``array of type'' shall be adjusted to ``qualified pointer to type'', where the type qualifiers (if any) are those specified within the [ and ] of the array type derivation. If the keyword static also appears within the [ and ] of the array type derivation, then for each call to the function, the value of the corresponding actual argument shall provide access to the first element of an array with at least as many elements as specified by the size expression. By changing void func(int array[4]) to void func(int array[static 4]), we automatically get the compiler checking argument sizes for us, which is quite nice. | ||||
* | chacha20poly1305: use more standard way of testing FPU features | Jason A. Donenfeld | 2016-06-29 | 1 | -7/+2 |
| |