Commit graph

48 commits

Author SHA1 Message Date
Adam Ierymenko
0e52da77f9
Fix identity work function and an issue with Salsa. 2022-06-24 12:04:52 -04:00
Adam Ierymenko
7fa60b10a3
IT TALKS! (HELLO, OK) 2022-06-23 16:40:47 -04:00
Adam Ierymenko
a61bcaf0f7
VL1 now says HELLO!!! 2022-06-22 16:29:51 -04:00
Adam Ierymenko
36a105ecbf
It now binds and sends packets. They are not correct but they are sent. 2022-06-20 15:11:01 -04:00
Adam Ierymenko
6ad30ba1f5
Infect the core with async. Was resisting it a bit but it makes things easier and will probably perform better than using hacks to avoid it. Optional for UDP but we will end up wanting this when we have TCP, HTTP, WebRTC, etc. transports. 2022-06-15 16:46:09 -04:00
Adam Ierymenko
2b221dade8
Cleanup, basic readme. 2022-06-14 11:56:59 -04:00
Adam Ierymenko
c3ce40b5ba
Wire through RootSet init, a bunch more work, almost ready to test! 2022-06-08 19:05:54 -04:00
Adam Ierymenko
ded7c25786
Another absolute ton of work including getting the service almost to the point that it is ready to say HELLO. Also added an event and tracing infrastructure in the core. Some of the common Rust tracing/logging libraries are not used directly in the core for speed and future portability reasons but they will likely be used in the service. 2022-05-25 18:28:07 -04:00
Adam Ierymenko
1ad5d623f5
Update license and copyright for a project not yet actually released. Final release license TBD. 2022-05-21 13:04:07 -04:00
Adam Ierymenko
9cc36aee0f
A few little security things and code reformat. 2022-05-21 11:53:25 -04:00
Adam Ierymenko
9d5c2a925d
An absolutely gigantic amount of refactoring to make the core and its service (or other users) interact in a way that is rustier and also better for performance. Also vastly simplifies some code. 2022-05-18 13:40:44 -04:00
Adam Ierymenko
1f79a2a707
A bunch of reorg and other cleanup. 2022-04-29 16:19:21 -04:00
Adam Ierymenko
6d232f817c
Some renaming to be logical. 2022-04-28 14:03:48 -04:00
Adam Ierymenko
b1f67b13f9
Fix a weird little bug (actually incompatibility with the old code) in x25519 handling in identity, and more cleanup. 2022-04-28 13:52:00 -04:00
Adam Ierymenko
3bdefc1d83
Add a bunch of stuff to InetAddress, clean up, fix some build errors in service. 2022-04-26 16:19:10 -04:00
Erik Hollensbe
c5b9036b9e
rustfmt tree
Signed-off-by: Erik Hollensbe <git@hollensbe.org>
2022-04-18 14:22:57 -07:00
Adam Ierymenko
a1ed223dd1
Cleanup. 2022-04-08 09:23:54 -04:00
Adam Ierymenko
4ca9e49b4a
Build fixes. 2022-02-21 17:06:24 -05:00
Adam Ierymenko
99b283651a
Peer stuff, and do not include signatures in identity in fingerprint in case signatures can be malleable. Fingerprint should be address and keys only. 2022-02-21 16:44:44 -05:00
Adam Ierymenko
d5be872491
Implement a hybrid key, rev identity again to make it upgradable. 2022-02-18 12:03:45 -05:00
Adam Ierymenko
ca823e5fa3
Attic some stuff, cleanup. 2022-02-17 11:33:13 -05:00
Adam Ierymenko
4a6e88344c
(1) switch NIST curve to P-384 since there is no point in 521 and NSA may not even accept it, (2) simplify ephemeral key stuff, (3) toss some stuff in the attic. 2022-02-16 18:22:20 -05:00
Adam Ierymenko
95951ed14e
Replicator P2P code, and build fixes. 2022-01-10 16:17:40 -05:00
Adam Ierymenko
86c366f1bd
Much more Rust work on sync and hypervisor. 2022-01-07 11:26:12 -05:00
Adam Ierymenko
09d7e25254
Too much to list, but mostly sync stuff. 2021-12-30 18:15:32 -05:00
Adam Ierymenko
e55d3e4d4b
Bunch of sync stuff including a neat set reconiciliation thing. 2021-12-21 21:43:09 -05:00
Adam Ierymenko
4a9938dfd3
Implement identity V1 so as to make it backward compatibile with old versions, and tons of build fixes. 2021-12-10 21:57:50 -05:00
Adam Ierymenko
018889d3b4
Rust edition bump. 2021-12-07 11:31:31 -05:00
Adam Ierymenko
9b71b354b0
More Rust stuff, cleanup, rework identity, add array concat convenience functions. 2021-12-07 11:20:39 -05:00
Adam Ierymenko
810a1fb229
Just a whole bucket of Rust. 2021-12-06 09:40:41 -05:00
Adam Ierymenko
c99fc2f36e
A few simplifications. 2021-11-30 16:52:22 -05:00
Adam Ierymenko
b335c631a9
Use a state hash for determining if ephemeral ratchet can advance, and some big perf improvements in SIDH. 2021-11-17 10:17:23 -05:00
Adam Ierymenko
afa493654f
A few perf things. 2021-11-16 14:17:53 -05:00
Adam Ierymenko
06bd77946b
Build fixes, ephemeral keying logic and ratchet logic, split out symmetric key since it is a non-trivial type. 2021-11-12 18:04:34 -05:00
Adam Ierymenko
184c4aede1
Optimize SIDH code for about a 25% speed improvement. 2021-11-11 15:29:35 -05:00
Adam Ierymenko
c7b2a3703e
More opt fixes in sidh. 2021-11-10 15:40:15 -05:00
Adam Ierymenko
9fec98bff2
Add bench during SIDH testing. 2021-11-10 15:31:32 -05:00
Adam Ierymenko
7c6d003a5e
Smaller code is often faster. 2021-11-10 08:54:43 -05:00
Adam Ierymenko
16aa1b4eeb
Some optimizations. 2021-11-09 16:58:31 -05:00
Adam Ierymenko
30b4344acd
Add some files from original sidh-rs. 2021-11-09 16:52:46 -05:00
Adam Ierymenko
91493713a1
A lot of service work, and incorporate fork of https://github.com/etairi/sidh-rs into zerotier-core-crypto. 2021-11-09 16:52:07 -05:00
Adam Ierymenko
39aeab6819
Tweak V1 identity PoW, rewrite root set to be cleaner, docs, warning removal, test fix in AES-GMAC-SIV. 2021-11-05 15:30:54 -04:00
Adam Ierymenko
cd62b6a932
Move varint to crypto since a few of these utils will be useful everywhere. 2021-11-03 12:20:02 -04:00
Adam Ierymenko
6c504af012
Build fixes and a fix to the UDP socket implementation. 2021-11-03 12:09:26 -04:00
Adam Ierymenko
7318a188b2
Build and test fixes. 2021-11-03 09:52:35 -04:00
Adam Ierymenko
9c64f262a3
MPL! 2021-11-01 18:42:01 -04:00
Adam Ierymenko
08e15bb92b
Docs, formatting. 2021-11-01 17:59:01 -04:00
Adam Ierymenko
0e3fa9589e
Rename some folders in Rust tree so folder names equal Rust package names. 2021-10-14 18:52:50 -04:00