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

Shamir's Secret Sharing Algorithm. More...

#include <ida.h>

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

Public Member Functions

 SecretRecovery (int threshold, BufferedTransformation *attachment=NULLPTR, bool removePadding=true)
 Construct a SecretRecovery.
 
void IsolatedInitialize (const NameValuePairs &parameters=g_nullNameValuePairs)
 
- Public Member Functions inherited from RawIDA
 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 Member Functions

void FlushOutputQueues ()
 
void OutputMessageEnds ()
 
- Protected Member Functions inherited from RawIDA
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

bool m_pad
 
- Protected Attributes inherited from RawIDA
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
 

Additional Inherited Members

- Protected Types inherited from RawIDA
typedef std::map< word32, unsigned int > InputChannelMap
 

Detailed Description

Shamir's Secret Sharing Algorithm.

SecretSharing is a variant of Shamir's secret sharing algorithm

See also
SecretRecovery, SecretRecovery, InformationDispersal, InformationRecovery
Since
Crypto++ 1.0

Definition at line 96 of file ida.h.

Constructor & Destructor Documentation

◆ SecretRecovery()

SecretRecovery::SecretRecovery ( int  threshold,
BufferedTransformation attachment = NULLPTR,
bool  removePadding = true 
)
inline

Construct a SecretRecovery.

Definition at line 100 of file ida.h.

Member Function Documentation

◆ FlushOutputQueues()

void SecretRecovery::FlushOutputQueues ( )
protectedvirtual

Reimplemented from RawIDA.

Definition at line 291 of file ida.cpp.

◆ IsolatedInitialize()

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

Definition at line 285 of file ida.cpp.

◆ OutputMessageEnds()

void SecretRecovery::OutputMessageEnds ( )
protectedvirtual

Reimplemented from RawIDA.

Definition at line 299 of file ida.cpp.

Member Data Documentation

◆ m_pad

bool SecretRecovery::m_pad
protected

Definition at line 110 of file ida.h.


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