libdar::blowfish Class Reference
[Private]

blowfish implementation of encryption More...

#include <crypto.hpp>

Inherits libdar::tronconneuse.

List of all members.

Protected Member Functions

U_32 encrypted_block_size_for (U_32 clear_block_size)
 defines the size necessary to encrypt a given amount of clear data
U_32 clear_block_allocated_size_for (U_32 clear_block_size)
 it may be necessary by the inherited class have few more bytes allocated after the clear data given for encryption
U_32 encrypt_data (const infinint &block_num, const char *clear_buf, const U_32 clear_size, const U_32 clear_allocated, char *crypt_buf, U_32 crypt_size)
 this method encrypts the clear data given
U_32 decrypt_data (const infinint &block_num, const char *crypt_buf, const U_32 crypt_size, char *clear_buf, U_32 clear_size)
 this method is for decrypts data


Detailed Description

blowfish implementation of encryption

inherited class from tronconneuse class

Definition at line 64 of file crypto.hpp.


Member Function Documentation

U_32 libdar::blowfish::encrypted_block_size_for ( U_32  clear_block_size  )  [protected, virtual]

defines the size necessary to encrypt a given amount of clear data

Parameters:
[in] clear_block_size is the size of the clear block to encrypt.
Returns:
the size of the memory to allocate to receive corresponding encrypted data.
Note:
this implies that encryption algorithm must always generate a fixed size encrypted block of data for a given fixed size block of data. However, the size of the encrypted block of data may differ from the size of the clear block of data

Implements libdar::tronconneuse.

U_32 libdar::blowfish::clear_block_allocated_size_for ( U_32  clear_block_size  )  [protected, virtual]

it may be necessary by the inherited class have few more bytes allocated after the clear data given for encryption

Parameters:
[in] clear_block_size is the size in byte of the clear data that will be asked to encrypt.
Returns:
the requested allocated buffer size (at least the size of the clear data).
Note:
when giving clear buffer of data of size "clear_block_size" some inherited class may requested that a bit more of data must be allocated. this is to avoid copying data when the algorithm needs to add some data after the clear data before encryption.

Implements libdar::tronconneuse.

U_32 libdar::blowfish::encrypt_data ( const infinint block_num,
const char *  clear_buf,
const U_32  clear_size,
const U_32  clear_allocated,
char *  crypt_buf,
U_32  crypt_size 
) [protected, virtual]

this method encrypts the clear data given

Parameters:
block_num is the number of the block to which correspond the given data, This is an informational field for inherited classes.
[in] clear_buf points to the first byte of clear data to encrypt.
[in] clear_size is the length in byte of data to encrypt.
[in] clear_allocated is the size of the allocated memory (modifiable bytes) in clear_buf.
[in,out] crypt_buf is the area where to put corresponding encrypted data.
[in] crypt_size is the allocated memory size for crypt_buf.
Returns:
is the amount of data put in crypt_buf (<= crypt_size).
Note:
it must respect that : returned value = encrypted_block_size_for(clear_size argument)

Implements libdar::tronconneuse.

U_32 libdar::blowfish::decrypt_data ( const infinint block_num,
const char *  crypt_buf,
const U_32  crypt_size,
char *  clear_buf,
U_32  clear_size 
) [protected, virtual]

this method is for decrypts data

Parameters:
[in] block_num block number of the data to decrypt.
[in] crypt_buf pointer to the first byte of encrypted data.
[in] crypt_size size of encrypted data to decrypt.
[in,out] clear_buf pointer where to put clear data.
[in] clear_size allocated size of clear_buf.
Returns:
is the amount of data put in clear_buf (<= clear_size)

Implements libdar::tronconneuse.


The documentation for this class was generated from the following file:
Generated on Fri Nov 17 01:43:14 2006 for Disk ARchive by  doxygen 1.5.1