Commit Graph

464 Commits

Author SHA1 Message Date
akwizgran
ff73905330 Changed to fixed-length frames (mostly untested). 2012-08-28 09:15:04 +01:00
akwizgran
b8b18add33 Replaced BouncyCastle with SpongyCastle for Android compatibility. 2012-08-24 12:22:40 +01:00
akwizgran
a9d196d511 Use the same method as Android to generate the Bluetooth UUID. 2012-08-22 11:53:41 +01:00
akwizgran
f4b34ca975 Moved defunct invitation and installer code to sandpit repo. 2012-07-03 10:49:43 +01:00
akwizgran
3eb3f8be3d Code cleanup for the transport protocol. 2012-05-24 19:08:53 +01:00
akwizgran
d6b260ed61 Use AES/GCM instead of AES/CTR and HMAC.
This makes us Suite B compliant and saves 32 bytes per frame. The
AES/GCM implementation refuses to decrypt the frame header before
checking the MAC, so we have to use AES/CTR to peek at the header. The
header is still covered by the MAC, and we still check it after peeking!
2012-05-24 18:38:19 +01:00
akwizgran
d074652f43 Incremental subscription updates (untested). 2012-05-19 02:17:41 +02:00
akwizgran
fadf0221d2 Use a DB index to avoid linear insertion time. 2012-05-19 01:09:24 +02:00
akwizgran
1ca4ea9dcd Further progress towards incremental subscription updates. 2012-05-18 23:54:03 +02:00
akwizgran
b4f0da53b5 Use a separate linked list for each contact, containing visible groups. 2012-05-17 23:08:57 +02:00
akwizgran
2f4b347cdf Keep a linked list of the IDs of subscribed groups. 2012-05-17 21:25:10 +02:00
akwizgran
c1133644e8 Debugging code to track down TorPuginTest failures. 2012-05-12 16:58:00 +02:00
akwizgran
46ed0cc4b1 Minor changes to serialisation library (mostly renaming). 2012-05-09 13:17:04 +02:00
akwizgran
78e18fb373 Simplified serialisation format. 2012-05-08 11:02:49 +02:00
akwizgran
a82ae82108 Optionally create a Tor plugin without a hidden service. Should speed up
tests.
2012-05-04 17:46:29 +01:00
akwizgran
4338bd9a8b Refactored PollingRemovableDriveMonitor, fixed test. 2012-05-04 14:24:16 +01:00
akwizgran
5814826573 Separated key agreement algorithm from signature algorithm. 2012-04-28 18:02:28 +01:00
akwizgran
b01b17f2b1 Fixed some key derivation bugs and removed an unnecessary argument.
CryptoComponentImpl needs some unit tests.
2012-03-29 20:11:11 +01:00
akwizgran
15d7fd5796 Encode the frame number at the start of the IV (easier to describe). 2012-03-29 19:38:53 +01:00
akwizgran
d7581586fd Length prefix all KDF arguments. 2012-03-29 16:58:21 +01:00
akwizgran
474fa3d523 All KDF arguments must be either null-terminated or length-prefixed. 2012-03-29 15:59:01 +01:00
akwizgran
0391c4cfcd Merged some redundant code. 2012-02-24 00:01:47 +00:00
akwizgran
c316ebcf7a Partial implementation of the invitation protocol (untested). 2012-02-23 23:18:25 +00:00
akwizgran
34cd8cddc3 Upgraded hash function to SHA-384 and MAC to HMAC-SHA-384.
This matches the security level of AES-256 according to NSA Suite B. To
better comply with Suite B we should replace the combination of CTR mode
and HMAC with GCM, which would reduce the MAC size from 48 to 16 bytes.
2012-02-22 13:17:07 +00:00
akwizgran
a9d91beaaa Removed unused variables. 2012-02-16 15:18:39 +00:00
akwizgran
c0eb71748c Removed an unnecessary allocation. 2012-02-10 16:44:18 +00:00
akwizgran
4ca5be7c06 Added a flag to indicate the last frame of the connection. 2012-02-07 10:46:01 +00:00
akwizgran
e8660c13ca Use a single NetLayer instance for all connections. 2012-02-07 09:58:13 +00:00
akwizgran
5656dc8df8 Another unit test for the Tor plugin. 2012-02-06 23:41:30 +00:00
akwizgran
fbf5c78f91 Factory and unit test for the Tor plugin; moved slow tests into their
own ant target.
2012-02-06 23:18:35 +00:00
akwizgran
ec6f60b065 Tor plugin using Silvertunnel's Netlib (untested). 2012-02-06 22:30:07 +00:00
akwizgran
6da30ca486 Plan B: Remove error correction and reliability layers and the
consequent distinction between segments and frames.
2012-02-06 16:03:09 +00:00
akwizgran
899ec5e19e Use a SortedMap for efficient insertions. 2012-01-24 14:40:45 +00:00
akwizgran
3d4b5e6282 Make room for the ack header. 2012-01-24 09:28:28 +00:00
akwizgran
ffe3bafce4 Tests and bugfixes for IncomingReliabilityLayerImpl. 2012-01-23 17:06:57 +00:00
akwizgran
9f1e3dea21 Incoming reliability layer with support for reordering (untested). 2012-01-21 18:48:24 +00:00
akwizgran
48ceaaea2a Renamed a couple of classes. 2012-01-20 23:28:17 +00:00
akwizgran
3a77ba9aaf Allow the transport to specify the maximum segment length. 2012-01-20 23:06:51 +00:00
akwizgran
13eff752da Keep a stack of free segments to reduce allocations. 2012-01-20 20:05:26 +00:00
akwizgran
337c1c8ac4 Unit tests for IncomingErrorCorrectionLayerImpl. 2012-01-20 19:56:18 +00:00
akwizgran
114ca203d8 Tests and bugfixes for XOR encoder and decoder. 2012-01-20 19:09:27 +00:00
akwizgran
74dd4e277f Tests and bugfixes for XorErasureDecoder. 2012-01-20 17:02:17 +00:00
akwizgran
2b737e7e53 Test and bugfixes for XorErasureEncoder. 2012-01-20 16:29:22 +00:00
akwizgran
f10af33b6f Outgoing error correction layer (untested). 2012-01-20 16:07:07 +00:00
akwizgran
e46ef15afb Incoming error correction layer (untested). 2012-01-20 15:37:33 +00:00
akwizgran
5a4505cb71 Fixed the frame reordering window. 2012-01-20 11:26:10 +00:00
akwizgran
92b67d9881 Removed a redundant method. 2012-01-19 23:34:58 +00:00
akwizgran
e43ffe1ab4 Frame reordering window. 2012-01-19 23:26:26 +00:00
akwizgran
02c516492f Moved connection window size to TransportConstants. 2012-01-19 22:13:26 +00:00
akwizgran
aabb8fb5b3 Split the functionality of ConnectionWriterImpl into layers. 2012-01-19 20:51:45 +00:00