libkazv
crypto-util.hpp File Reference
#include <libkazv-config.hpp>
#include <string>
#include <random>
#include <algorithm>
#include <vector>
#include <nlohmann/json.hpp>
#include <boost/container_hash/hash.hpp>
Include dependency graph for crypto-util.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Kazv::KeyOfGroupSession
 
struct  Kazv::RandomTag
 The tag to indicate that a constructor should use user-provided random data. More...
 
struct  Kazv::KeyOfOutboundSession
 
struct  std::hash< Kazv::KeyOfGroupSession >
 
struct  std::hash< Kazv::KeyOfOutboundSession >
 

Namespaces

 Kazv
 
 Kazv::CryptoConstants
 
 std
 

Typedefs

using Kazv::ByteArray = std::vector< unsigned char >
 
using Kazv::RandomData = std::string
 

Functions

void Kazv::from_json (const nlohmann::json &j, KeyOfGroupSession &k)
 
void Kazv::to_json (nlohmann::json &j, const KeyOfGroupSession &k)
 
bool Kazv::operator== (KeyOfGroupSession a, KeyOfGroupSession b)
 
bool Kazv::operator== (KeyOfOutboundSession a, KeyOfOutboundSession b)
 
ByteArray Kazv::genRandom (int len)
 
RandomData Kazv::genRandomData (int len)
 

Variables

const std::string Kazv::CryptoConstants::ed25519 {"ed25519"}
 
const std::string Kazv::CryptoConstants::curve25519 {"curve25519"}
 
const std::string Kazv::CryptoConstants::signedCurve25519 {"signed_curve25519"}
 
const std::string Kazv::CryptoConstants::olmAlgo {"m.olm.v1.curve25519-aes-sha2"}
 
const std::string Kazv::CryptoConstants::megOlmAlgo {"m.megolm.v1.aes-sha2"}