PTEACypher Class Reference

#include <cypher.h>

Inheritance diagram for PTEACypher:

PCypher PObject List of all members.

Public Member Functions

 PTEACypher (BlockChainMode chainMode=ElectronicCodebook)
 PTEACypher (const Key &keyData, BlockChainMode chainMode=ElectronicCodebook)
void SetKey (const Key &newKey)
void GetKey (Key &newKey) const

Static Public Member Functions

static void GenerateKey (Key &newKey)

Protected Member Functions

virtual void Initialise (BOOL encoding)
virtual void EncodeBlock (const void *in, void *out)
virtual void DecodeBlock (const void *in, void *out)

Classes

struct  Key

Detailed Description

Tiny Encryption Algorithm. This class implements the Tiny Encryption Algorithm by David Wheeler and Roger Needham at Cambridge University.

This is a simple algorithm using a 128 bit binary key and encrypts data in 64 bit blocks.


Constructor & Destructor Documentation

PTEACypher::PTEACypher ( BlockChainMode  chainMode = ElectronicCodebook  ) 

Create a new TEA encryption object instance. The parameterless version automatically generates a new, random, key.

Parameters:
chainMode  Block chain mode

PTEACypher::PTEACypher ( const Key keyData,
BlockChainMode  chainMode = ElectronicCodebook 
)

Parameters:
keyData  Key for the encryption/decryption algorithm.
chainMode  Block chain mode


Member Function Documentation

void PTEACypher::SetKey ( const Key newKey  ) 

Set the key used by this encryption method.

Parameters:
newKey  Variable to take the key used by cypher.

void PTEACypher::GetKey ( Key newKey  )  const

Get the key used by this encryption method.

Parameters:
newKey  Variable to take the key used by cypher.

static void PTEACypher::GenerateKey ( Key newKey  )  [static]

Generate a new key suitable for use for encryption using random data.

Parameters:
newKey  Variable to take the newly generated key.

virtual void PTEACypher::Initialise ( BOOL  encoding  )  [protected, virtual]

Initialise the encoding/decoding sequence.

Parameters:
encoding  Flag for encoding/decoding sequence about to start.

Implements PCypher.

virtual void PTEACypher::EncodeBlock ( const void *  in,
void *  out 
) [protected, virtual]

Encode an n bit block of memory according to the encryption algorithm.

Parameters:
in  Pointer to clear n bit block.
out  Pointer to coded n bit block.

Implements PCypher.

virtual void PTEACypher::DecodeBlock ( const void *  in,
void *  out 
) [protected, virtual]

Decode an n bit block of memory according to the encryption algorithm.

Parameters:
in  Pointer to coded n bit block.
out  Pointer to clear n bit block.

Implements PCypher.


The documentation for this class was generated from the following file:
Generated on Fri Mar 7 06:25:07 2008 for PTLib by  doxygen 1.5.1