Disk ARchive
2.4.17
|
implementation of encryption using symetrical cryptography used in libgcrypt (among which is blowfish) More...
#include <crypto.hpp>
Inherits libdar::tronconneuse.
Inherited by libdar_4_4::blowfish.
Public Member Functions | |
crypto_sym (U_32 block_size, const secu_string &password, generic_file &encrypted_side, bool no_initial_shift, const archive_version &reading_ver, crypto_algo algo) | |
![]() | |
tronconneuse (U_32 block_size, generic_file &encrypted_side, bool no_initial_shift, const archive_version &reading_ver) | |
This is the constructor. More... | |
tronconneuse (const tronconneuse &ref) | |
copy constructor | |
const tronconneuse & | operator= (const tronconneuse &ref) |
assignment operator | |
virtual | ~tronconneuse () |
destructor | |
bool | skip (const infinint &pos) |
inherited from generic_file | |
bool | skip_to_eof () |
inherited from generic_file | |
bool | skip_relative (S_I x) |
inherited from generic_file | |
infinint | get_position () |
inherited from generic_file | |
void | write_end_of_file () |
in write_only mode indicate that end of file is reached More... | |
void | set_initial_shift (const infinint &x) |
this method to modify the initial shift. This overrides the constructor "no_initial_shift" of the constructor | |
void | set_callback_trailing_clear_data (infinint(*call_back)(generic_file &below, const archive_version &reading_ver)) |
![]() | |
generic_file (gf_mode m) | |
main constructor | |
generic_file (const generic_file &ref) | |
copy constructor | |
void | terminate () const |
virtual destructor, this let inherited destructor to be called even from a generic_file pointer to an inherited class More... | |
const generic_file & | operator= (const generic_file &ref) |
assignment operator | |
gf_mode | get_mode () const |
retreive the openning mode for this object | |
U_I | read (char *a, U_I size) |
read data from the generic_file More... | |
void | write (const char *a, U_I size) |
write data to the generic_file More... | |
void | write (const std::string &arg) |
write a string to the generic_file More... | |
S_I | read_back (char &a) |
skip back one char, read on char and skip back one char | |
S_I | read_forward (char &a) |
read one char | |
virtual void | copy_to (generic_file &ref) |
copy all data from current position to the object in argument | |
virtual void | copy_to (generic_file &ref, const infinint &crc_size, crc *&value) |
copy all data from the current position to the object in argument and computes a CRC value of the transmitted data More... | |
U_32 | copy_to (generic_file &ref, U_32 size) |
small copy (up to 4GB) with CRC calculation | |
infinint | copy_to (generic_file &ref, infinint size) |
copy the given amount to the object in argument | |
bool | diff (generic_file &f, const infinint &crc_size, crc *&value) |
compares the contents with the object in argument More... | |
bool | diff (generic_file &f, const infinint &crc_size, crc *&value, infinint &err_offset) |
void | reset_crc (const infinint &width) |
reset CRC on read or writen data More... | |
bool | crc_status () const |
to known whether CRC calculation is activated or not | |
crc * | get_crc () |
get CRC of the transfered date since last reset More... | |
void | sync_write () |
write any pending data | |
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 More... | |
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 More... | |
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 More... | |
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 decyphers data More... | |
![]() | |
void | set_mode (gf_mode x) |
bool | is_terminated () const |
implementation of encryption using symetrical cryptography used in libgcrypt (among which is blowfish)
inherited class from tronconneuse class
Definition at line 83 of file crypto.hpp.
|
protectedvirtual |
it may be necessary by the inherited class have few more bytes allocated after the clear data given for encryption
[in] | clear_block_size | is the size in byte of the clear data that will be asked to encrypt. |
Implements libdar::tronconneuse.
|
protectedvirtual |
this method decyphers data
[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. |
Implements libdar::tronconneuse.
|
protectedvirtual |
this method encrypts the clear data given
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: clear_block_allocated_size_for(clear_size) |
[in,out] | crypt_buf | is the area where to put corresponding encrypted data. |
[in] | crypt_size | is the allocated memory size for crypt_buf: encrypted_block_size_for(clear_size) |
Implements libdar::tronconneuse.
|
protectedvirtual |
defines the size necessary to encrypt a given amount of clear data
[in] | clear_block_size | is the size of the clear block to encrypt. |
Implements libdar::tronconneuse.