44                      bool visibleRecipients);
 
   67        MessageWriter(std::ostream &os, 
const std::list<BYTE_ARRAY>& recipients, 
bool visibleRecipients);
 
   78        MessageWriter(std::ostream &os, 
const std::list<BYTE_ARRAY>& recipients);
 
  104                      const std::list<std::pair<BYTE_ARRAY, BYTE_ARRAY>>& symmetricKeys);
 
  118        MessageWriter(std::ostream &os, 
const std::list<BYTE_ARRAY>& recipientsPublickeys,
 
  119                      const std::list<std::pair<BYTE_ARRAY, BYTE_ARRAY>>& symmetricKeys);
 
  137        std::ostream &output;
 
  138        unsigned long packetIndex;
 
  141        std::list<BYTE_ARRAY> macKeys;
 
  147        std::string generateEncryptionHeader(
BYTE_ARRAY ephemeralSecretkey, 
BYTE_ARRAY ephemeralPublickey,
 
  148                                             BYTE_ARRAY senderPublickey, 
const std::list<BYTE_ARRAY>& recipientsPublickeys,
 
  149                                             bool visibleRecipients);
 
  151        static std::string generateSignatureHeader(
BYTE_ARRAY senderPublickey, 
bool detatchedSignature);
 
  153        std::string generateSigncryptionHeader(
const BYTE_ARRAY& ephemeralSecretkey, 
const BYTE_ARRAY& ephemeralPublickey,
 
  154                                               BYTE_ARRAY senderPublickey, 
const std::list<BYTE_ARRAY>& recipientsPublickeys,
 
  155                                               const std::list<std::pair<BYTE_ARRAY, BYTE_ARRAY>>& symmetricKeys);
 
  157        static std::string encodeHeader(
const std::string& header);
 
  161        std::string generatePayloadPacket(
BYTE_ARRAY message, 
bool final);
 
  163        std::string generateSignaturePayloadPacket(
const BYTE_ARRAY& message, 
bool final);
 
  165        std::string generateSigncryptionPayloadPacket(
BYTE_ARRAY message, 
bool final);
 
 
MessageWriter(std::ostream &os, const BYTE_ARRAY &senderSecretkey, const std::list< BYTE_ARRAY > &recipientsPublickeys, const std::list< std::pair< BYTE_ARRAY, BYTE_ARRAY > > &symmetricKeys)