|
template<typename Curve > |
static void | lime::KDF_RK (DRChainKey &RK, DRChainKey &CK, const X< Curve, lime::Xtype::sharedSecret > &dh_out) noexcept |
| Key Derivation Function used in Root key/Diffie-Hellman Ratchet chain. More...
|
|
static void | lime::KDF_CK (DRChainKey &CK, DRMKey &MK) noexcept |
| Key Derivation Function used in Symmetric key ratchet chain. More...
|
|
static bool | lime::decrypt (const lime::DRMKey &MK, const std::vector< uint8_t > &ciphertext, const size_t headerSize, std::vector< uint8_t > &AD, std::vector< uint8_t > &plaintext) |
| Decrypt as described is spec section 3.1. More...
|
|
static bool | lime::decrypt (const lime::DRMKey &MK, const std::vector< uint8_t > &ciphertext, const size_t headerSize, std::vector< uint8_t > &AD, sBuffer< lime::settings::DRrandomSeedSize > &plaintext) |
|
template<typename Curve > |
void | lime::encryptMessage (std::vector< RecipientInfos< Curve >> &recipients, const std::vector< uint8_t > &plaintext, const std::string &recipientUserId, const std::string &sourceDeviceId, std::vector< uint8_t > &cipherMessage, const lime::EncryptionPolicy encryptionPolicy) |
| Encrypt a message to all recipients, identified by their device id. More...
|
|
template<typename Curve > |
std::shared_ptr< DR< Curve > > | lime::decryptMessage (const std::string &sourceDeviceId, const std::string &recipientDeviceId, const std::string &recipientUserId, std::vector< std::shared_ptr< DR< Curve >>> &DRSessions, const std::vector< uint8_t > &DRmessage, const std::vector< uint8_t > &cipherMessage, std::vector< uint8_t > &plaintext) |
| Decrypt a message. More...
|
|