Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

CBC_CTS_Encryptor Class Reference

CBC/CTS mode with ciphertext stealing. More...

#include <cbc.h>

Inheritance diagram for CBC_CTS_Encryptor:

FilterWithBufferedInput Filter BufferedTransformation List of all members.

Public Methods

 CBC_CTS_Encryptor (const BlockTransformation &cipher,byte *IV,BufferedTransformation *outQueue,bool stealIV)
 CBC_CTS_Encryptor (const BlockTransformation &cipher,const byte *IV,BufferedTransformation *outQueue=NULL)

Protected Methods

void FirstPut (const byte *inString)
void NextPut (const byte *inString,unsigned int length)
void LastPut (const byte *inString,unsigned int length)

Protected Attributes

byte* m_iv

Detailed Description

CBC/CTS mode with ciphertext stealing.

Compatible with RFC 2040. Ciphertext stealing requires at least cipher.BlockSize()+1 bytes of plaintext. Shorter plaintext will be padded with '\0's unless IV stealing is specified.

Definition at line 75 of file cbc.h.


Constructor & Destructor Documentation

CBC_CTS_Encryptor::CBC_CTS_Encryptor ( const BlockTransformation & cipher,
byte * IV,
BufferedTransformation * outQueue,
bool stealIV )
 

If stealIV == true and length of plaintext < cipher.BlockSize()+1, IV will be modified, and the modified IV must be used for decryption. If stealIV == false or using the second constructor, shorter plaintexts will be padded with '\0's.

Definition at line 99 of file cbc.cpp.

CBC_CTS_Encryptor::CBC_CTS_Encryptor ( const BlockTransformation & cipher,
const byte * IV,
BufferedTransformation * outQueue = NULL )
 

Definition at line 104 of file cbc.cpp.


Member Function Documentation

void CBC_CTS_Encryptor::FirstPut ( const byte * inString ) [protected, virtual]
 

Reimplemented from FilterWithBufferedInput.

Definition at line 109 of file cbc.cpp.

void CBC_CTS_Encryptor::LastPut ( const byte * inString,
unsigned int length ) [protected, virtual]
 

Reimplemented from FilterWithBufferedInput.

Definition at line 122 of file cbc.cpp.

void CBC_CTS_Encryptor::NextPut ( const byte * inString,
unsigned int length ) [protected, virtual]
 

Reimplemented from FilterWithBufferedInput.

Definition at line 115 of file cbc.cpp.


Member Data Documentation

byte * CBC_CTS_Encryptor::m_iv [protected]
 

Definition at line 90 of file cbc.h.


The documentation for this class was generated from the following files:
Generated at Mon Jan 15 01:16:43 2001 for Crypto++ by doxygen1.2.4 written by Dimitri van Heesch, © 1997-2000