Commit graph

184 commits

Author SHA1 Message Date
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