|
Disk ARchive
2.4.13
|
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) | |
Public Member Functions inherited from libdar::tronconneuse | |
| 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)) |
Public Member Functions inherited from libdar::generic_file | |
| 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... | |
Protected Member Functions inherited from libdar::generic_file | |
| 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.
1.8.6