BlowFish encryption class. More...

Public Member Functions

 BlowFish (const void *keyData, int keyBytes)
 Creates an object that can encode/decode based on the specified key. More...
 
 BlowFish (const BlowFish &)
 Creates a copy of another blowfish object. More...
 
BlowFishoperator= (const BlowFish &) noexcept
 Copies another blowfish object. More...
 
 ~BlowFish () noexcept
 Destructor. More...
 
void encrypt (uint32 &data1, uint32 &data2) const noexcept
 Encrypts a pair of 32-bit integers. More...
 
void decrypt (uint32 &data1, uint32 &data2) const noexcept
 Decrypts a pair of 32-bit integers. More...
 
void encrypt (MemoryBlock &data) const
 Encrypts a memory block. More...
 
void decrypt (MemoryBlock &data) const
 Decrypts a memory block. More...
 
int encrypt (void *buffer, size_t sizeOfMsg, size_t bufferSize) const noexcept
 Encrypts data in-place. More...
 
int decrypt (void *buffer, size_t bytes) const noexcept
 Decrypts data in-place. More...
 

Detailed Description

BlowFish encryption class.

Constructor & Destructor Documentation

◆ BlowFish() [1/2]

BlowFish::BlowFish ( const void *  keyData,
int  keyBytes 
)

Creates an object that can encode/decode based on the specified key.

The key data can be up to 72 bytes long.

◆ BlowFish() [2/2]

BlowFish::BlowFish ( const BlowFish )

Creates a copy of another blowfish object.

◆ ~BlowFish()

BlowFish::~BlowFish ( )
noexcept

Destructor.

Member Function Documentation

◆ operator=()

BlowFish& BlowFish::operator= ( const BlowFish )
noexcept

Copies another blowfish object.

◆ encrypt() [1/3]

void BlowFish::encrypt ( uint32 data1,
uint32 data2 
) const
noexcept

Encrypts a pair of 32-bit integers.

◆ decrypt() [1/3]

void BlowFish::decrypt ( uint32 data1,
uint32 data2 
) const
noexcept

Decrypts a pair of 32-bit integers.

◆ encrypt() [2/3]

void BlowFish::encrypt ( MemoryBlock data) const

Encrypts a memory block.

◆ decrypt() [2/3]

void BlowFish::decrypt ( MemoryBlock data) const

Decrypts a memory block.

◆ encrypt() [3/3]

int BlowFish::encrypt ( void *  buffer,
size_t  sizeOfMsg,
size_t  bufferSize 
) const
noexcept

Encrypts data in-place.

Parameters
bufferThe message that should be encrypted. See bufferSize on size requirements!
sizeOfMsgThe size of the message that should be encrypted in bytes
bufferSizeThe size of the buffer in bytes. To accomadate the encypted data, the buffer must be larger than the message: the size of the buffer needs to be equal or greater than the size of the message in bytes rounded to the next integer which is divisable by eight. If the message size in bytes is already divisable by eight then you need to add eight bytes to the buffer size. If in doubt simply use bufferSize = sizeOfMsg + 8.
Returns
The size of the decrypted data in bytes or -1 if the decryption failed.

◆ decrypt() [3/3]

int BlowFish::decrypt ( void *  buffer,
size_t  bytes 
) const
noexcept

Decrypts data in-place.

Parameters
bufferThe encrypted data that should be decrypted
bytesThe size of the encrypted data in bytes
Returns
The size of the decrypted data in bytes or -1 if the decryption failed.

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