The encryptStart(), encryptContinue(), and encryptEnd() methods comprise a streaming encryption interface.
A streaming interface allows the caller to encrypt blocks of data at a time and does not require all the entire message be contained in a single buffer in order to perform encryption. The encryptContinue() method can be called multiple times, one for each block of data to be encrypted while the encryptStart() and encryptEnd() are only called once.
- Parameters
-
pIV | [ in ] The initialization vector typically used with the very first block of data to encrypt |
cIV | [ in ] The number of bytes in the pIV array. |
- Returns
Success | P6R::eOk | |
Failure | P6R::eNotInitialized | A successful call to initialize was not made before this call. |
P6R::eFormatError | loadSymetricKey has not been successfully invoked. |
P6R::eInvalidArg | One of the parameters is NULL. |
P6R::eInvalidDescriptor | The requested cipher and key size is not supported. |
P6R::eInvalidState | For every call to encryptStart() there must be a matching call to encryptEnd(). |
P6R::eFailAndException | The encryption calculation failed. Exception record provides detailed error info. |