1#ifndef CRYPTOPP_XTRCRYPT_H
2#define CRYPTOPP_XTRCRYPT_H
17 typedef XTR_DH ThisClass;
27 bool GetVoidValue(
const char *name,
const std::type_info &valueType,
void *pValue)
const;
36 bool Agree(
byte *agreedValue,
const byte *privateKey,
const byte *otherPublicKey,
bool validateOtherPublicKey=
true)
const;
38 const Integer &GetModulus()
const {
return m_p;}
39 const Integer &GetSubgroupOrder()
const {
return m_q;}
40 const GFP2Element &GetSubgroupGenerator()
const {
return m_g;}
42 void SetModulus(
const Integer &p) {m_p = p;}
43 void SetSubgroupOrder(
const Integer &q) {m_q = q;}
44 void SetSubgroupGenerator(
const GFP2Element &g) {m_g = g;}
47 unsigned int ExponentBitLength()
const;
Interface for crypto parameters.
Multiple precision integer with arithmetic operations.
Interface for retrieving values given their names.
Interface for random number generators.
Interface for domains of simple key agreement protocols.
CryptoParameters & AccessCryptoParameters()
Retrieves a reference to Crypto Parameters.
bool Validate(RandomNumberGenerator &rng, unsigned int level) const
Check this object for errors.
bool GetVoidValue(const char *name, const std::type_info &valueType, void *pValue) const
Get a named value.
unsigned int AgreedValueLength() const
Provides the size of the agreed value.
unsigned int PublicKeyLength() const
Provides the size of the public key.
unsigned int PrivateKeyLength() const
Provides the size of the private key.
void AssignFrom(const NameValuePairs &source)
Assign values to this object.
Abstract base classes that provide a uniform interface to this library.
Multiple precision integer with arithmetic operations.
Crypto++ library namespace.
The XTR public key system.