Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

CODEX_Ciphers::VarRSABlindPlainText Class Reference

Serializable representation of a blinded plaintext for the RSA variant. More...

#include <VarRSA.h>

Inheritance diagram for CODEX_Ciphers::VarRSABlindPlainText:

Inheritance graph
[legend]
Collaboration diagram for CODEX_Ciphers::VarRSABlindPlainText:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 VarRSABlindPlainText ()
 Default constructor, for creating an object to be unmarshalled.
 VarRSABlindPlainText (BIGNUM *b1, BIGNUM *b2)
 Constructor taking plaintext as a BIGNUMs.
 VarRSABlindPlainText (const CODEX_ASN1::BigNumber &b1, const CODEX_ASN1::BigNumber &b2)
 Constructor taking plaintext as BigNumber%s.
 VarRSABlindPlainText (const VarRSABlindPlainText &aOther)
 Copy constructor.
virtual ~VarRSABlindPlainText ()
 Destructor.
void operator= (const VarRSABlindPlainText &aOther)
 Assignment operator.
const CODEX_ASN1::BigNumberb1 () const
const CODEX_ASN1::BigNumberb2 () const
BIGNUM * unblind (const BIGNUM *b, const CODEX_ASN1::BigNumber &modulus, const HashFunction &hashFunc) const
 Unblind a blind plaintext.
int marshal (unsigned char **pp) const
 Serialize the object.
void * unmarshal (void *bogus, unsigned char **pp, long length)
 Unserialize the object.
bool initialized () const

Protected Attributes

bool m_initialized
 Has this object been initialized yet, or is it still blank?

Detailed Description

Serializable representation of a blinded plaintext for the RSA variant.

This is a two-part plaintext, where the first part is r*b and the second H(r) XOR m for a blinding factor b, message m, and hash function H.

Definition at line 181 of file VarRSA.h.


Member Function Documentation

const CODEX_ASN1::BigNumber& CODEX_Ciphers::VarRSABlindPlainText::b1  )  const [inline]
 

Returns:
first element of plain text. b1 = b*r

Definition at line 218 of file VarRSA.h.

Referenced by CODEX_KeyService::DelegateResponseVerifier::handler(), and VarRSABlindPlainText().

const CODEX_ASN1::BigNumber& CODEX_Ciphers::VarRSABlindPlainText::b2  )  const [inline]
 

Returns:
second element of plain text. b2 = H(r) XOR m

Definition at line 223 of file VarRSA.h.

Referenced by CODEX_KeyService::DelegateResponseVerifier::handler(), and VarRSABlindPlainText().

bool CODEX_ASN1::Base::initialized  )  const [inline, inherited]
 

Returns:
Has this object been initialized?

Definition at line 175 of file Base.h.

References CODEX_ASN1::Base::m_initialized.

Referenced by CODEX_APSS::SecretManagement::addComputeMsg(), CODEX_APSS::SecretManagement::addEstablishMsg(), CODEX_APSS::SecretManagement::addEstablishResponse(), CODEX_APSS::SecretManagement::addInitMsg(), CODEX_APSS::SecretManagement::addSharing(), CODEX_APSS::SecretManagement::addSubsharing(), CODEX_VSS::Combinatoric< NumT, ThreshT >::apply(), CODEX_Server::ServerState::caKey(), CODEX_KeyService::ClientCreateCallback::ClientCreateCallback(), CODEX_VSS::Combinatoric< NumT, ThreshT >::count(), CODEX_Server::QuorumBuilderAct::handler(), CODEX_APSS::MessageVerifier::handler(), CODEX_KeyService::DelegateResponseVerifier::handler(), CODEX_KeyService::DelegateRequestDistributor::handler(), CODEX_KeyService::ClientMessageVerifier::handler(), CODEX_KeyService::ClientMessageSigner::handler(), CODEX_VSS::SubshareLabel< LabelType >::marshal(), CODEX_KeyService::KeyInfo::marshal(), CODEX_VSS::LabeledShare< ShareType, OneWay >::marshal(), CODEX_VSS::ShareLabel< _ShareType, _OneWay >::marshal(), CODEX_VSS::ModExpFunctionalArgs::marshal(), CODEX_VSS::Combinatoric< NumT, ThreshT >::marshal(), CODEX_KeyService::SignWriteCallback::operator()(), CODEX_KeyService::SignReadCallback::operator()(), CODEX_KeyService::SignCreateCallback::operator()(), CODEX_VSS::ModExpFunctional::operator()(), CODEX_KeyService::ClientReadCallback::operator()(), CODEX_KeyService::ClientCreateCallback::operator()(), CODEX_VSS::Combinatoric< NumT, ThreshT >::operator+=(), CODEX_Server::ServerState::readElGamalShares(), CODEX_VSS::Combinatoric< NumT, ThreshT >::recover(), CODEX_APSS::SecretManagement::sendFinished(), CODEX_Server::ServerState::serviceKey(), CODEX_Server::ServerState::setEGShareCallback(), and CODEX_Server::ServerState::setRSAShareCallback().

BIGNUM * VarRSABlindPlainText::unblind const BIGNUM *  b,
const CODEX_ASN1::BigNumber modulus,
const HashFunction hashFunc
const
 

Unblind a blind plaintext.

Parameters:
b The blinding factor
modulus The modulus for the group in which ciphertexts live
hashFunc The hash function
Returns:
A pointer to a new BIGNUM which is the unblinding of the blind plaintext.

Definition at line 33 of file VarRSABlindPlainText.cc.

References CODEX_Ciphers::BIGNUM_xor(), CODEX_ASN1::BigNumber::marshal(), and CODEX_ASN1::BigNumber::value().


The documentation for this class was generated from the following files:
Generated on Fri May 6 17:41:55 2005 for COrnell Data EXchange (CODEX) by  doxygen 1.4.1