PapaTutuWawa
73613e266f
feat: Allow regerating a device's id
2022-08-18 15:08:05 +02:00
PapaTutuWawa
0a03483aaf
feat: Allow regenerating one's device identity
2022-08-18 15:02:17 +02:00
PapaTutuWawa
fda06cef55
feat: Implement acknowledging ratchet sessions
2022-08-16 14:02:04 +02:00
PapaTutuWawa
800b53b11f
style: Fix linter warnings
2022-08-16 13:46:08 +02:00
PapaTutuWawa
5a097e4d2a
feat: Allow removing a ratchet session
2022-08-16 13:27:21 +02:00
PapaTutuWawa
710b3c9497
feat: Allow serialising and deserialising without the ratchets
2022-08-16 12:57:16 +02:00
PapaTutuWawa
f540a80ec2
docs: Remove trust manager serialization from OmemoSessionManager
2022-08-16 12:54:15 +02:00
PapaTutuWawa
44ab31aebb
release: Bump version to 0.1.3
2022-08-11 12:06:02 +02:00
PapaTutuWawa
e4f1d7d4b0
docs: Fix indent in README
2022-08-11 12:04:40 +02:00
PapaTutuWawa
7600804aa1
test: Uncomment those tests
2022-08-11 12:02:33 +02:00
PapaTutuWawa
a4589b6e09
feat: Allow access to the device map
2022-08-11 12:02:21 +02:00
PapaTutuWawa
d0986a4608
fix: Fix ratchet only working for one message
2022-08-11 11:57:33 +02:00
PapaTutuWawa
683a76cc80
test: Add test for sending multiple OMEMO messages
2022-08-10 17:24:35 +02:00
PapaTutuWawa
dad707f71d
release: Sigh, bump to 0.1.2
2022-08-09 16:40:41 +02:00
PapaTutuWawa
419be8af4d
Revert "meta: Lower Dart SDK requirement"
...
This reverts commit fafc4f2320 .
2022-08-09 16:40:19 +02:00
PapaTutuWawa
fafc4f2320
meta: Lower Dart SDK requirement
2022-08-09 16:32:59 +02:00
PapaTutuWawa
fc842fe000
docs: Add note about using omemo_dart
2022-08-09 16:05:05 +02:00
PapaTutuWawa
e3de50e0c7
release: Make pub happy
2022-08-09 16:02:20 +02:00
PapaTutuWawa
234c2088b9
docs: Add notes on protobuf
2022-08-09 16:00:12 +02:00
PapaTutuWawa
ad3f1d4579
release: Publish to polynom.me
2022-08-09 15:51:22 +02:00
PapaTutuWawa
5bec3b4587
docs: Add note about events to the example
2022-08-09 15:49:40 +02:00
PapaTutuWawa
6e7b8e3905
docs: Add an example
2022-08-09 15:48:26 +02:00
PapaTutuWawa
cb43bbb112
fix: Allow empty OMEMO messages to bypass trust
2022-08-09 14:45:04 +02:00
PapaTutuWawa
fa16f97113
refactor: Move events to lib/src/omemo
2022-08-08 19:11:27 +02:00
PapaTutuWawa
5158c32c3d
feat: Make BlindTrustBeforeVerificationTrustManager abstract
2022-08-08 18:58:53 +02:00
PapaTutuWawa
c1fb79a20f
feat: Implement a BTBV TrustManager
2022-08-08 18:47:43 +02:00
PapaTutuWawa
dafd0af1e5
feat: Add a base trust manager class
2022-08-08 18:03:05 +02:00
PapaTutuWawa
e9f190036c
refactor: Move data classes into their own files
2022-08-08 17:43:15 +02:00
PapaTutuWawa
5b739aaf1a
fix: Do not keep the old SPK signature
2022-08-08 15:50:00 +02:00
PapaTutuWawa
1bcbf27c83
feat: Make any SPK survive exactly one rotation
2022-08-08 15:48:12 +02:00
PapaTutuWawa
b8b6bbf800
feat: Track the old Signed Prekey after rotation
2022-08-08 15:32:08 +02:00
PapaTutuWawa
9c23721904
docs: Add documentation string to Device.toBundle()
2022-08-08 15:11:15 +02:00
PapaTutuWawa
9626763b44
feat: Make the replacement functions internal
2022-08-08 15:10:36 +02:00
PapaTutuWawa
43080d2ba0
feat: Expose rotating our own bundle's SPK
2022-08-08 15:09:44 +02:00
PapaTutuWawa
9f986c3369
feat: Handle empty OMEMO messages
2022-08-08 14:59:46 +02:00
PapaTutuWawa
8c1a78e360
feat: Allow encrypting to multiple Jids
2022-08-08 14:44:05 +02:00
PapaTutuWawa
5a187bae97
docs: Add documentation string for EncryptedKey
2022-08-08 14:28:52 +02:00
PapaTutuWawa
9a9c9f064b
feat: Make RatchetMapKey internal
2022-08-08 14:28:02 +02:00
PapaTutuWawa
dd96e840d4
feat: Allow calculating fingerprints
2022-08-08 14:26:25 +02:00
PapaTutuWawa
70ab74b8dc
docs: Add protobuf as a dev dependency
2022-08-07 17:02:06 +02:00
PapaTutuWawa
be239fdb43
feat: Add events for commiting the device map and ratchet
2022-08-06 13:51:07 +02:00
PapaTutuWawa
859f25d867
feat: Allow serialising and deserialising OmemoSessionManager
2022-08-06 12:24:26 +02:00
PapaTutuWawa
3b8ccfaccf
docs: Add gitlint to README
2022-08-06 11:26:47 +02:00
PapaTutuWawa
189d823c87
fix: Track ratchet sessions using the (jid, device) tuple
2022-08-06 11:25:41 +02:00
PapaTutuWawa
f8830b974b
chore: Implement gitlint
2022-08-06 11:19:26 +02:00
PapaTutuWawa
70d0391020
docs: Fix sentence in README
2022-08-05 18:36:37 +02:00
PapaTutuWawa
1a672677e0
docs: Update README
2022-08-05 18:26:20 +02:00
PapaTutuWawa
fdc3985a8d
feat: Serialise the Double Ratchet
2022-08-05 18:14:10 +02:00
PapaTutuWawa
cd77996db4
feat: Allow serialising Device to Json
2022-08-05 17:32:59 +02:00
PapaTutuWawa
3a7489a9c3
feat: Make most methods of the SessionManager private
2022-08-05 16:53:31 +02:00
PapaTutuWawa
62fdf568aa
feat: Notify the user of a modified device
2022-08-05 16:52:02 +02:00
PapaTutuWawa
30e3bd78cd
feat: Allow initiating multiple sessions for a message
2022-08-05 16:05:05 +02:00
PapaTutuWawa
399f8033a3
test: Test the response to the new session
2022-08-05 15:53:16 +02:00
PapaTutuWawa
b5d39339d1
feat: Allow building a session when receiving
2022-08-05 13:34:42 +02:00
PapaTutuWawa
ff7cc8e95a
fix: Migrate more from protobuf
2022-08-05 13:02:44 +02:00
PapaTutuWawa
9ed94c8f3a
fix: Migrate to custom protobuf
2022-08-05 12:59:10 +02:00
PapaTutuWawa
5c3cc424de
feat: Implement all protobuf messages
2022-08-05 12:28:46 +02:00
PapaTutuWawa
b8d70f1b88
feat: Add helper functions for field Ids
2022-08-04 23:08:02 +02:00
PapaTutuWawa
a82b5d0990
feat: Reimplement the OMEMOMessage protobuf schema
2022-08-04 22:55:47 +02:00
PapaTutuWawa
08ec093675
fix: Track device Ids as integers
2022-08-04 16:57:12 +02:00
PapaTutuWawa
31ee61a5cd
feat: Add convenience functions
2022-08-04 16:42:12 +02:00
PapaTutuWawa
b745973188
fix: Make decryption work
2022-08-04 16:30:09 +02:00
PapaTutuWawa
31d3897995
fix: Migrate Double Ratchet to the helper functions
2022-08-04 14:10:08 +02:00
PapaTutuWawa
4d6dbef549
feat: Add a untest decrypt function
2022-08-04 14:01:50 +02:00
PapaTutuWawa
e34e0cc7fb
feat: Add managing our own keys
2022-08-04 13:19:27 +02:00
PapaTutuWawa
27b1931629
feat: Add a basic OMEMO session manager
2022-08-04 12:50:19 +02:00
PapaTutuWawa
713ea8e1b1
refactor: Rename key.dart to keys.dart
2022-08-03 17:18:14 +02:00
PapaTutuWawa
749e2e1a0a
refactor: Move OmemoBundle into omemo/
2022-08-03 17:16:40 +02:00
PapaTutuWawa
55979fcbbe
refactor: Move the implementations into their own directory
2022-08-03 17:15:08 +02:00
PapaTutuWawa
1349df9274
refactor: Move the DH function into its own file
2022-08-03 16:55:56 +02:00
PapaTutuWawa
e11baabfa0
feat: Remove the identityKey == 3 case
2022-08-03 16:52:42 +02:00
PapaTutuWawa
f897431692
docs: Improve documentation
2022-08-03 16:50:27 +02:00
PapaTutuWawa
45d0c57305
fix: Throw a custom exception
2022-08-03 16:44:18 +02:00
PapaTutuWawa
8d222a160f
feat: Check the HMAC during decryption
2022-08-03 16:41:33 +02:00
PapaTutuWawa
6d8238475c
refactor: Remove pkcs7padding function
2022-08-03 16:38:04 +02:00
PapaTutuWawa
a95a1e3a8d
style: Use .isEven instead of '% 2 == 0'
2022-08-03 16:33:22 +02:00
PapaTutuWawa
37155d2a87
test: Test 100 rounds of messages between the two ratchets
2022-08-03 16:32:39 +02:00
PapaTutuWawa
2fc2623092
docs: I meant 0.8.3, not 0.8.0
2022-08-03 16:32:22 +02:00
PapaTutuWawa
1a0f470ada
feat: IMPLEMENT THE DOUBLE RATCHET WITH X3DH
2022-08-03 15:29:13 +02:00
PapaTutuWawa
4e3e20f08c
???: Move code around
2022-08-03 15:13:03 +02:00
PapaTutuWawa
d3c8d813a9
wip: Add the basics for the Double Ratchet
2022-08-02 18:13:14 +02:00
PapaTutuWawa
56ae882aa0
style: Fix linter warning
2022-08-02 15:44:31 +02:00
PapaTutuWawa
26019ac704
style: Move the X3DH info string into a constant
2022-08-02 15:43:39 +02:00
PapaTutuWawa
4211775c90
feat: Add signature validation
2022-08-02 15:40:26 +02:00
PapaTutuWawa
fc43655956
feat: Calculate the Appended Data
2022-08-02 15:26:00 +02:00
PapaTutuWawa
12e617ead9
docs: Update README
2022-08-02 15:20:23 +02:00
PapaTutuWawa
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
PapaTutuWawa
566cb1b0ec
style: Lint using very_good_analysis
2022-08-02 15:10:31 +02:00
PapaTutuWawa
d86e7f5963
refactor: Clean up the X3DH implementation
2022-08-02 15:03:58 +02:00
PapaTutuWawa
34df73c929
ENABLE X3DH WITH ED25519 KEYS
2022-08-01 23:20:31 +02:00
PapaTutuWawa
0565cdef81
IMPLEMENT X3DH (without OMEMO)
2022-08-01 22:08:38 +02:00
PapaTutuWawa
18c6fdb54e
Initial commit
2022-06-30 14:00:18 +02:00