Commit Graph

231 Commits

Author SHA1 Message Date
David Vennik
b908a46ad7 updating bumper 2022-11-08 11:01:23 +01:00
David Vennik
2865f46497 fixed segmentation bug related to a segment precisely filling one segment 2022-11-07 17:10:00 +01:00
David Vennik
349072273a Aadded redundancies to test ridiculous amounts of redundancy
warning, very slow on 1.7Mb packet
2022-11-06 12:34:03 +01:00
David Vennik
23c93313e4 Fixed error where redundancy is above zero but rounding down makes zero parity 2022-11-06 12:28:39 +01:00
David Vennik
64e972ab26 Join with FEC when no errors test passing 2022-11-04 16:19:38 +01:00
David Vennik
965ee91b30 Working split/join test 2022-11-04 14:58:31 +01:00
David Vennik
eb6aba20f0 fixed mutation of original data packet in split function 2022-11-03 16:33:32 +01:00
David Vennik
320b97bf6b Part way done with joiner, need to revise header for segmenter 2022-11-02 16:09:12 +01:00
David Vennik
fcc8edbe57 Nice splitter using new segment calculator done 2022-10-31 15:41:25 +01:00
David Vennik
eee5a5d6b2 Beginning with the 8 bit redundancy scale scheme 2022-10-25 09:24:56 +02:00
David Vennik
b31151172e Changed splitter to pad out to multiples of 4 2022-10-24 09:51:18 +02:00
David Vennik
fd114c8485 completed working segmenter 2022-10-23 19:57:03 +02:00
David Vennik
43c054afdd Adding padding 2022-10-23 13:57:49 +02:00
David Vennik
410ba2c5ca Drafted segmenter, rejigged packet data sizes
needed to get extra 2 bytes for payload length value, shortened data/parity shard spec to bytes, payload length before nonce so nonce is on 16 byte boundary as well as payload
2022-10-23 10:50:13 +02:00
David Vennik
17a766502d starting on segmenter 2022-10-22 20:19:04 +02:00
David Vennik
dad5abeb5c Added Tot for Seq and RS params 2022-10-22 17:03:00 +02:00
David Vennik
fff3b54114 Should be stable encrypted packet format now
ready to create segmentation/RS api
2022-10-22 12:12:02 +02:00
David Vennik
d8f5664e7d updating bumper to recompile itself 2022-10-21 16:53:38 +02:00
David Vennik
68606c0948 changed encode/decode to use random message sizes 2022-10-21 16:48:48 +02:00
David Vennik
b34d05bdcb changed sign/recover test to use hash instead of 32 byte message 2022-10-21 16:38:45 +02:00
David Vennik
eb3cda0166 Working tests for encryption/signing 2022-10-21 16:34:07 +02:00
David Vennik
f1f2001f0b Fixing error in bumper template 2022-10-21 11:47:55 +02:00
David Vennik
0fd4db502a Fixing error from not rebuilding bumper 2022-10-21 11:46:30 +02:00
David Vennik
e4633df63e Total revision of everything to consistency
all functions nicely commented, utility functions to be more DRY
2022-10-21 11:37:21 +02:00
David Vennik
fe215602d6 Eliminating split lines for clearer visual flow 2022-10-19 11:59:31 +02:00
David Vennik
804deeb915 spreading everything out into its own thing so we get no tangles later 2022-10-19 11:48:36 +02:00
David Vennik
41c348ec38 Separated mesg, sifr, and dialog 2022-10-19 11:25:44 +02:00
David Vennik
4f79419c6d Added uniform 256 bit wide padding to message
Also has 64 bits of length prefix to ensure messages come in aligned and to pad out to round 32 byte lengths making onion pad simpler and faster.
2022-10-19 06:23:46 +02:00
David Vennik
699b35e0e3 Modularised message and crypt so they can wrap in each other 2022-10-18 12:59:25 +02:00
David Vennik
5c1139a3a8 updated to use simd where possible for sha256, and small error fix 2022-10-18 00:38:12 +02:00
David Vennik
ef17236199 Eliminated dependency and use of blake256 in schnorr signature scheme
we now have officially invented EC-Schnorr-INDRAv0
2022-10-17 22:59:31 +02:00
David Vennik
eaf2838d08 Implement and test EC signed and encrypted message 2022-10-17 19:33:08 +02:00
David Vennik
66951a068f Revising to minimal for using gotiny codec for fast serialization for the wire 2022-10-15 19:38:29 +02:00
David Vennik
c6a71eb0a7 Part way through revising full set of input/composition methods 2022-10-14 17:20:10 +02:00
David Vennik
c79720050f Initial draft of Dialog based sifr library 2022-10-13 18:13:46 +02:00
David Vennik
9ef248e650 Added binary format spec 2022-10-13 10:49:53 +02:00
David Vennik
a5e28bcdc5 Created nice readable table to explain sifr message protocol 2022-10-13 10:15:50 +02:00
David Vennik
b6779c6689 This is a total draft, just trying to crystallise the message flow. 2022-10-12 18:54:30 +02:00
David Vennik
b2f4d7dfd9 More benches to see relative time costs 2022-10-07 19:01:26 +02:00
David Vennik
fa65f74f3e Developing the encryption protocol
based on the benchmarks it looks like a per message cycle rollover of ECDH keys is possible, which is very strong, entropy in each cycle.
2022-10-07 17:26:34 +02:00
David Vennik
94bd4049a0 Fixed error handling in schnorr package 2022-10-07 10:51:34 +02:00
David Vennik
1b7755e601 Completed secp256k1 wrapper and tests
everything bitcoiny, the curve, the hash function, including the standard double hash, plus schnorr signatures and ECDH
2022-10-06 10:22:07 +02:00
David Vennik
594e3c7ccf Added clean implementation of ECDH for curve25519 2022-10-05 12:43:02 +02:00
David Vennik
ab903a4407 fixed retarded goland reflow error 2022-09-29 20:50:01 +02:00
David Vennik
53509f8211 Small correction about cipher rollover and session keys 2022-09-29 20:49:10 +02:00
David Vennik
7146ba5ebd New revision of whitepaper
adds more details relating to exit charges, how path acknowledgement charges are applied, and return on the return leg, as well as the developer fee scheme.
2022-09-29 20:42:42 +02:00
David Vennik
5acbf50d8e added start of router 2022-09-19 12:15:45 +02:00
David Vennik
d319027012 final draft of WP now done 2022-09-19 09:08:44 +02:00
David Vennik
9ea022992f further fine revisions 2022-09-18 19:27:34 +02:00
David Vennik
fec17abd12 revising to make it more readable and logical 2022-09-18 18:54:46 +02:00