Security Scol plugin
Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
RawIDA Class Reference

Secret sharing and information dispersal base class. More...

#include <ida.h>

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

Public Member Functions

 RawIDA (BufferedTransformation *attachment=NULLPTR)
 
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
 
void IsolatedInitialize (const NameValuePairs &parameters=g_nullNameValuePairs)
 
size_t ChannelPut2 (const std::string &channel, const byte *begin, size_t length, int messageEnd, bool blocking)
 Input multiple bytes for processing on a channel.
 
- Public Member Functions inherited from AutoSignaling< Unflushable< Multichannel< Filter > > >
 AutoSignaling (int propagation=-1)
 Construct an AutoSignaling.
 
void SetAutoSignalPropagation (int propagation)
 Set propagation of automatically generated and transferred signals.
 
int GetAutoSignalPropagation () const
 Retrieve automatic signal propagation value.
 
- Public Member Functions inherited from Unflushable< Multichannel< Filter > >
bool Flush (bool completeFlush, int propagation=-1, bool blocking=true)
 Flush buffered input and/or output, with signal propagation.
 
bool IsolatedFlush (bool hardFlush, bool blocking)
 Flushes data buffered by this object, without signal propagation.
 
bool ChannelFlush (const std::string &channel, bool hardFlush, int propagation=-1, bool blocking=true)
 Flush buffered input and/or output on a channel.
 
- Public Member Functions inherited from Multichannel< Filter >
bool MessageSeriesEnd (int propagation=-1, bool blocking=true)
 Marks the end of a series of messages, with signal propagation.
 
byteCreatePutSpace (size_t &size)
 Request space which can be written into by the caller.
 
size_t Put2 (const byte *inString, size_t length, int messageEnd, bool blocking)
 Input multiple bytes for processing.
 
size_t PutModifiable2 (byte *inString, size_t length, int messageEnd, bool blocking)
 Input multiple bytes that may be modified by callee.
 
byteChannelCreatePutSpace (const std::string &channel, size_t &size)
 Request space which can be written into by the caller.
 
bool ChannelPutModifiable (const std::string &channel, byte *inString, size_t length)
 Input multiple bytes that may be modified by callee on a channel.
 
size_t ChannelPutModifiable2 (const std::string &channel, byte *begin, size_t length, int messageEnd, bool blocking)
 Input multiple bytes that may be modified by callee on a channel.
 
- Public Member Functions inherited from CustomFlushPropagation< T >

Protected Types

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

Protected Member Functions

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 Member Functions inherited from Unflushable< Multichannel< Filter > >
virtual bool InputBufferIsEmpty () const
 

Protected Attributes

InputChannelMap m_inputChannelMap
 
InputChannelMap::iterator m_lastMapPosition
 
std::vector< MessageQueuem_inputQueues
 
std::vector< word32m_inputChannelIds
 
std::vector< word32m_outputChannelIds
 
std::vector< word32m_outputToInput
 
std::vector< std::string > m_outputChannelIdStrings
 
std::vector< ByteQueuem_outputQueues
 
std::vector< SecBlock< word32 > > m_v
 
SecBlock< word32m_u
 
SecBlock< word32m_w
 
SecBlock< word32m_y
 
const GF2_32 m_gf32
 
unsigned int m_channelsReady
 
unsigned int m_channelsFinished
 
int m_threshold
 

Detailed Description

Secret sharing and information dispersal base class.

Since
Crypto++ 1.0

Definition at line 22 of file ida.h.

Member Typedef Documentation

◆ InputChannelMap

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

Definition at line 53 of file ida.h.

Constructor & Destructor Documentation

◆ RawIDA()

RawIDA::RawIDA ( BufferedTransformation attachment = NULLPTR)
inline

Definition at line 25 of file ida.h.

Member Function Documentation

◆ AddOutputChannel()

void RawIDA::AddOutputChannel ( word32  channelId)

Definition at line 147 of file ida.cpp.

◆ ChannelData()

void RawIDA::ChannelData ( word32  channelId,
const byte inString,
size_t  length,
bool  messageEnd 
)

Definition at line 93 of file ida.cpp.

◆ ChannelPut2()

