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

MQV Class Reference

Menezes-Qu-Vanstone in GF(p) with key validation, AKA MQV. More...

#include <mqv.h>

Inheritance diagram for MQV:

PK_WithPrecomputation PK_Precomputation List of all members.

Public Methods

 MQV (const Integer &p,const Integer &q,const Integer &g)
 MQV (RandomNumberGenerator &rng,unsigned int pbits)
 MQV (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 StaticPrivateKeyLength ()const
unsigned int StaticPublicKeyLength ()const
void GenerateStaticKeyPair (RandomNumberGenerator &rng,byte *privateKey,byte *publicKey)const
unsigned int EphemeralPrivateKeyLength ()const
unsigned int EphemeralPublicKeyLength ()const
void GenerateEphemeralKeyPair (RandomNumberGenerator &rng,byte *privateKey,byte *publicKey)const
bool Agree (byte *agreedValue,const byte *staticPrivateKey,const byte *ephemeralPrivateKey,const byte *staticOtherPublicKey,const byte *ephemeralOtherPublicKey,bool validateStaticOtherPublicKey=true)const
const IntegerPrime ()const
const IntegerSubPrime ()const
const IntegerGenerator ()const

Detailed Description

Menezes-Qu-Vanstone in GF(p) with key validation, AKA MQV.

Definition at line 13 of file mqv.h.


Constructor & Destructor Documentation

MQV::MQV ( const Integer & p,
const Integer & q,
const Integer & g )
 

Definition at line 11 of file mqv.cpp.

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

Definition at line 16 of file mqv.cpp.

MQV::MQV ( BufferedTransformation & bt )
 

Definition at line 25 of file mqv.cpp.


Member Function Documentation

bool MQV::Agree ( byte * agreedValue,
const byte * staticPrivateKey,
const byte * ephemeralPrivateKey,
const byte * staticOtherPublicKey,
const byte * ephemeralOtherPublicKey,
bool validateStaticOtherPublicKey = true ) const
 

Definition at line 82 of file mqv.cpp.

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

Definition at line 27 of file mqv.h.

void MQV::DEREncode ( BufferedTransformation & bt ) const
 

Definition at line 36 of file mqv.cpp.

unsigned int MQV::EphemeralPrivateKeyLength ( ) const [inline]
 

Definition at line 33 of file mqv.h.

unsigned int MQV::EphemeralPublicKeyLength ( ) const [inline]
 

Definition at line 34 of file mqv.h.

void MQV::GenerateEphemeralKeyPair ( RandomNumberGenerator & rng,
byte * privateKey,
byte * publicKey ) const
 

Definition at line 73 of file mqv.cpp.

void MQV::GenerateStaticKeyPair ( RandomNumberGenerator & rng,
byte * privateKey,
byte * publicKey ) const
 

Definition at line 65 of file mqv.cpp.

const Integer & MQV::Generator ( ) const [inline]
 

Definition at line 44 of file mqv.h.

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

retrieve previously saved precomputation.

Reimplemented from PK_Precomputation.

Definition at line 50 of file mqv.cpp.

void MQV::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 45 of file mqv.cpp.

const Integer & MQV::Prime ( ) const [inline]
 

Definition at line 42 of file mqv.h.

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

save precomputation for later use.

Reimplemented from PK_Precomputation.

Definition at line 55 of file mqv.cpp.

unsigned int MQV::StaticPrivateKeyLength ( ) const [inline]
 

Definition at line 29 of file mqv.h.

unsigned int MQV::StaticPublicKeyLength ( ) const [inline]
 

Definition at line 30 of file mqv.h.

const Integer & MQV::SubPrime ( ) const [inline]
 

Definition at line 43 of file mqv.h.

bool MQV::ValidateDomainParameters ( RandomNumberGenerator & rng ) const
 

Definition at line 60 of file mqv.cpp.


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