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

RawIDA Class Reference

base class for secret sharing and information dispersal. More...

#include <ida.h>

Inheritance diagram for RawIDA:

Filter BufferedTransformationWithAutoSignal BufferedTransformation BufferedTransformation InformationRecovery SecretRecovery List of all members.

Public Methods

 RawIDA (unsigned int threshold,BufferedTransformation *outQueue=NULL)
unsigned int GetThreshold ()const
void AddOutputChannel (word32 channelId)
void ChannelData (word32 channelId,const byte *inString,unsigned int length)
unsigned int InputBuffered (word32 channelId)const
void ChannelPut (const::string &channel,byte inByte)
void ChannelPut (const::string &channel,const byte *inString,unsigned int length)
void ChannelMessageEnd (const::string &channel,int propagation=-1)
void Put (byte inByte)
 input a byte for processing. More...

void Put (const byte *inString,unsigned int length)
 input multiple bytes. More...


Protected Methods

virtual void FlushOutputQueues ()
virtual void OutputMessageEnds ()
unsigned int InsertInputChannel (word32 channelId)
unsigned int LookupInputChannel (word32 channelId)const
void ComputeV (unsigned int)
void PrepareInterpolation ()
void ProcessInputQueues ()

Protected Attributes

::map<word32, unsigned int> m_inputChannelMap
::map<word32, unsigned int>::iterator m_lastMapPosition
::vector<MessageQueuem_inputQueues
::vector<word32> m_inputChannelIds
::vector<word32> m_outputChannelIds
::vector<word32> m_outputToInput
::vector<ByteQueuem_outputQueues
::vector<ChannelSwitchm_channelSwitches
unsigned int m_threshold
unsigned int m_channelsReady
unsigned int m_channelsFinished
::vector<SecBlock<word32> > m_v
SecBlock<word32> m_u
SecBlock<word32> m_w
SecBlock<word32> m_y

Detailed Description

base class for secret sharing and information dispersal.

Definition at line 13 of file ida.h.


Member Function Documentation

void RawIDA::AddOutputChannel ( word32 channelId )
 

Definition at line 123 of file ida.cpp.

void RawIDA::ChannelData ( word32 channelId,
const byte * inString,
unsigned int length )
 

Definition at line 65 of file ida.cpp.

Referenced by InformationDispersal::Put(), and SecretSharing::Put().

void RawIDA::ChannelPut ( const::string & channel,
const byte * inString,
unsigned int length ) [inline, virtual]
 

Reimplemented from BufferedTransformation.

Definition at line 25 of file ida.h.

void RawIDA::ChannelPut ( const::string & channel,
byte inByte ) [inline, virtual]
 

Reimplemented from BufferedTransformation.

Definition at line 23 of file ida.h.

void RawIDA::ComputeV ( unsigned int i ) [protected]
 

Definition at line 107 of file ida.cpp.

void RawIDA::FlushOutputQueues ( ) [protected, virtual]
 

Definition at line 203 of file ida.cpp.

unsigned int RawIDA::GetThreshold ( ) const [inline]
 

Definition at line 18 of file ida.h.

Referenced by InformationDispersal::MessageEnd(), SecretSharing::MessageEnd(), InformationDispersal::Put(), and SecretSharing::Put().

unsigned int RawIDA::InputBuffered ( word32 channelId ) const
 

Definition at line 81 of file ida.cpp.

Referenced by SecretSharing::MessageEnd().

unsigned int RawIDA::InsertInputChannel ( word32 channelId ) [protected]
 

Definition at line 28 of file ida.cpp.

unsigned int RawIDA::LookupInputChannel ( word32 channelId ) const [protected]
 

Definition at line 56 of file ida.cpp.

void RawIDA::OutputMessageEnds ( ) [protected, virtual]
 

Definition at line 209 of file ida.cpp.

void RawIDA::PrepareInterpolation ( ) [protected]
 

Definition at line 132 of file ida.cpp.

void RawIDA::ProcessInputQueues ( ) [protected]
 

Definition at line 141 of file ida.cpp.

void RawIDA::Put ( const byte * inString,
unsigned int length ) [inline, virtual]
 

input multiple bytes.

Reimplemented from BufferedTransformation.

Definition at line 30 of file ida.h.

void RawIDA::Put ( byte inByte ) [inline, virtual]
 

input a byte for processing.

Reimplemented from BufferedTransformation.

Definition at line 29 of file ida.h.


Member Data Documentation

vector< ChannelSwitch > RawIDA::m_channelSwitches [protected]
 

Definition at line 47 of file ida.h.

unsigned int RawIDA::m_channelsFinished [protected]
 

Definition at line 48 of file ida.h.

unsigned int RawIDA::m_channelsReady [protected]
 

Definition at line 48 of file ida.h.

vector< word32 > RawIDA::m_inputChannelIds [protected]
 

Definition at line 45 of file ida.h.

map< word32,unsigned int > RawIDA::m_inputChannelMap [protected]
 

Definition at line 42 of file ida.h.

vector< MessageQueue > RawIDA::m_inputQueues [protected]
 

Definition at line 44 of file ida.h.

map< word32,unsigned int >::iterator RawIDA::m_lastMapPosition [protected]
 

Definition at line 43 of file ida.h.

vector< word32 > RawIDA::m_outputChannelIds [protected]
 

Definition at line 45 of file ida.h.

vector< ByteQueue > RawIDA::m_outputQueues [protected]
 

Definition at line 46 of file ida.h.

vector< word32 > RawIDA::m_outputToInput [protected]
 

Definition at line 45 of file ida.h.

unsigned int RawIDA::m_threshold [protected]
 

Definition at line 48 of file ida.h.

SecBlock< word32 > RawIDA::m_u [protected]
 

Definition at line 50 of file ida.h.

vector< SecBlock< word32 > > RawIDA::m_v [protected]
 

Definition at line 49 of file ida.h.

SecBlock< word32 > RawIDA::m_w [protected]
 

Definition at line 50 of file ida.h.

SecBlock< word32 > RawIDA::m_y [protected]
 

Definition at line 50 of file ida.h.


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