1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
// see also man evp_pkey-dh
#include "diffiehellman"
#include <fcntl.h>
#include <unistd.h>
#include <openssl/param_build.h>
#include <iostream>
#include <fstream>
#include <limits>
#include <memory>
#include "../ofdstream/ofdstream"
using namespace std;
using namespace FBB;
// static
inline Exception &&DiffieHellman::exception()
{
return Exception{} << s_header;
}
void createKeys(char *nr, // create private and public keys [0 or 1]
BigInt const &prime, BigInt const &generator,
EVP_PKEY *domainKey, EVP_PKEY *keys);
// OSSL_PARAM *param, EVP_PKEY_CTX *domainKeyCtx);
//EVP_PKEY *rawKeys(BigInt const &prime, BigInt const &generator,
// OSSL_PARAM *param, EVP_PKEY_CTX *domainKeyCtx);
//EVP_PKEY *keyPair(EVP_PKEY *domainkey);
// write secret<nr>/public<nr>
// priv or pub
void writeKey(char nr, EVP_PKEY *keys, char const *type);
|