# PTEACypher Class Reference

Tiny Encryption Algorithm. More...

`#include <cypher.h>`

Inheritance diagram for PTEACypher:

List of all members.

## Public Member Functions

| PTEACypher (BlockChainMode chainMode=ElectronicCodebook)
| Create a new TEA encryption object instance.
| PTEACypher (const Key &keyData, BlockChainMode chainMode=ElectronicCodebook)
void | SetKey (const Key &newKey)
| Set the key used by this encryption method.
void | GetKey (Key &newKey) const
| Get the key used by this encryption method.

## Static Public Member Functions

static void | GenerateKey (Key &newKey)
| Generate a new key suitable for use for encryption using random data.

## Protected Member Functions

virtual void | Initialise (PBoolean encoding)
| Initialise the encoding/decoding sequence.
virtual void | EncodeBlock (const void *in, void *out)
| Encode an n bit block of memory according to the encryption algorithm.
virtual void | DecodeBlock (const void *in, void *out)
| Decode an n bit block of memory according to the encryption algorithm.

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

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.

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.

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.

void PTEACypher::GetKey | ( | Key & | newKey | ) | const

Get the key used by this encryption method.

Parameters:

  newKey | Variable to take the key used by cypher.

virtual void PTEACypher::Initialise | ( | PBoolean | encoding | ) | `[protected, virtual]`

Initialise the encoding/decoding sequence.

Parameters:

  encoding | Flag for encoding/decoding sequence about to start.

Implements PCypher.

void PTEACypher::SetKey | ( | const Key & | newKey | ) |

Set the key used by this encryption method.

Parameters:

  newKey | Variable to take the key used by cypher.

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

- cypher.h