Commit graph

48 commits

Author SHA1 Message Date
Adam Ierymenko
9428fc53f6
A bunch of cleanup, bug fix, just use unordered_map, etc. 2020-03-30 17:28:23 -07:00
Adam Ierymenko
cbf174f96d
Warning removal. 2020-03-27 19:35:37 -07:00
Adam Ierymenko
bedf63e257
Some minor security tightening stuff and AES fixes. 2020-03-26 13:54:15 -07:00
Adam Ierymenko
d151d731a6
(1) Mask bit 31 of AES-CTR nonce to disallow uint32 overflow, (2) get rid of handling of uint32/uint64 overflow in our AES-CTR code to optimize, (3) optimize AES software a bit 2020-03-26 10:28:59 -07:00
Adam Ierymenko
490b9c4d79
Moar build fixes, clock perf improvement. 2020-03-23 16:12:45 -07:00
Adam Ierymenko
24e30a684b
A bunch of little nit-picky header and name cleanup. 2020-03-04 08:16:44 -08:00
Adam Ierymenko
dcb3d49d35
Cleanup, Address refactoring, tweak V1 identity generation a bit. 2020-02-25 16:08:27 -08:00
Adam Ierymenko
a58f11e601
Tweak protocol getPacketId(), unit tests for defragmenter, AES fix. 2020-02-25 05:36:48 -08:00
Adam Ierymenko
15e88a8b7e
MOAR AES V-TEC 2020-02-24 13:53:50 -08:00
Adam Ierymenko
61b72d42b8
More AES tweaks 2020-02-24 13:30:35 -08:00
Adam Ierymenko
56bf504ec2
Small AES tweak 2020-02-24 12:48:56 -08:00
Adam Ierymenko
1f02250dd8
Ridiculously fast AES-CTR 2020-02-24 11:56:37 -08:00
Adam Ierymenko
5d0c6db19c
Crypto fixes and benchmarks. 2020-02-21 19:32:36 -08:00
Adam Ierymenko
4af3467757
AES-CTR test vectors and fixes to CTR code. 2020-02-21 17:22:26 -08:00
Adam Ierymenko
1d885cf810
Build fixes, put uint128_t detection in one place. 2020-02-21 07:25:43 -08:00
Adam Ierymenko
46d3780e89
AES stuff, port sending network credentials to new packet format. 2020-02-18 17:17:10 -08:00
Adam Ierymenko
311c98e24e
Various other small things. 2020-02-18 14:20:49 -08:00
Adam Ierymenko
3448e6fc76
Yet MORE refactoring, including moving expected-reply-to out of Node and into its own class for cleanliness. 2020-02-14 14:12:42 -08:00
Adam Ierymenko
e5c7366e71
Yet more minor refactoring and redesign Meter to be more thread-safe. 2020-02-14 11:34:47 -08:00
Adam Ierymenko
e236d6f743
More minor refactoring 2020-02-14 10:19:45 -08:00
Adam Ierymenko
5db0d9438c
More built-in AES and GMAC primitive work. 2020-02-14 09:05:48 -08:00
Adam Ierymenko
08e06f9b8f
More refactoring and a bunch of AES goodness. 2020-02-13 14:44:18 -08:00
Adam Ierymenko
f21ecb3762
Yet more major and very nit-picky refactoring for performance, etc. Also use std::atomic<> now with a TODO to implement a shim if we ever do need to build this on a pre-c++11 compiler. 2020-02-12 14:04:25 -08:00
Adam Ierymenko
91ce4c4ea6
Refactoring protocol marshal/unmarshal code... 2020-01-24 21:16:07 -08:00
Adam Ierymenko
33bb61c63d
Loads of refactoring, integration of new version of Trace. 2020-01-23 13:05:33 -08:00
Adam Ierymenko
782b75a64e
Linux build fixes 2020-01-20 21:27:51 -08:00
Adam Ierymenko
73b23f1b16
Go code cleanup and fixes, other cleanup. 2020-01-20 16:03:19 -08:00
Adam Ierymenko
eef70e198b
Version 2.x notice updates and other boring stuff. 2020-01-20 08:46:20 -08:00
Adam Ierymenko
53b7c8f725
Make Peer bootstrap field an Endpoint even though we only support InetAddress right now, and a bunch more stuff. 2020-01-20 08:08:38 -08:00
Adam Ierymenko
83eacdfada
New Buffer implementation (not used yet) and cleanup 2020-01-10 15:28:27 -08:00
Adam Ierymenko
ef64e6a336
Build fixes, cleanup 2020-01-08 21:24:47 -08:00
Adam Ierymenko
6267c67888
A bunch of cleanup and refactoring toward 2.x 2019-12-12 16:15:49 -08:00
Adam Ierymenko
87fe69c27c
AES optimization rabbit hole 2019-09-13 09:35:49 -07:00
Adam Ierymenko
2d1eeda188
Cleanup, optimization 2019-09-12 14:32:37 -07:00
Adam Ierymenko
8faaaec710
Add check for PCLMUL instruction too. Virtually all CPUs with AES-NI have it but good to be sure. 2019-08-26 19:48:56 -07:00
Adam Ierymenko
e1dd413266
cleanup 2019-08-26 18:44:56 -07:00
Adam Ierymenko
b9ef09dd58
Optimization stuff 2019-08-26 18:15:32 -07:00
Adam Ierymenko
990333e7ec
cleanup, re-enable AES-NI check 2019-08-26 16:35:28 -07:00
Adam Ierymenko
ec9582f3f2
More test vectors, software mode GCM. 2019-08-26 16:24:42 -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
52d55e34e6
Licenses, and use full strength AES-128 in scramble. 2019-08-23 12:03:13 -07:00
Adam Ierymenko
37047a39f9
More cleanup, and fix SHA384 built-in C code. 2019-08-22 14:52:47 -07:00
Adam Ierymenko
7650786fb5
cleanup, Locator fix and self-test 2019-08-19 15:43:15 -07:00
Adam Ierymenko
7bdca83de3
Add decrypt 2019-08-16 18:40:22 -07:00
Adam Ierymenko
a0520536df
. 2019-08-13 08:49:25 -07:00
Grant Limberg
e4ce1ffd85 Windows detection of AES-NI 2019-08-12 15:28:42 -07:00
Adam Ierymenko
d02d3f72fe
AES-GCM code 2019-08-12 12:51:32 -07:00
Adam Ierymenko
809c8305b1
AES code 2019-08-09 10:54:08 -05:00