9 #include <botan/numthry.h>
10 #include <botan/libstate.h>
11 #include <botan/internal/workfactor.h>
80 p(dh.group_p()), powermod_x_p(dh.get_x(), p)
90 if(input <= 1 || input >= p - 1)
void load_check(RandomNumberGenerator &rng) const
MemoryVector< byte > public_value() const
const BigInt & group_p() const
std::invalid_argument Invalid_Argument
SecureVector< byte > agree(const byte w[], size_t w_len)
MemoryVector< byte > public_value() const
DH_PrivateKey(const AlgorithmIdentifier &alg_id, const MemoryRegion< byte > &key_bits, RandomNumberGenerator &rng)
RandomNumberGenerator * rng
void randomize(RandomNumberGenerator &rng, size_t bitsize=0)
Library_State & global_state()
DH_KA_Operation(const DH_PrivateKey &key)
BigInt unblind(const BigInt &x) const
BigInt inverse_mod(const BigInt &n, const BigInt &mod)
BigInt blind(const BigInt &x) const
BigInt power_mod(const BigInt &base, const BigInt &exp, const BigInt &mod)
static BigInt decode(const byte buf[], size_t length, Base base=Binary)
const BigInt & group_g() const
size_t dl_work_factor(size_t bits)
void gen_check(RandomNumberGenerator &rng) const
static SecureVector< byte > encode_1363(const BigInt &n, size_t bytes)