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.
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.