6 #include "signal_protocol_types.h" 12 #define KEY_EXCHANGE_INITIATE_FLAG 0x01 13 #define KEY_EXCHANGE_RESPONSE_FLAG 0X02 14 #define KEY_EXCHANGE_SIMULTAENOUS_INITIATE_FLAG 0x04 16 #define CIPHERTEXT_UNSUPPORTED_VERSION 1 17 #define CIPHERTEXT_CURRENT_VERSION 3 19 #define CIPHERTEXT_SIGNAL_TYPE 2 20 #define CIPHERTEXT_PREKEY_TYPE 3 21 #define CIPHERTEXT_SENDERKEY_TYPE 4 22 #define CIPHERTEXT_SENDERKEY_DISTRIBUTION_TYPE 5 25 #define CIPHERTEXT_ENCRYPTED_MESSAGE_OVERHEAD 53 30 int signal_message_create(
signal_message **message, uint8_t message_version,
31 const uint8_t *mac_key,
size_t mac_key_len,
32 ec_public_key *sender_ratchet_key, uint32_t counter, uint32_t previous_counter,
33 const uint8_t *ciphertext,
size_t ciphertext_len,
37 int signal_message_deserialize(
signal_message **message,
const uint8_t *data,
size_t len,
44 uint8_t signal_message_get_message_version(
const signal_message *message);
46 uint32_t signal_message_get_counter(
const signal_message *message);
58 const uint8_t *mac_key,
size_t mac_key_len,
61 int signal_message_is_legacy(
const uint8_t *data,
size_t len);
66 uint8_t message_version, uint32_t registration_id,
const uint32_t *pre_key_id,
72 const uint8_t *data,
size_t len,
89 uint32_t key_id, uint32_t iteration,
90 const uint8_t *ciphertext,
size_t ciphertext_len,
94 const uint8_t *data,
size_t len,
106 uint32_t
id, uint32_t iteration,
107 const uint8_t *chain_key,
size_t chain_key_len,
111 const uint8_t *data,
size_t len,
Definition: signal_protocol_internal.h:8
Definition: protocol.c:44
Definition: signal_protocol_internal.h:23
Definition: signal_protocol_internal.h:18
Definition: protocol.c:21
Definition: protocol.c:13
Definition: protocol.c:31
Definition: protocol.c:53