Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

DH Class Reference

Diffie-Hellman in GF(p) with key validation. More...

#include <dh.h>

Inheritance diagram for DH:

PK_WithPrecomputation PK_Precomputation List of all members.

Public Methods

 DH (const Integer &p,const Integer &g)
 DH (RandomNumberGenerator &rng,unsigned int pbits)
 DH (BufferedTransformation &domainParams)
void DEREncode (BufferedTransformation &domainParams)const
void Precompute (unsigned int precomputationStorage=16)
void LoadPrecomputation (BufferedTransformation &storedPrecomputation)
 retrieve previously saved precomputation. More...

void SavePrecomputation (BufferedTransformation &storedPrecomputation)const
 save precomputation for later use. More...

bool ValidateDomainParameters (RandomNumberGenerator &rng)const
unsigned int AgreedValueLength ()const
unsigned int PrivateKeyLength ()const
unsigned int PublicKeyLength ()const
void GenerateKeyPair (RandomNumberGenerator &rng,byte *privateKey,byte *publicKey)const
bool Agree (byte *agreedValue,const byte *privateKey,const byte *otherPublicKey,bool validateOtherPublicKey=true)const
const IntegerGetPrime ()const
const IntegerGetGenerator ()const

Detailed Description

Diffie-Hellman in GF(p) with key validation.

Definition at line 12 of file dh.h.


Constructor & Destructor Documentation

DH::DH ( const Integer & p,
const Integer & g )
 

Definition at line 10 of file dh.cpp.

DH::DH ( RandomNumberGenerator & rng,
unsigned int pbits )
 

Definition at line 15 of file dh.cpp.

DH::DH ( BufferedTransformation & bt )
 

Definition at line 23 of file dh.cpp.


Member Function Documentation

bool DH::Agree ( byte * agreedValue,
const byte * privateKey,
const byte * otherPublicKey,
bool validateOtherPublicKey = true ) const
 

Definition at line 69 of file dh.cpp.

unsigned int DH::AgreedValueLength ( ) const [inline]
 

Definition at line 26 of file dh.h.

void DH::DEREncode ( BufferedTransformation & bt ) const
 

Definition at line 33 of file dh.cpp.

void DH::GenerateKeyPair ( RandomNumberGenerator & rng,
byte * privateKey,
byte * publicKey ) const
 

Definition at line 61 of file dh.cpp.

const Integer & DH::GetGenerator ( ) const [inline]
 

Definition at line 34 of file dh.h.

const Integer & DH::GetPrime ( ) const [inline]
 

Definition at line 33 of file dh.h.

void DH::LoadPrecomputation ( BufferedTransformation & bt ) [virtual]
 

retrieve previously saved precomputation.

Reimplemented from PK_Precomputation.

Definition at line 46 of file dh.cpp.

void DH::Precompute ( unsigned int precomputationStorage = 16 ) [virtual]
 

The exact semantics of Precompute() is varies, but typically it means calculate a table of n objects that can be used later to speed up computation.

Reimplemented from PK_Precomputation.

Definition at line 41 of file dh.cpp.

unsigned int DH::PrivateKeyLength ( ) const [inline]
 

Definition at line 27 of file dh.h.

unsigned int DH::PublicKeyLength ( ) const [inline]
 

Definition at line 28 of file dh.h.

void DH::SavePrecomputation ( BufferedTransformation & bt ) const [virtual]
 

save precomputation for later use.

Reimplemented from PK_Precomputation.

Definition at line 51 of file dh.cpp.

bool DH::ValidateDomainParameters ( RandomNumberGenerator & rng ) const
 

Definition at line 56 of file dh.cpp.


The documentation for this class was generated from the following files:
Generated at Mon Jan 15 01:16:45 2001 for Crypto++ by doxygen1.2.4 written by Dimitri van Heesch, © 1997-2000