Crypto++ 8.9
Free C++ class library of cryptographic schemes
Classes | Public Types | Public Member Functions | List of all members
CFB_CipherConcretePolicy< WT, W, BASE > Struct Template Reference

Base class for feedback based stream ciphers. More...

#include <strciphr.h>

+ Inheritance diagram for CFB_CipherConcretePolicy< WT, W, BASE >:

Classes

struct  RegisterOutput
 Provides alternate access to a feedback register. More...
 

Public Types

typedef WT WordType
 

Public Member Functions

unsigned int GetAlignment () const
 Provides data alignment requirements.
 
unsigned int GetBytesPerIteration () const
 Provides number of bytes operated upon during an iteration.
 
bool CanIterate () const
 Flag indicating iteration support.
 
void TransformRegister ()
 Perform one iteration in the forward direction.
 
- Public Member Functions inherited from CFB_CipherAbstractPolicy
virtual byteGetRegisterBegin ()=0
 Access the feedback register.
 
virtual void Iterate (byte *output, const byte *input, CipherDir dir, size_t iterationCount)
 Iterate the cipher.
 
virtual void CipherSetKey (const NameValuePairs &params, const byte *key, size_t length)=0
 Key the cipher.
 
virtual void CipherResynchronize (const byte *iv, size_t length)
 Resynchronize the cipher.
 
virtual std::string AlgorithmProvider () const
 Retrieve the provider of this algorithm.
 

Detailed Description

template<typename WT, unsigned int W, class BASE = CFB_CipherAbstractPolicy>
struct CFB_CipherConcretePolicy< WT, W, BASE >

Base class for feedback based stream ciphers.

Template Parameters
WTword type
Wcount of words
BASECFB_CipherAbstractPolicy derived base class

Definition at line 475 of file strciphr.h.

Member Typedef Documentation

◆ WordType

template<typename WT , unsigned int W, class BASE = CFB_CipherAbstractPolicy>
typedef WT CFB_CipherConcretePolicy< WT, W, BASE >::WordType

Definition at line 477 of file strciphr.h.

Constructor & Destructor Documentation

◆ ~CFB_CipherConcretePolicy()

template<typename WT , unsigned int W, class BASE = CFB_CipherAbstractPolicy>
virtual CFB_CipherConcretePolicy< WT, W, BASE >::~CFB_CipherConcretePolicy ( )
inlinevirtual

Definition at line 479 of file strciphr.h.

Member Function Documentation

◆ GetAlignment()

template<typename WT , unsigned int W, class BASE = CFB_CipherAbstractPolicy>
unsigned int CFB_CipherConcretePolicy< WT, W, BASE >::GetAlignment ( ) const
inlinevirtual

Provides data alignment requirements.

Returns
data alignment requirements, in bytes

Internally, the default implementation returns 1. If the stream cipher is implemented using an SSE2 ASM or intrinsics, then the value returned is usually 16.

Implements CFB_CipherAbstractPolicy.

Definition at line 485 of file strciphr.h.

◆ GetBytesPerIteration()

template<typename WT , unsigned int W, class BASE = CFB_CipherAbstractPolicy>
unsigned int CFB_CipherConcretePolicy< WT, W, BASE >::GetBytesPerIteration ( ) const
inlinevirtual

Provides number of bytes operated upon during an iteration.

Returns
bytes operated upon during an iteration, in bytes
See also
GetOptimalBlockSize()

Implements CFB_CipherAbstractPolicy.

Definition at line 490 of file strciphr.h.

◆ CanIterate()

template<typename WT , unsigned int W, class BASE = CFB_CipherAbstractPolicy>
bool CFB_CipherConcretePolicy< WT, W, BASE >::CanIterate ( ) const
inlinevirtual

Flag indicating iteration support.

Returns
true if the cipher supports iteration, false otherwise

Reimplemented from CFB_CipherAbstractPolicy.

Definition at line 494 of file strciphr.h.

◆ TransformRegister()

template<typename WT , unsigned int W, class BASE = CFB_CipherAbstractPolicy>
void CFB_CipherConcretePolicy< WT, W, BASE >::TransformRegister ( )
inlinevirtual

Perform one iteration in the forward direction.

Implements CFB_CipherAbstractPolicy.

Definition at line 497 of file strciphr.h.


The documentation for this struct was generated from the following file: