Go to the documentation of this file.
   17 #ifndef USGOV_d849d1a13db50de2445a34619f728b452c00b4067ae57c05409fe800ef621994 
   18 #define USGOV_d849d1a13db50de2445a34619f728b452c00b4067ae57c05409fe800ef621994 
   25 #include <crypto++/gcm.h> 
   26 #include <crypto++/aes.h> 
   27 #include <crypto++/osrng.h> 
   29 namespace us { 
namespace gov {
 
   33     using CryptoPP::AutoSeededRandomPool;
 
   39         typedef unsigned char byte;
 
   44         ko encrypt(
const vector<unsigned char>& src, vector<unsigned char>& dest);
 
   45         ko decrypt(
const unsigned char* p, 
size_t sz, vector<unsigned char>& dest);
 
   46         ko decrypt(
const vector<unsigned char>& ciphertext, vector<unsigned char>& clear);
 
   51         static constexpr 
size_t key_size = 16;
 
   52         static constexpr 
size_t iv_size = 12;
 
   53         static constexpr 
int tag_size = 16;
 
   62         GCM<AES>::Encryption 
enc;
 
   63         GCM<AES>::Decryption 
dec;
 
  
 
GCM< AES >::Decryption dec
Definition: symmetric_encryption.h:63
static bool is_ko(const std::string &s)
Definition: ko.h:30
#define unlikely(x)
Definition: likely.h:30
ko init(const keys::priv_t &sk, const keys::pub_t &pub_other)
static int encmsg_ratio(const size_t plaintext_sz)
ko decrypt(const unsigned char *p, size_t sz, vector< unsigned char > &dest)
static ec instance
Definition: ec.h:143
GCM< AES >::Encryption enc
Definition: symmetric_encryption.h:62
ko generate_shared_key(unsigned char *, size_t, const keys::priv_t &, const keys::pub_t &)
peer::daemon::pub_t pub_t
Definition: auth_app.h:53
AutoSeededRandomPool prng_
Definition: symmetric_encryption.h:54
Definition: symmetric_encryption.h:37
ko encrypt(const vector< unsigned char > &src, vector< unsigned char > &dest)
const ko_t * ko
Definition: ko.h:27
us::gov::crypto::symmetric_encryption c
Definition: symmetric_encryption.cpp:37
static constexpr ko ok
Definition: ko.h:28
static size_t encmsg_max_sz(const size_t plaintext_sz)
ko decrypt(const vector< unsigned char > &ciphertext, vector< unsigned char > &clear)
Definition: base58.cpp:19
ec::keys keys
Definition: symmetric_encryption.h:38
unsigned char byte
Definition: symmetric_encryption.h:39
#define log
Definition: gov.h:83