Mark Haines
|
b318055185
|
Replace hard coded references to the 32-byte key length with a constant, add utilities for copying data to and from fixed sized arrays
|
2015-08-19 17:32:06 +01:00 |
|
Mark Haines
|
159faa1e2b
|
Make the internal functions static, remove some unused internal functions
|
2015-08-18 17:09:55 +01:00 |
|
Mark Haines
|
158f7ee891
|
Fix crash where the message length was shorter than the length of the mac
|
2015-08-07 19:33:48 +01:00 |
|
Mark Haines
|
a4b2927884
|
Initialise the length fields of the reader struct in decode_message, even if the message is invalid, fixes a crash where the message was too short
|
2015-08-07 18:58:42 +01:00 |
|
Mark Haines
|
76ecd85c2c
|
Fix a crash when decoding messages that are too short
|
2015-08-07 18:25:21 +01:00 |
|
Mark Haines
|
39c1f3b355
|
Add methods for computing sha256 hashes and validating ed25519 signatures
|
2015-07-24 14:29:52 +01:00 |
|
Mark Haines
|
3468886e27
|
Add method getting a session id. Update the python and javascript bindings
|
2015-07-16 11:45:20 +01:00 |
|
Mark Haines
|
89d9b972a6
|
Add versions of olm_session_create_inbound and olm_session_matches_inbound which take the curve25519 identity key of the remote device we think the message is from as an additional argument
|
2015-07-16 10:45:10 +01:00 |
|
Mark Haines
|
137aa31e95
|
olm_account_last_error and olm_clear_account should take an Account not a Session
|
2015-07-15 13:24:26 +01:00 |
|
Mark Haines
|
a59fbdfe7f
|
Add a test for pickling and unpickling sessions, fix off by one error when unpickling sessions
|
2015-07-14 11:32:11 +01:00 |
|
Mark Haines
|
2e49a6f41e
|
Clear the random buffers once they've been used. Add methods for clearing the account and session object once they've been used
|
2015-07-10 18:29:14 +01:00 |
|
Mark Haines
|
5ad929104e
|
Version the pickled objects and check for errors when unpickling them
|
2015-07-10 18:00:18 +01:00 |
|
Mark Haines
|
b6e248c9a5
|
Output simpler JSON for the account keys, don't sign the JSON but instead provide a olm_account_sign method so that the user of the library can sign the JSON themselves
|
2015-07-10 11:57:53 +01:00 |
|
Mark Haines
|
373acefde7
|
Add c bindings for the methods for managing one time keys
|
2015-07-09 18:35:54 +01:00 |
|
Mark Haines
|
5634be0507
|
Add methods for generating new one time keys and for tracking which one time keys have been published
|
2015-07-09 16:09:16 +01:00 |
|
Mark Haines
|
0e988237f6
|
Don't pass a key id when creating a new outbound session
|
2015-07-08 16:04:18 +01:00 |
|
Mark Haines
|
532dc0d4e7
|
Change the JSON format for one time keys to include what algorithm they are for
|
2015-07-08 15:30:34 +01:00 |
|
Mark Haines
|
dceae043b3
|
Remove the RemoteKey type since it wasn't being used
|
2015-07-08 14:57:55 +01:00 |
|
Mark Haines
|
5291ec78b5
|
Send the public part of the one time key rather than passing an identifier
|
2015-07-08 14:53:25 +01:00 |
|
Mark Haines
|
974e0984bd
|
Update the javascript bindings and demo to match the format of the identity key JSON
|
2015-07-08 11:16:00 +01:00 |
|
Mark Haines
|
3a382aec59
|
Encode the account keys as a signed JSON object
|
2015-07-07 16:42:03 +01:00 |
|
Mark Haines
|
2a873fd4e1
|
Add functions for creating and verifying ed25519 signatures
|
2015-07-07 09:50:32 +01:00 |
|
Mark Haines
|
a30a64d179
|
Rename generate_key to curve25519_generate_key
|
2015-07-07 09:03:12 +01:00 |
|
Mark Haines
|
f1cd5613f6
|
Remove the last resort one time key
|
2015-07-07 09:01:38 +01:00 |
|
Mark Haines
|
667e415c74
|
Removed SignedKey class
|
2015-07-07 08:56:18 +01:00 |
|
Matthew Hodgson
|
09d4125ff1
|
Rename axolotlpp as olm to avoid confusion with Axolotl-the-spec and Axolotl-the-OWS-libraries at moxie's request
|
2015-06-27 01:15:23 +02:00 |
|
Mark Haines
|
f10c04d62d
|
reduce the number of one time keys that get generated when we create an account
|
2015-06-23 17:49:04 +01:00 |
|
Mark Haines
|
8bf32c3248
|
Fix bug encoding integers larger than 128
|
2015-06-23 17:47:48 +01:00 |
|
Mark Haines
|
10e7e8123d
|
Add missing include, fix bug in handling unknown message fields
|
2015-06-23 15:15:18 +01:00 |
|
Mark Haines
|
39a0873309
|
This field isn't being used anywhere so don't bother including it in the messages
|
2015-06-23 10:03:41 +01:00 |
|
Mark Haines
|
043bc43716
|
Copyright Notices
|
2015-06-22 17:50:56 +01:00 |
|
Mark Haines
|
492dc1ab58
|
Add API docs for the axolotl.hh methods
|
2015-06-22 17:44:56 +01:00 |
|
Mark Haines
|
408530adf9
|
Add API for removing used one time keys
|
2015-06-22 11:02:42 +01:00 |
|
Mark Haines
|
76f49cf177
|
Add a test for the axolotl API
|
2015-06-16 15:15:40 +01:00 |
|
Mark Haines
|
4abead9e9e
|
Add c interface which wraps the cpp classes
|
2015-06-15 17:49:20 +01:00 |
|
Mark Haines
|
7cdde73560
|
Add base64 encoders and decoders
|
2015-06-15 17:48:09 +01:00 |
|
Mark Haines
|
026e4394bb
|
Implement creating a new account
|
2015-06-15 17:47:22 +01:00 |
|
Mark Haines
|
6fe3b7eb73
|
Move utils for pickling into a separate file
|
2015-06-12 16:15:37 +01:00 |
|
Mark Haines
|
28541dd82a
|
Implement the session key exchange
|
2015-06-22 14:30:46 +01:00 |
|
Mark Haines
|
6ecea67718
|
Implement the session key exchange
|
2015-06-12 14:09:41 +01:00 |
|
Mark Haines
|
08a7e44a96
|
Pass the message body to decrypt_max_plaintext_length so we can get a more accurate estimate, rename encrypt_max_output_length to encrypt_output_length and change the api to return the exact number of bytes needed to hold the message
|
2015-06-12 09:08:15 +01:00 |
|
Mark Haines
|
793b9b910a
|
Start writing the interfaces for session and the account objects
|
2015-06-11 18:03:22 +01:00 |
|
Mark Haines
|
bcb05d1a99
|
rename Session to Ratchet
|
2015-06-11 16:10:55 +01:00 |
|
Mark Haines
|
e44c82a7b4
|
Add encoder and decoder for PreKey messages
|
2015-06-11 15:57:45 +01:00 |
|
Mark Haines
|
816435a860
|
Move AES specific details behind a cipher interface
|
2015-06-11 14:20:35 +01:00 |
|
Mark Haines
|
a08d706366
|
Add methods for pickling and unpickling sessions
|
2015-06-09 18:03:01 +01:00 |
|
Mark Haines
|
8123ce6209
|
Constant time comparison for mac
|
2015-03-03 15:08:56 +00:00 |
|
Mark Haines
|
2f2e0340ae
|
const on right hand side
|
2015-03-03 15:08:26 +00:00 |
|
Mark Haines
|
a0e9065f1f
|
Rename the ratchet source and include files from axolotl to ratchet
|
2015-03-03 11:50:17 +00:00 |
|
Mark Haines
|
315caaba7e
|
Add functions for signing and verifying messages using curve25519 keys
|
2015-03-03 11:18:07 +00:00 |
|
Mark Haines
|
c7419e7cdf
|
Try to ensure the compiler cannot optimise away attempts to erase secrets from memory
|
2015-02-27 16:11:30 +00:00 |
|
Mark Haines
|
d142eb64dd
|
Copyright notices and a license
|
2015-02-26 16:56:25 +00:00 |
|
Mark Haines
|
09d8e84c7c
|
Implement the axlotl ratchet
|
2015-02-26 16:30:19 +00:00 |
|
Mark Haines
|
186df91246
|
Start implementing the ratchet
|
2015-02-25 17:33:23 +00:00 |
|
Mark Haines
|
a4e5bf9772
|
Don't bother passing through the mac_length, the caller already knows it since they supplied it
|
2015-02-25 17:33:00 +00:00 |
|
Mark Haines
|
ba446e7a12
|
Add a message encoder/decoder
|
2015-02-25 11:20:12 +00:00 |
|
Mark Haines
|
8df4d9e9b5
|
Tweak AES cbc to add pcks7 padding bytes
|
2015-02-25 08:35:53 +00:00 |
|
Mark Haines
|
b2f865182d
|
Finish and test crypto primitives
|
2015-02-21 01:36:15 +00:00 |
|
Mark Haines
|
44d0c09205
|
initial commit: start implementing the crypto primitives
|
2015-02-20 21:32:56 +00:00 |
|