|
| template<typename Curve > |
| constexpr size_t | lime::double_ratchet_protocol::headerSize (uint8_t messageType) noexcept |
| | return the size of the double ratchet packet header More...
|
| |
| template<typename Curve > |
| constexpr size_t | lime::double_ratchet_protocol::X3DHinitSize (bool haveOPk, typename std::enable_if_t<!std::is_base_of_v< genericKEM, Curve >, bool >=true) noexcept |
| | return the size of the X3DH init packet included in the double ratchet packet header More...
|
| |
| template<typename Algo > |
| constexpr size_t | lime::double_ratchet_protocol::X3DHinitSize (bool haveOPk, typename std::enable_if_t< std::is_base_of_v< genericKEM, Algo >, bool >=true) noexcept |
| | return the size of the X3DH init packet included in the double ratchet packet header More...
|
| |
| template<typename Curve > |
| void | lime::double_ratchet_protocol::buildMessage_X3DHinit (std::vector< uint8_t > &message, const DSA< Curve, lime::DSAtype::publicKey > &Ik, const X< Curve, lime::Xtype::publicKey > &Ek, const uint32_t SPk_id, const uint32_t OPk_id, const bool OPk_flag) noexcept |
| | build an X3DH init message to insert in DR header EC only version More...
|
| |
| template<typename Algo > |
| void | lime::double_ratchet_protocol::buildMessage_X3DHinit (std::vector< uint8_t > &message, const DSA< typename Algo::EC, lime::DSAtype::publicKey > &Ik, const X< typename Algo::EC, lime::Xtype::publicKey > &Ek, const K< typename Algo::KEM, lime::Ktype::cipherText > &Ct, const uint32_t SPk_id, const uint32_t OPk_id, const bool OPk_flag) noexcept |
| |
| template<typename Curve > |
| void | lime::double_ratchet_protocol::parseMessage_X3DHinit (const std::vector< uint8_t >message, DSA< Curve, lime::DSAtype::publicKey > &Ik, X< Curve, lime::Xtype::publicKey > &Ek, uint32_t &SPk_id, uint32_t &OPk_id, bool &OPk_flag) noexcept |
| | Parse the X3DH init message and extract peer Ik, peer Ek, self SPk id and seld OPk id if present This is for EC only version. More...
|
| |
| template<typename Algo > |
| void | lime::double_ratchet_protocol::parseMessage_X3DHinit (const std::vector< uint8_t >message, DSA< typename Algo::EC, lime::DSAtype::publicKey > &Ik, X< typename Algo::EC, lime::Xtype::publicKey > &Ek, K< typename Algo::KEM, lime::Ktype::cipherText > &Ct, uint32_t &SPk_id, uint32_t &OPk_id, bool &OPk_flag) noexcept |
| |
| template<typename Curve > |
| bool | lime::double_ratchet_protocol::parseMessage_get_X3DHinit (const std::vector< uint8_t > &message, std::vector< uint8_t > &X3DH_initMessage) noexcept |
| | check the message for presence of X3DH init in the header, extract it if there is one More...
|
| |