Commit graph

1147 commits

Author SHA1 Message Date
4475652054 resolve: save a timestamp in the resolve return to ensure we don't confuse remotes before and after reconfiguration 2013-12-16 19:27:07 +01:00
c91f3ac6ac Implement proper double-fork with --daemon 2013-12-16 18:47:21 +01:00
7f7041b1ff Never write to syslog/log files during key generation 2013-12-16 16:48:58 +01:00
8e9c9bc6ec Remove blowfish-ctr cipher, it's much slower than Salsa20 and probably less secure 2013-12-14 18:25:52 +01:00
cd1ed6a4c5 Add support for <cipher>+<cipher>+gmac methods 2013-12-05 14:08:56 +01:00
3d6e771dd2 Merge generic-gcm method into generic-gmac 2013-12-05 13:52:52 +01:00
822c9e935a Change xor and xor_a back to work on pointers
For some reason, this makes GCC generate much better code on MIPS with -Os
2013-12-04 19:15:56 +01:00
35748654f3 Add fast SSE2 implementations "xmm" for Salsa20 and Salsa20/12
Public Domain implementations by D. J. Bernstein, see
http://cr.yp.to/snuffle.html
2013-12-01 07:40:27 +01:00
8e6154d53b xsalsa20-poly1305: swap nonce byte order to make it backwards compatible 2013-12-01 04:03:19 +01:00
5ea41672d7 Change common packet header: flags comes first, nonce is big endian 2013-12-01 03:49:55 +01:00
e8d93e2c7a Remove a few `aligned' attributes that don't make sense 2013-12-01 03:18:27 +01:00
57d5ec7368 xsalsa20-poly1305: partly convert to the new method helpers 2013-11-30 08:34:21 +01:00
60d7347aa6 generic-gcm: drop compat support 2013-11-30 08:13:07 +01:00
c00e275e5b composed-gmac: convert to the new common method helpers 2013-11-30 07:53:23 +01:00
eb891d772d generic-gmac: convert to the new common method helpers 2013-11-30 07:46:01 +01:00
bba8249f4a generic-gcm: convert to the new common method helpers 2013-11-30 07:38:08 +01:00
53be4c96b3 cipher-test: use the new common header helpers 2013-11-30 07:28:56 +01:00
9dacff2507 generic-poly1305: add helper functions to handle the common header 2013-11-30 07:17:29 +01:00
4e42aeadec generic-poly1305: use the new buffer helpers 2013-11-30 06:41:05 +01:00
20e9e0920d Move buffer-related functions to a new header and add some more utility functions 2013-11-30 06:33:17 +01:00
f4b53bd063 Move logging defines to a new header 2013-11-30 06:20:54 +01:00
216007f373 generic-poly1305: cleanup 2013-11-30 06:08:34 +01:00
aa1d894e10 Make the crypto implementations independent of fastd.h (and fix more minor bugs) 2013-11-30 05:35:18 +01:00
5f7258ade2 Make crypto implementation configurable (and update a few error messages) 2013-11-30 04:58:05 +01:00
f7e72b3584 config: update and sort keyword list 2013-11-30 04:40:08 +01:00
a18b49e7c6 Clean up some parts of the configuration handling (and fix a few little bugs) 2013-11-30 04:36:24 +01:00
d5a043a7c0 Rename methods to methods providers and method contexts to methods to reflect their function better 2013-11-30 03:44:06 +01:00
8088a82a2a Perform string-based lookup of method-related information only once 2013-11-30 03:36:22 +01:00
1111dc8e5e Remove cipher and MAC contexts
Not a single implementation was using them...
2013-11-30 00:42:35 +01:00
a09d04a022 Revert "crypto: separate cipher/MAC availability check from information request"
This reverts commit d0707b161d.
2013-11-29 22:24:02 +01:00
d0707b161d crypto: separate cipher/MAC availability check from information request 2013-11-29 22:15:58 +01:00
27c14deaed Fix build without NaCl 2013-11-29 20:34:15 +01:00
6aca3d3504 Allow method init to fail 2013-11-29 08:16:14 +01:00
8d3c7196bb Output an error message when the encrypt function fails 2013-11-29 07:27:09 +01:00
68f2197cf5 Use <cpuid.h>
fastd will segfault in valgrind otherwise (O_o)
2013-11-29 06:33:54 +01:00
3cd025bb17 generic-gmac: use HKDF expansion instead of the stream cipher to generate H 2013-11-29 06:18:26 +01:00
f04696e745 Reorder check: avoid undefined behaviour due to negative or to long shifts 2013-11-29 06:03:33 +01:00
30016f8c82 HKDF: add a forgotten const qualifier 2013-11-29 05:50:28 +01:00
61349d3d27 Compile with -std=c99 and restructure some code to ensure there is no invalid aliasing (hopefully) 2013-11-29 05:35:49 +01:00
c13fe36e4c ghash-pclmulqdq: fix one left usage of a __builtin pclmulqdq instead of the _mm version 2013-11-28 22:39:26 +01:00
337d9e4787 ghash-pclmulqdq: rework implementation to allow both GCC and Clang to generate fast code 2013-11-28 22:36:41 +01:00
54c3e6adf0 ghash-pclmulqdq: make byteswap a macro
For some reason, this allows clang to optimize the code much better.
2013-11-28 19:58:58 +01:00
793c8db37c ghash-pclmulqdq: speed up multiplication using the Karatsuba algorithm 2013-11-28 05:41:46 +01:00
ac55a91fe9 Add a pclmulqdq ghash implementation 2013-11-28 04:31:25 +01:00
ca49096f5d Add CPUID function 2013-11-28 04:30:58 +01:00
7a08e6823e Allow checking if a crypto algorithm is available at runtime 2013-11-27 20:53:00 +01:00
ba5abca808 Add OpenSSL-based aes128-ctr implementation 2013-11-27 20:28:16 +01:00
2f516f9cea Correctly initialize OpenSSL 2013-11-27 19:55:54 +01:00
c62a0f592c Move crypto algorithm information out of implementation 2013-11-25 23:18:11 +01:00
60c2c11de8 Move cipher and mac structures to a new header 2013-11-25 21:30:36 +01:00