37 #ifndef VIRGIL_CHUNK_CIPHER_H
38 #define VIRGIL_CHUNK_CIPHER_H
42 #include <virgil/crypto/VirgilCipherBase.h>
43 #include <virgil/crypto/VirgilByteArray.h>
45 namespace virgil {
namespace crypto {
74 const VirgilByteArray& recipientId,
const VirgilByteArray& privateKey,
75 const VirgilByteArray& privateKeyPassword = VirgilByteArray());
87 VirgilByteArray
process(
const VirgilByteArray& data);
104 void storeChunkSize(
size_t chunkSize);
109 size_t retrieveChunkSize() const;
This class provides high-level interface to encrypt / decrypt data splitted to chunks.
Definition: VirgilChunkCipher.h:52
size_t startDecryptionWithKey(const VirgilByteArray &recipientId, const VirgilByteArray &privateKey, const VirgilByteArray &privateKeyPassword=VirgilByteArray())
Initialize multipart decryption with given private key.
Definition: VirgilAsn1Compatible.h:46
VirgilByteArray process(const VirgilByteArray &data)
Encrypt / Decrypt given data chunk.
size_t startDecryptionWithPassword(const VirgilByteArray &pwd)
Initialize multipart decryption with given private key.
virtual ~VirgilChunkCipher()
Polymorphic destructor.
size_t startEncryption(size_t preferredChunkSize=kPreferredChunkSize)
Initialize data chunk encryption with given chunk size.
void finish()
Finalize encryption or decryption process.
1MiB - 1b for padding
Definition: VirgilChunkCipher.h:59
This class provides configuration methods to all Virgil*Cipher classes.
Definition: VirgilCipherBase.h:64