size_t RawIDA::ChannelPut2 ( const std::string &  channel,
const byte begin,
size_t  length,
int  messageEnd,
bool  blocking 
)
inlinevirtual

Input multiple bytes for processing on a channel.

Parameters
channelthe channel to process the data.
beginthe byte buffer to process.
lengththe size of the string, in bytes.
messageEndmeans how many filters to signal MessageEnd() to, including this one.
blockingspecifies whether the object should block when processing input.
Returns
the number of bytes that remain to be processed (i.e., bytes not processed)

Implements Multichannel< Filter >.

Definition at line 35 of file ida.h.

◆ ComputeV()

void RawIDA::ComputeV ( unsigned int  i)
protected

Definition at line 131 of file ida.cpp.

◆ FlushOutputQueues()

void RawIDA::FlushOutputQueues ( )
protectedvirtual

Definition at line 225 of file ida.cpp.

◆ GetThreshold()

unsigned int RawIDA::GetThreshold ( ) const
inline

Definition at line 29 of file ida.h.

◆ InputBuffered()

lword RawIDA::InputBuffered ( word32  channelId) const

Definition at line 125 of file ida.cpp.

◆ InsertInputChannel()

unsigned int RawIDA::InsertInputChannel ( word32  channelId)
protected

Definition at line 56 of file ida.cpp.

◆ IsolatedInitialize()

void RawIDA::IsolatedInitialize ( const NameValuePairs parameters = g_nullNameValuePairs)

Definition at line 23 of file ida.cpp.

◆ LookupInputChannel()

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

Definition at line 84 of file ida.cpp.

◆ OutputMessageEnds()

void RawIDA::OutputMessageEnds ( )
protectedvirtual

Definition at line 231 of file ida.cpp.

◆ PrepareInterpolation()

void RawIDA::PrepareInterpolation ( )
protected

Definition at line 156 of file ida.cpp.

◆ ProcessInputQueues()

void RawIDA::ProcessInputQueues ( )
protected

Definition at line 164 of file ida.cpp.

Member Data Documentation

◆ m_channelsFinished

unsigned int RawIDA::m_channelsFinished
protected

Definition at line 63 of file ida.h.

◆ m_channelsReady

unsigned int RawIDA::m_channelsReady
protected

Definition at line 63 of file ida.h.

◆ m_gf32

const GF2_32 RawIDA::m_gf32
protected

Definition at line 62 of file ida.h.

◆ m_inputChannelIds

std::vector<word32> RawIDA::m_inputChannelIds
protected

Definition at line 57 of file ida.h.

◆ m_inputChannelMap

InputChannelMap RawIDA::m_inputChannelMap
protected

Definition at line 54 of file ida.h.

◆ m_inputQueues

std::vector<MessageQueue> RawIDA::m_inputQueues
protected

Definition at line 56 of file ida.h.

◆ m_lastMapPosition

InputChannelMap::iterator RawIDA::m_lastMapPosition
protected

Definition at line 55 of file ida.h.

◆ m_outputChannelIds

std::vector<word32> RawIDA::m_outputChannelIds
protected

Definition at line 57 of file ida.h.

◆ m_outputChannelIdStrings

std::vector<std::string> RawIDA::m_outputChannelIdStrings
protected

Definition at line 58 of file ida.h.

◆ m_outputQueues

std::vector<ByteQueue> RawIDA::m_outputQueues
protected

Definition at line 59 of file ida.h.

◆ m_outputToInput

std::vector<word32> RawIDA::m_outputToInput
protected

Definition at line 57 of file ida.h.

◆ m_threshold

int RawIDA::m_threshold
protected

Definition at line 64 of file ida.h.

◆ m_u

SecBlock<word32> RawIDA::m_u
protected

Definition at line 61 of file ida.h.

◆ m_v

std::vector<SecBlock<word32> > RawIDA::m_v
protected

Definition at line 60 of file ida.h.

◆ m_w

SecBlock<word32> RawIDA::m_w
protected

Definition at line 61 of file ida.h.

◆ m_y

SecBlock<word32> RawIDA::m_y
protected

Definition at line 61 of file ida.h.


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