Torsten Grote
06ce20dba2
add common tests for MetadataParserImpl and MetadataEncoderImpl
2016-01-12 14:34:52 -02:00
akwizgran
a847b30ed3
Code cleanup, complain about lack of unit tests.
2016-01-12 11:35:44 +00:00
akwizgran
7be7ce8eda
Update data format to match BDF spec.
2016-01-12 11:35:30 +00:00
akwizgran
25c9cff8d6
Merge branch '112-transport-properties-manager' into 'master'
...
Transport properties manager facade, key manager refactoring. #112
Refactoring for #112 : decouple the invitation and plugin code from the database with a TransportPropertiesManager facade (which will become a BSP client), and move some key management logic from the invitation code to the KeyManager. Update the integration tests to use the new FooManager facades.
See merge request !49
2016-01-12 11:35:18 +00:00
akwizgran
3c6ead0603
Code clarity, more unit tests for ByteUtils.
...
Addresses comments for !48 .
2016-01-12 11:10:22 +00:00
akwizgran
805bf39ec8
Created TransportPropertyManager facade.
2016-01-04 12:56:06 +00:00
akwizgran
6a4aea77fb
Final crypto changes for BTPv2. #111
...
Use BLAKE2s to generate tags.
KDF arguments for key rotation.
Frame IV format.
2016-01-04 12:42:30 +00:00
akwizgran
90af176810
Use BLAKE2s for hashing, key derivation and signatures.
...
SHA-256 is still used for password-based key derivation (will be replaced with Argon2) and Fortuna.
2015-12-31 17:42:11 +00:00
str4d
d5b347e6c9
BLAKE2s implementation
...
Implementation is based on the BLAKE2b implementation from BouncyCastle, and is
therefore licensed under the BouncyCastle license (which will make future
upstreaming of the code easier).
2015-12-31 16:01:33 +00:00
akwizgran
73bb3b0065
Fixed return value of process().
2015-12-18 16:47:01 +00:00
akwizgran
fc897bd1b9
Use XSalsa20-Poly1305 instead of AES-GCM. #111
2015-12-18 16:47:01 +00:00
akwizgran
ad0972877b
Updated TestStreamEncrypter/Decrypter.
2015-12-18 13:34:02 +00:00
akwizgran
f2efe7f2ea
Implement stream header for BTPv2. #111
2015-12-18 13:34:02 +00:00
akwizgran
52720c5c04
Pass-through implementations of UI/DB interfaces.
2015-12-17 16:56:57 +00:00
akwizgran
c5282c5b17
Moved some API classes into packages.
2015-12-17 16:56:57 +00:00
Torsten Grote
2d28dcada2
Create two new events to signal enabling and disabling of transports
2015-12-17 11:34:10 -02:00
akwizgran
c7e4d5ffa9
Merge branch '147-crypto_secretbox' into 'master'
...
147 crypto secretbox
Closes #147
See merge request !27
2015-12-17 09:23:26 +00:00
str4d
3f54657ca0
Simple test vectors for XSalsa20/Poly1305
...
Test vectors taken from NaCl paper.
2015-12-16 19:51:06 +00:00
akwizgran
60a5b28e57
Renamed DatabaseComponentTest.
2015-12-16 12:17:38 +00:00
akwizgran
6e61504d24
Removed message expiry code. #180
2015-12-16 12:17:38 +00:00
akwizgran
2ca2356ecc
Moved MessageHeader to sync package.
2015-12-15 15:05:16 +00:00
akwizgran
e370cafb12
Moved classes from messaging package to sync package.
2015-12-15 15:05:06 +00:00
akwizgran
6dc225d037
Refactor KeyManager and TagRecogniser. #55
2015-12-14 11:05:37 +00:00
akwizgran
9868feeb2a
Refactor KeyManager and TagRecogniser. #55
2015-12-14 11:02:49 +00:00
akwizgran
912ba394c5
Refactored FileUtils.
...
Removed methods that are no longer needed for Java 6, moved the remaining method into the utils directory.
2015-12-10 15:58:52 +00:00
akwizgran
947da886bf
Fixed broken tests.
2015-12-10 15:14:50 +00:00
Ernir Erlingsson
a5fd7ff9dc
Added dependency injections for FileUtils and removed redundant code
2015-12-10 11:07:10 +01:00
akwizgran
123dff3a3d
Don't mix JUnit 4 annotations with JUnit3 TestCase.
2015-12-08 14:53:50 +00:00
akwizgran
8ae3fb3e35
Upgraded Spongy Castle to 1.53, fixed tests. #146
2015-12-03 11:12:16 +00:00
akwizgran
7841ae52ca
Renamed SerialModule, fixed Roboguice module list.
2015-11-30 16:47:33 +00:00
akwizgran
027ae8340f
Whitespace-only code formatting changes.
2015-11-30 09:38:25 +00:00
akwizgran
d519c543a6
Represent booleans with a single byte.
2015-05-02 21:12:33 +01:00
akwizgran
41c4c4d808
Renamed raw data type.
2015-05-02 21:05:23 +01:00
akwizgran
b8e37a5421
Renamed serial component to data, moved consumers to briar-core.
2015-05-02 20:39:24 +01:00
akwizgran
416719e3d9
Removed silly SerialComponent interface.
2015-05-02 20:30:25 +01:00
akwizgran
32c9ce50d9
Moved the messaging protocol one step closer to BSP.
...
This breaks backward compatibility for the wire protocol and messages
stored in the database. The database schema version has been
incremented.
2015-05-01 16:59:27 +01:00
akwizgran
dea5a44724
Simpler forum sharing UX.
2015-04-29 15:08:58 +01:00
akwizgran
f8a4a4920d
Merge branch 'AbrahamKiggundu/briar-master': better lock encapsulation
2015-01-29 11:28:48 +00:00
akwizgran
0dbfd7073f
Comments to indicate which locks guard which variables.
2015-01-29 11:12:41 +00:00
akwizgran
47bd84122e
Code formatting and small cleanups.
2015-01-28 21:18:31 +00:00
akwizgran
7fbad8dc26
Use FortunaGenerator to implement PseudoRandom.
2015-01-14 20:46:03 +00:00
akwizgran
112d80420c
Downgrade to 256-bit curve for performance.
...
Also reduced hash function to 256 bits because our target security level
is now 128 bits.
2015-01-09 13:23:44 +00:00
akwizgran
5d46d3a4b4
AuthenticatedCipher interface isn't needed outside crypto package.
2015-01-09 13:06:44 +00:00
akwizgran
dc5e37a96d
Remove AAD from AuthenticatedCipher interface.
2015-01-09 13:01:02 +00:00
akwizgran
ed79719bab
Unit tests for StreamEncrypterImpl.
2015-01-05 18:55:17 +00:00
akwizgran
1f69f0d2f6
Variable-length frames (untested).
2015-01-05 17:35:45 +00:00
akwizgran
d3bf2d59a1
Use the same maximum frame length for all transports.
2015-01-05 16:24:44 +00:00
akwizgran
358166bc12
Don't try to erase secrets from memory.
...
1. The things we're really trying to protect - contact identities,
message contents, etc - can't be erased from memory because they're
encapsulated inside objects we don't control.
2. Long-term secrets can't be protected by erasing them from memory
because they're stored in the database and the database key has to be
held in memory whenever the app's running.
3. If the runtime uses a compacting garbage collector then we have no
way to ensure an object is erased from memory.
4. Trying to erase secrets from memory makes the code more complex.
Conclusion: Let's not try to protect secrets from an attacker who can
read arbitrary memory locations.
2014-12-29 21:08:27 +00:00
akwizgran
f316d64afa
Moved stream crypto to crypto component.
2014-12-29 19:55:05 +00:00
akwizgran
388b36b6be
Check periodically for retransmittable packets. Bug #46 .
2014-12-14 20:26:41 +00:00