Fabcoin Core  0.16.2
P2P Digital Currency
Protected Member Functions | List of all members
WAKE_Policy< B > Class Template Reference

WAKE stream cipher operation. More...

#include <wake.h>

Inheritance diagram for WAKE_Policy< B >:
[legend]
Collaboration diagram for WAKE_Policy< B >:
[legend]

Protected Member Functions

void CipherSetKey (const NameValuePairs &params, const byte *key, size_t length)
 Key the cipher. More...
 
void OperateKeystream (KeystreamOperation operation, byte *output, const byte *input, size_t iterationCount)
 Operates the keystream. More...
 
bool CipherIsRandomAccess () const
 Flag indicating random access. More...
 
- Protected Member Functions inherited from WAKE_Base
word32 M (word32 x, word32 y)
 
void GenKey (word32 k0, word32 k1, word32 k2, word32 k3)
 

Additional Inherited Members

- Public Types inherited from AdditiveCipherConcretePolicy< word32, 1, 64 >
typedef word32 WordType
 
- Public Member Functions inherited from AdditiveCipherConcretePolicy< word32, 1, 64 >
unsigned int GetAlignment () const
 Provides data alignment requirements. More...
 
unsigned int GetBytesPerIteration () const
 Provides number of bytes operated upon during an iteration. More...
 
unsigned int GetIterationsToBuffer () const
 Provides buffer size based on iterations. More...
 
bool CanOperateKeystream () const
 Flag indicating. More...
 
- Public Member Functions inherited from AdditiveCipherAbstractPolicy
virtual ~AdditiveCipherAbstractPolicy ()
 
virtual unsigned int GetOptimalBlockSize () const
 Provides number of ideal bytes to process. More...
 
virtual void WriteKeystream (byte *keystream, size_t iterationCount)
 Generate the keystream. More...
 
virtual void CipherResynchronize (byte *keystreamBuffer, const byte *iv, size_t length)
 Resynchronize the cipher. More...
 
virtual void SeekToIteration (lword iterationCount)
 Seeks to a random position in the stream. More...
 
- Protected Attributes inherited from WAKE_Base
word32 t [257]
 
word32 r3
 
word32 r4
 
word32 r5
 
word32 r6
 

Detailed Description

template<class B = BigEndian>
class WAKE_Policy< B >

WAKE stream cipher operation.

Template Parameters
BEndianness of the stream cipher
Since
Crypto++ 1.0

Definition at line 40 of file wake.h.

Member Function Documentation

template<class B = BigEndian>
bool WAKE_Policy< B >::CipherIsRandomAccess ( ) const
inlineprotectedvirtual

Flag indicating random access.

Returns
true if the cipher is seekable, false otherwise
See also
SeekToIteration()

Implements AdditiveCipherAbstractPolicy.

Definition at line 46 of file wake.h.

template<class B >
void WAKE_Policy< B >::CipherSetKey ( const NameValuePairs params,
const byte key,
size_t  length 
)
protectedvirtual

Key the cipher.

Parameters
paramsset of NameValuePairs use to initialize this object
keya byte array used to key the cipher
lengththe size of the key array

Implements AdditiveCipherAbstractPolicy.

Definition at line 65 of file wake.cpp.

Here is the call graph for this function:

template<class B >
void WAKE_Policy< B >::OperateKeystream ( KeystreamOperation  operation,
byte output,
const byte input,
size_t  iterationCount 
)
protectedvirtual

Operates the keystream.

Parameters
operationthe operation with additional flags
outputthe output buffer
inputthe input buffer
iterationCountthe number of iterations to perform on the input

OperateKeystream() will attempt to operate upon GetOptimalBlockSize() buffer, which will be derived from GetBytesPerIteration().

See also
CanOperateKeystream(), OperateKeystream(), WriteKeystream(), KeystreamOperation()

Implements AdditiveCipherConcretePolicy< word32, 1, 64 >.

Definition at line 75 of file wake.cpp.


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