lime
Lime is a C++ library implementing Open Whisper System Signal protocol
Classes | Namespaces | Enumerations | Functions
lime_x3dh_protocol.hpp File Reference

Go to the source code of this file.

Classes

struct  lime::X3DH_peerBundle< Curve >
 Holds everything found in a key bundle received from X3DH server. More...
 

Namespaces

 lime
 
 lime::x3dh_protocol
 Group in this namespace all the functions related to building or parsing x3dh packets.
 

Enumerations

enum  lime::X3DHKeyBundleFlag : uint8_t { lime::X3DHKeyBundleFlag::noOPk =0, lime::X3DHKeyBundleFlag::OPk =1, lime::X3DHKeyBundleFlag::noBundle =2 }
 Set possible values for a flag in the keyBundle X3DH packet. More...
 

Functions

template<typename Curve >
void lime::x3dh_protocol::buildMessage_registerUser (std::vector< uint8_t > &message, const DSA< Curve, lime::DSAtype::publicKey > &Ik, const X< Curve, lime::Xtype::publicKey > &SPk, const DSA< Curve, lime::DSAtype::signature > &Sig, const uint32_t SPk_id, const std::vector< X< Curve, lime::Xtype::publicKey >> &OPks, const std::vector< uint32_t > &OPk_ids) noexcept
 build a registerUser message : Identity Key<EDDSA Public Key length> More...
 
template<typename Curve >
void lime::x3dh_protocol::buildMessage_deleteUser (std::vector< uint8_t > &message) noexcept
 build a deleteUser message More...
 
template<typename Curve >
void lime::x3dh_protocol::buildMessage_publishSPk (std::vector< uint8_t > &message, const X< Curve, lime::Xtype::publicKey > &SPk, const DSA< Curve, lime::DSAtype::signature > &Sig, const uint32_t SPk_id) noexcept
 build a postSPk message More...
 
template<typename Curve >
void lime::x3dh_protocol::buildMessage_publishOPks (std::vector< uint8_t > &message, const std::vector< X< Curve, lime::Xtype::publicKey >> &OPks, const std::vector< uint32_t > &OPk_ids) noexcept
 build a postOPks message More...
 
template<typename Curve >
void lime::x3dh_protocol::buildMessage_getPeerBundles (std::vector< uint8_t > &message, std::vector< std::string > &peer_device_ids) noexcept
 build a getPeerBundle message More...
 
template<typename Curve >
void lime::x3dh_protocol::buildMessage_getSelfOPks (std::vector< uint8_t > &message) noexcept
 build a getSelfOPks message More...