Crypto++
5.6.4
Free C++ class library of cryptographic schemes
|
Go to the documentation of this file.
24 : m_threshold (0), m_channelsReady(0), m_channelsFinished(0)
27 unsigned int GetThreshold()
const {
return m_threshold;}
28 void AddOutputChannel(word32 channelId);
29 void ChannelData(word32 channelId,
const byte *inString,
size_t length,
bool messageEnd);
30 lword InputBuffered(word32 channelId)
const;
33 size_t ChannelPut2(
const std::string &channel,
const byte *begin,
size_t length,
int messageEnd,
bool blocking)
37 ChannelData(StringToWord<word32>(channel), begin, length, messageEnd != 0);
42 virtual void FlushOutputQueues();
43 virtual void OutputMessageEnds();
45 unsigned int InsertInputChannel(word32 channelId);
46 unsigned int LookupInputChannel(word32 channelId)
const;
47 void ComputeV(
unsigned int);
48 void PrepareInterpolation();
49 void ProcessInputQueues();
51 typedef std::map<word32, unsigned int> InputChannelMap;
52 InputChannelMap m_inputChannelMap;
53 InputChannelMap::iterator m_lastMapPosition;
54 std::vector<MessageQueue> m_inputQueues;
55 std::vector<word32> m_inputChannelIds, m_outputChannelIds, m_outputToInput;
56 std::vector<std::string> m_outputChannelIdStrings;
57 std::vector<ByteQueue> m_outputQueues;
59 unsigned int m_channelsReady, m_channelsFinished;
60 std::vector<SecBlock<word32> > m_v;
76 size_t Put2(
const byte *begin,
size_t length,
int messageEnd,
bool blocking);
77 bool Flush(
bool hardFlush,
int propagation=-1,
bool blocking=
true) {
return m_ida.Flush(hardFlush, propagation, blocking);}
96 void FlushOutputQueues();
97 void OutputMessageEnds();
107 : m_ida(
new OutputProxy(*
this,
true)), m_pad(
false), m_nextChannel(0)
114 size_t Put2(
const byte *begin,
size_t length,
int messageEnd,
bool blocking);
115 bool Flush(
bool hardFlush,
int propagation=-1,
bool blocking=
true) {
return m_ida.Flush(hardFlush, propagation, blocking);}
120 unsigned int m_nextChannel;
128 :
RawIDA(attachment), m_pad(
false)
134 void FlushOutputQueues();
135 void OutputMessageEnds();
145 : m_possiblePadding(
false), m_zeroCount(0) {
Detach(attachment);}
148 {CRYPTOPP_UNUSED(parameters); m_possiblePadding =
false;}
149 size_t Put2(
const byte *begin,
size_t length,
int messageEnd,
bool blocking);
152 bool GetPossiblePadding()
const {
return m_possiblePadding;}
155 bool m_possiblePadding;
Provides multiple channels support for custom flush signal processing.
AlgorithmParameters MakeParameters(const char *name, const T &value, bool throwIfNotUsed=true)
Create an object that implements NameValuePairs.
a variant of Shamir's Secret Sharing Algorithm
Data structure used to store byte strings.
void IsolatedInitialize(const NameValuePairs ¶meters=g_nullNameValuePairs)
Initialize or reinitialize this object, without signal propagation.
Classes and functions for secure memory allocations.
void IsolatedInitialize(const NameValuePairs ¶meters=g_nullNameValuePairs)
Initialize or reinitialize this object, without signal propagation.
Implementation of BufferedTransformation's attachment interface.
Interface for random number generators.
Classes for multiple named channels.
size_t Put2(const byte *begin, size_t length, int messageEnd, bool blocking)
Input multiple bytes for processing.
void IsolatedInitialize(const NameValuePairs ¶meters=g_nullNameValuePairs)
Initialize or reinitialize this object, without signal propagation.
Utility functions for the Crypto++ library.
Implementation of BufferedTransformation's attachment interface.
void IsolatedInitialize(const NameValuePairs ¶meters)
Initialize or reinitialize this object, without signal propagation.
Provides interface for custom flush signals.
size_t Put2(const byte *begin, size_t length, int messageEnd, bool blocking)
Input multiple bytes for processing.
Base class for unflushable filters.
void Detach(BufferedTransformation *newAttachment=NULL)
Replace an attached transformation.
base class for secret sharing and information dispersal
Provides auto signaling support.
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.
const NameValuePairs & g_nullNameValuePairs
An empty set of name-value pairs.
bool Flush(bool hardFlush, int propagation=-1, bool blocking=true)
Flush buffered input and/or output, with signal propagation.
Crypto++ library namespace.
a variant of Shamir's Secret Sharing Algorithm
Interface for retrieving values given their names.
Abstract base classes that provide a uniform interface to this library.