5c3cc424de
feat: Implement all protobuf messages
2022-08-05 12:28:46 +02:00
b8d70f1b88
feat: Add helper functions for field Ids
2022-08-04 23:08:02 +02:00
a82b5d0990
feat: Reimplement the OMEMOMessage protobuf schema
2022-08-04 22:55:47 +02:00
08ec093675
fix: Track device Ids as integers
2022-08-04 16:57:12 +02:00
31ee61a5cd
feat: Add convenience functions
2022-08-04 16:42:12 +02:00
b745973188
fix: Make decryption work
2022-08-04 16:30:09 +02:00
31d3897995
fix: Migrate Double Ratchet to the helper functions
2022-08-04 14:10:08 +02:00
4d6dbef549
feat: Add a untest decrypt function
2022-08-04 14:01:50 +02:00
e34e0cc7fb
feat: Add managing our own keys
2022-08-04 13:19:27 +02:00
27b1931629
feat: Add a basic OMEMO session manager
2022-08-04 12:50:19 +02:00
713ea8e1b1
refactor: Rename key.dart to keys.dart
2022-08-03 17:18:14 +02:00
749e2e1a0a
refactor: Move OmemoBundle into omemo/
2022-08-03 17:16:40 +02:00
55979fcbbe
refactor: Move the implementations into their own directory
2022-08-03 17:15:08 +02:00
1349df9274
refactor: Move the DH function into its own file
2022-08-03 16:55:56 +02:00
e11baabfa0
feat: Remove the identityKey == 3 case
2022-08-03 16:52:42 +02:00
f897431692
docs: Improve documentation
2022-08-03 16:50:27 +02:00
45d0c57305
fix: Throw a custom exception
2022-08-03 16:44:18 +02:00
8d222a160f
feat: Check the HMAC during decryption
2022-08-03 16:41:33 +02:00
6d8238475c
refactor: Remove pkcs7padding function
2022-08-03 16:38:04 +02:00
a95a1e3a8d
style: Use .isEven instead of '% 2 == 0'
2022-08-03 16:33:22 +02:00
37155d2a87
test: Test 100 rounds of messages between the two ratchets
2022-08-03 16:32:39 +02:00
2fc2623092
docs: I meant 0.8.3, not 0.8.0
2022-08-03 16:32:22 +02:00
1a0f470ada
feat: IMPLEMENT THE DOUBLE RATCHET WITH X3DH
2022-08-03 15:29:13 +02:00
4e3e20f08c
???: Move code around
2022-08-03 15:13:03 +02:00
d3c8d813a9
wip: Add the basics for the Double Ratchet
2022-08-02 18:13:14 +02:00
56ae882aa0
style: Fix linter warning
2022-08-02 15:44:31 +02:00
26019ac704
style: Move the X3DH info string into a constant
2022-08-02 15:43:39 +02:00
4211775c90
feat: Add signature validation
2022-08-02 15:40:26 +02:00
fc43655956
feat: Calculate the Appended Data
2022-08-02 15:26:00 +02:00
12e617ead9
docs: Update README
2022-08-02 15:20:23 +02:00
15df3b7f6b
fix: Remove TODO
...
The X3DH spec says that salt (presumably the nonce) is supposed
to be [0, 0, ..., 0] with the length of the hash. I seem to have
skipped over that.
From Section 2.2:
"HKDF salt = A zero-filled byte sequence with length equal to the
hash output length."
2022-08-02 15:17:07 +02:00
566cb1b0ec
style: Lint using very_good_analysis
2022-08-02 15:10:31 +02:00
d86e7f5963
refactor: Clean up the X3DH implementation
2022-08-02 15:03:58 +02:00
34df73c929
ENABLE X3DH WITH ED25519 KEYS
2022-08-01 23:20:31 +02:00
0565cdef81
IMPLEMENT X3DH (without OMEMO)
2022-08-01 22:08:38 +02:00
18c6fdb54e
Initial commit
2022-06-30 14:00:18 +02:00