Crypto++
Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes
InformationRecovery Class Reference

a variant of Rabin's Information Dispersal Algorithm More...

#include <ida.h>

Inheritance diagram for InformationRecovery:
RawIDA AutoSignaling< Unflushable< Multichannel< Filter > > >

List of all members.

Public Member Functions

 InformationRecovery (int threshold, BufferedTransformation *attachment=NULL, bool removePadding=true)
void IsolatedInitialize (const NameValuePairs &parameters=g_nullNameValuePairs)
unsigned int GetThreshold () const
void AddOutputChannel (word32 channelId)
void ChannelData (word32 channelId, const byte *inString, size_t length, bool messageEnd)
lword InputBuffered (word32 channelId) const
size_t ChannelPut2 (const std::string &channel, const byte *begin, size_t length, int messageEnd, bool blocking)
void SetAutoSignalPropagation (int propagation)
int GetAutoSignalPropagation () const

Protected Types

typedef std::map< word32,
unsigned int > 
InputChannelMap

Protected Member Functions

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

Protected Attributes

bool m_pad
ByteQueue m_queue
InputChannelMap m_inputChannelMap
InputChannelMap::iterator m_lastMapPosition
std::vector< MessageQueuem_inputQueues
std::vector< word32 > m_inputChannelIds
std::vector< word32 > m_outputChannelIds
std::vector< word32 > m_outputToInput
std::vector< std::string > m_outputChannelIdStrings
std::vector< ByteQueuem_outputQueues
int m_threshold
unsigned int m_channelsReady
unsigned int m_channelsFinished
std::vector< SecBlock< word32 > > m_v
SecBlock< word32 > m_u
SecBlock< word32 > m_w
SecBlock< word32 > m_y

Detailed Description

a variant of Rabin's Information Dispersal Algorithm


The documentation for this class was generated from the following file: