InvertibleRWFunction Class Reference

#include <rw.h>

Inheritance diagram for InvertibleRWFunction:

RWFunction TrapdoorFunctionInverse PrivateKey TrapdoorFunction PublicKey RandomizedTrapdoorFunctionInverse GeneratableCryptoMaterial RandomizedTrapdoorFunction CryptoMaterial CryptoMaterial TrapdoorFunctionBounds NameValuePairs NameValuePairs List of all members.

Detailed Description

_

Definition at line 41 of file rw.h.

Public Member Functions

void Initialize (const Integer &n, const Integer &p, const Integer &q, const Integer &u)
void Initialize (RandomNumberGenerator &rng, unsigned int modulusBits)
void BERDecode (BufferedTransformation &bt)
void DEREncode (BufferedTransformation &bt) const
Integer CalculateInverse (RandomNumberGenerator &rng, const Integer &x) const
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
 to be implemented by derived classes, users should use one of the above functions instead
void AssignFrom (const NameValuePairs &source)
 assign values from source to this object
void GenerateRandom (RandomNumberGenerator &rng, const NameValuePairs &alg)
const IntegerGetPrime1 () const
const IntegerGetPrime2 () const
const IntegerGetMultiplicativeInverseOfPrime2ModPrime1 () const
void SetPrime1 (const Integer &p)
void SetPrime2 (const Integer &q)
void SetMultiplicativeInverseOfPrime2ModPrime1 (const Integer &u)
void Initialize (const Integer &n)
Integer ApplyFunction (const Integer &x) const
Integer PreimageBound () const
Integer ImageBound () const
const IntegerGetModulus () const
void SetModulus (const Integer &n)
Integer ApplyRandomizedFunction (RandomNumberGenerator &rng, const Integer &x) const
bool IsRandomized () const
virtual Integer MaxPreimage () const
virtual Integer MaxImage () const
Integer CalculateRandomizedInverse (RandomNumberGenerator &rng, const Integer &x) const
bool IsRandomized () const

Protected Attributes

Integer m_p
Integer m_q
Integer m_u
Integer m_n


Member Function Documentation

bool InvertibleRWFunction::Validate ( RandomNumberGenerator rng,
unsigned int  level 
) const [virtual]

check this object for errors

Parameters:
level denotes the level of thoroughness: 0 - using this object won't cause a crash or exception (rng is ignored) 1 - this object will probably function (encrypt, sign, etc.) correctly (but may not check for weak keys and such) 2 - make sure this object will function correctly, and do reasonable security checks 3 - do checks that may take a long time
Returns:
true if the tests pass

Reimplemented from RWFunction.

Definition at line 146 of file rw.cpp.

References Integer::IsPositive(), RWFunction::m_n, m_p, m_q, m_u, Integer::One(), and RWFunction::Validate().

void InvertibleRWFunction::AssignFrom ( const NameValuePairs source  )  [virtual]

assign values from source to this object

Note:
This function can be used to create a public key from a private key.

Reimplemented from RWFunction.

Definition at line 171 of file rw.cpp.

void InvertibleRWFunction::GenerateRandom ( RandomNumberGenerator rng,
const NameValuePairs alg 
) [virtual]

parameters: (ModulusSize)

Reimplemented from GeneratableCryptoMaterial.

Definition at line 88 of file rw.cpp.

References Integer::GenerateRandom(), NameValuePairs::GetIntValue(), Integer::InverseMod(), RWFunction::m_n, m_p, m_q, and m_u.


The documentation for this class was generated from the following files:
Generated on Sat Dec 23 02:07:26 2006 for Crypto++ by  doxygen 1.5.1-p1