lime
Lime is a C++ library implementing Open Whisper System Signal protocol
Public Member Functions | List of all members
lime::anonymous_namespace{lime_double_ratchet.cpp}::DRHeader< Curve, false > Class Template Reference

Public Member Functions

uint16_t Ns (void) const
 read-only accessor to Sender Chain index (Ns) More...
 
uint16_t PN (void) const
 read-only accessor to Previous Sender Chain index (PN) More...
 
const lime::X< Curve, lime::Xtype::publicKey > & DHr (void) const
 read-only accessor to peer Double Ratchet public key More...
 
bool valid (void) const
 is this header valid? (property is set by constructor/parser) More...
 
bool payloadDirectEncryption (void) const
 what encryption mode is advertised in this header More...
 
bool havePKIndex (void) const
 is there a KEM public key in this header? Never for EC only. More...
 
size_t size (void)
 read-only accessor to the size of parsed header More...
 
bool isDHr (const ARrKey< Curve > &DHr)
 compare the DHr in the header to the one given in parameter. Return true if they match More...
 
bool isDHsIndex (const ARsKey< Curve > &DHs)
 compare the given DHs with the KEM DHsIndex present in header More...
 
std::vector< uint8_t > getDHrIndex (void)
 
std::vector< uint8_t > getDHsIndex (void)
 
 DRHeader ()=delete
 
 DRHeader (const std::vector< uint8_t > header)
 
 ~DRHeader ()
 
void dump (std::ostringstream &os, std::string indent=" ") const
 

Constructor & Destructor Documentation

template<typename Curve >
lime::anonymous_namespace{lime_double_ratchet.cpp}::DRHeader< Curve, false >::DRHeader ( )
delete
template<typename Curve >
lime::anonymous_namespace{lime_double_ratchet.cpp}::DRHeader< Curve, false >::DRHeader ( const std::vector< uint8_t >  header)
inline
template<typename Curve >
lime::anonymous_namespace{lime_double_ratchet.cpp}::DRHeader< Curve, false >::~DRHeader ( )
inline

Member Function Documentation

template<typename Curve >
const lime::X<Curve, lime::Xtype::publicKey>& lime::anonymous_namespace{lime_double_ratchet.cpp}::DRHeader< Curve, false >::DHr ( void  ) const
inline

read-only accessor to peer Double Ratchet public key

template<typename Curve >
void lime::anonymous_namespace{lime_double_ratchet.cpp}::DRHeader< Curve, false >::dump ( std::ostringstream &  os,
std::string  indent = "        " 
) const
inline
template<typename Curve >
std::vector<uint8_t> lime::anonymous_namespace{lime_double_ratchet.cpp}::DRHeader< Curve, false >::getDHrIndex ( void  )
inline
template<typename Curve >
std::vector<uint8_t> lime::anonymous_namespace{lime_double_ratchet.cpp}::DRHeader< Curve, false >::getDHsIndex ( void  )
inline
template<typename Curve >
bool lime::anonymous_namespace{lime_double_ratchet.cpp}::DRHeader< Curve, false >::havePKIndex ( void  ) const
inline

is there a KEM public key in this header? Never for EC only.

template<typename Curve >
bool lime::anonymous_namespace{lime_double_ratchet.cpp}::DRHeader< Curve, false >::isDHr ( const ARrKey< Curve > &  DHr)
inline

compare the DHr in the header to the one given in parameter. Return true if they match

template<typename Curve >
bool lime::anonymous_namespace{lime_double_ratchet.cpp}::DRHeader< Curve, false >::isDHsIndex ( const ARsKey< Curve > &  DHs)
inline

compare the given DHs with the KEM DHsIndex present in header

template<typename Curve >
uint16_t lime::anonymous_namespace{lime_double_ratchet.cpp}::DRHeader< Curve, false >::Ns ( void  ) const
inline

read-only accessor to Sender Chain index (Ns)

template<typename Curve >
bool lime::anonymous_namespace{lime_double_ratchet.cpp}::DRHeader< Curve, false >::payloadDirectEncryption ( void  ) const
inline

what encryption mode is advertised in this header

template<typename Curve >
uint16_t lime::anonymous_namespace{lime_double_ratchet.cpp}::DRHeader< Curve, false >::PN ( void  ) const
inline

read-only accessor to Previous Sender Chain index (PN)

template<typename Curve >
size_t lime::anonymous_namespace{lime_double_ratchet.cpp}::DRHeader< Curve, false >::size ( void  )
inline

read-only accessor to the size of parsed header

template<typename Curve >
bool lime::anonymous_namespace{lime_double_ratchet.cpp}::DRHeader< Curve, false >::valid ( void  ) const
inline

is this header valid? (property is set by constructor/parser)


The documentation for this class was generated from the following file: