Commit graph

96 commits

Author SHA1 Message Date
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
17aa7e6580 remove rogue axolotls 2015-06-28 17:56:40 +02: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
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
3f475ab2f8 Note that the input buffers are destroyed by some of the account and session methods 2015-06-22 18:00:34 +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
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
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
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
b3496b0aa1 More comments 2015-02-27 15:07:45 +00:00
Matthew Hodgson
65bb5d4e5b if you type axolotl a lotl you get it wrong 2015-02-27 13:09:17 +01: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
38332e0a12 Add a simple fixed size list class 2015-02-24 11:30:28 +00:00
Mark Haines
7c1da4896f Use stdout for reporting test success/failure 2015-02-23 14:45:36 +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