Commit Graph

155 Commits

Author SHA1 Message Date
Adam Ierymenko
55f4f9aaeb
cleanup 2019-09-04 16:15:10 -07:00
Adam Ierymenko
3a0d385119
Implement changes to AES-GMAC-CTR: four keys with one for each role/purpose instead of just two, and simpler CTR-IV calculation. 2019-09-04 14:37:38 -07:00
Adam Ierymenko
185e90c40f
AES-GMAC-CTR tweaks, self test tweaks, debian typo fix. 2019-09-04 08:19:12 -07:00
Adam Ierymenko
fd6e8d8c5c
Add instrumentation to root, add capability to forward to siblings if no path is known to a peer. 2019-09-03 12:21:57 -07:00
Adam Ierymenko
6e730cfad1
Cleanup, multicast fingerprint, benchmark asymmetric crypto 2019-08-28 07:31:17 -07:00
Adam Ierymenko
8203547cfc
Warning removal. 2019-08-26 20:01:54 -07:00
Adam Ierymenko
ec9582f3f2
More test vectors, software mode GCM. 2019-08-26 16:24:42 -07:00
Adam Ierymenko
52f7f6e6cf
Fully implement the packet encryption/decryption algorithms. 2019-08-23 20:20:32 -07:00
Adam Ierymenko
9fd5ec673b
Get rid of complicated AES-GCM + scramble construct in favor of a simpler construct thanks to "Squeamish Ossifrage" on crypto.stackexchange.com 2019-08-23 18:41:21 -07:00
Adam Ierymenko
6f6138c500
Merge relicensing change from dev 2019-08-23 09:27:13 -07:00
Adam Ierymenko
52a166a71f
Relicense: GPLv3 -> ZeroTier BSL 1.1 2019-08-23 09:23:39 -07:00
Adam Ierymenko
903a18db1d
work in progress 2019-08-23 08:41:22 -07:00
Adam Ierymenko
37047a39f9
More cleanup, and fix SHA384 built-in C code. 2019-08-22 14:52:47 -07:00
Adam Ierymenko
83d723eb79
type 1 (P-384) identities 2019-08-20 13:32:23 -07:00
Adam Ierymenko
7650786fb5
cleanup, Locator fix and self-test 2019-08-19 15:43:15 -07:00
Adam Ierymenko
ca60d08621
cleanup, scrambler functions 2019-08-19 12:49:33 -07:00
Adam Ierymenko
b14a59629c
cleanup 2019-08-19 06:58:42 -07:00
Adam Ierymenko
7bdca83de3
Add decrypt 2019-08-16 18:40:22 -07:00
Adam Ierymenko
51a25fdec9
Remove ASM Salsa20 since it will not be the default in 2.x any more... reduce build complexity. 2019-08-16 14:26:25 -07:00
Adam Ierymenko
f39693f97e
cleanup 2019-08-15 13:52:23 -07:00
Adam Ierymenko
f83ae0e39e
Add self-test for AES and AES-GCM using public test vectors. 2019-08-15 13:47:43 -07:00
Adam Ierymenko
b23d551d00
cleanup 2019-08-14 16:05:09 -07:00
Adam Ierymenko
d7a31088ba
Cleanup, warning removal, cppcheck informed cleanup. 2019-08-14 10:35:57 -07:00
Adam Ierymenko
91a37f8868
Add base64 code (unpadded standard alphabet) 2019-08-07 22:35:17 -05:00
Adam Ierymenko
d0746da5e2
Add SHA384 support, more cleanup 2019-08-07 16:41:58 -05:00
Adam Ierymenko
fe2215df00 TON of refactoring, moon/planet is DEAD, ECC P-384 is integrated (but not enabled), and multicast work and cleanup. Whew. 2019-07-17 10:52:08 -05:00
Adam Ierymenko
da2965cb4e P-384 test vectors 2019-07-16 17:25:25 -05:00
Adam Ierymenko
94ba242c33 Nist P-384 guts and glory 2019-07-16 16:09:14 -05:00
Adam Ierymenko
97046b265c Kill ZT_FAST_MEMCPY in selftest. 2019-03-22 15:52:16 -07:00
Joseph Henry
0e597191b8 Updated licenses for 2019 2019-01-14 10:25:53 -08:00
Adam Ierymenko
e2b0fb26b1 self-test build fix. 2018-11-13 16:02:26 -08:00
Adam Ierymenko
610e594a50 Speed tweaks for signatures, etc. 2018-03-12 16:16:20 -07:00
Adam Ierymenko
26aaf253ac Allow us to build a semi-dynamic official binary that works back to CentOS 6, at least on x64, and is very fast since we can build it with newer clang or icc. 2018-02-01 15:52:41 -08:00
Adam Ierymenko
f3dfd63634 Clean up some old stuff. 2018-01-26 20:00:37 -05:00
Adam Ierymenko
01b4cb64ee cleanup 2018-01-09 08:35:02 -08:00
Adam Ierymenko
65c07afe05 Copyright updates for 2018. 2018-01-08 14:33:28 -08:00
Adam Ierymenko
0608704626 Some micro-optimizations, including a memcpy that is faster than Linux for most distro/compiler versions. 2017-12-15 11:03:20 -08:00
Adam Ierymenko
23e5c7b38d Fix self-test compile. 2017-11-29 04:47:10 -08:00
Adam Ierymenko
ba6fd16823 More tracing stuff. 2017-07-13 15:08:57 -07:00
Adam Ierymenko
6fc70f7c16 More cleanup, Linux build fixes. 2017-07-07 06:50:40 -07:00
Adam Ierymenko
d2415dee00 Cleanup. 2017-07-06 16:11:11 -07:00
Adam Ierymenko
355cce3938 Rename Utils::snprintf due to it being a #define on one platform. 2017-06-27 11:31:29 -07:00
Adam Ierymenko
ceee56af51 Fix for small stacks. 2017-05-09 21:36:25 -07:00
Adam Ierymenko
d297d8fe2e Musl fix 2017-05-09 21:21:56 -07:00
Adam Ierymenko
1b68d6dbdc License header update. 2017-04-27 20:47:25 -07:00
Adam Ierymenko
9e80db0fd1 Cleanup, fix a valgrind error, stack use reduction. 2017-04-27 00:59:36 -07:00
Adam Ierymenko
cafbe44dde Controller optimizations -- make locking more fine-grained, use true hardware concurrency, etc. 2017-04-24 19:16:36 -07:00
Adam Ierymenko
a8ced184dc Some code cleanup and make sure any type punning is guarded with ZT_NO_TYPE_PUNNING. 2017-04-20 09:33:35 -07:00
Adam Ierymenko
a376bcc654 ARM NEON Salsa20/12 in build and selftest. Almost 2X speedup on a Raspberry Pi. 2017-04-19 23:49:26 +00:00
Adam Ierymenko
aaf597f020 Cleanup, Windows fixes, Self test fix 2017-04-18 12:22:44 -07:00