olm/include/olm
Richard van der Hoff 0c462cff11 Fix Ed25519 keypair generation
Ed25519 private keys, it turns out, have 64 bytes, not 32.

We were previously generating only 32 bytes (which is all that is required to
generate the public key), and then using the public key as the upper 32 bytes
when generating the per-message session key. This meant that everything
appeared to work, but the security of the private key was severely compromised.

By way of fixes:

 * Use the correct algorithm for generating the Ed25519 private key, and store
   all 512 bits of it.

 * Update the account pickle format and refuse to load the old format (since we
   should consider it compromised).

 * Bump the library version, and add a function to retrieve the library
   version, so that applications can verify that they are linked against a
   fixed version of the library.

 * Remove the curve25519_{sign, verify} functions which were unused and of
   dubious quality.
2016-09-01 13:35:23 +01:00
..
account.hh Convert error.hh to plain C 2016-05-23 18:55:05 +01:00
base64.h Prefix for internal symbols 2016-05-23 18:55:06 +01:00
base64.hh Fix a bunch of compiler warnings, and turn on warnings. 2016-04-26 18:10:13 +01:00
cipher.h Rewrite _olm_cipher_aes_sha_256 initialisation 2016-05-24 12:06:47 +01:00
crypto.h Prefix for internal symbols 2016-05-23 18:55:06 +01:00
crypto.hh Fix Ed25519 keypair generation 2016-09-01 13:35:23 +01:00
error.h Fix Ed25519 keypair generation 2016-09-01 13:35:23 +01:00
inbound_group_session.h Fix up some names, and protobuf tags 2016-05-24 13:40:21 +01:00
list.hh Fix bug in list where the wrong value was copied if an item was inserted at the beinging of the list 2015-07-15 16:31:45 +01:00
megolm.h Update megolm_cipher as a global struct 2016-05-24 14:54:01 +01:00
memory.h C binding for olm::unset 2016-05-23 18:55:05 +01:00
memory.hh Remove functions which return strings 2016-05-20 15:07:10 +01:00
message.h Remove session_id from group messages 2016-05-25 17:42:32 +01:00
message.hh Implementation of an outbound group session 2016-05-24 13:39:34 +01:00
olm.h Fix Ed25519 keypair generation 2016-09-01 13:35:23 +01:00
olm.hh Rename olm.hh to olm.h 2016-05-23 18:55:05 +01:00
outbound_group_session.h Implement functions to get the state of outbound session 2016-05-24 13:39:34 +01:00
pickle.h Prefix for internal symbols 2016-05-23 18:55:06 +01:00
pickle.hh Fix a bunch of compiler warnings, and turn on warnings. 2016-04-26 18:10:13 +01:00
pickle_encoding.h Factor out pickle_encoding from olm.cpp 2016-05-24 13:39:32 +01:00
ratchet.hh Make space in the session pickle for chain index 2016-06-30 11:38:01 +01:00
session.hh Convert error.hh to plain C 2016-05-23 18:55:05 +01:00
utility.hh Convert error.hh to plain C 2016-05-23 18:55:05 +01:00