Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
virtual P6R::P6ERR P6R::p6ISymmetricCrypto::encryptStart ( const P6UCHAR pIV,
P6INT32  cIV 
)
pure virtual

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
SuccessP6R::eOk 
FailureP6R::eNotInitializedA successful call to initialize was not made before this call.
P6R::eFormatErrorloadSymetricKey has not been successfully invoked.
P6R::eInvalidArgOne of the parameters is NULL.
P6R::eInvalidDescriptorThe requested cipher and key size is not supported.
P6R::eInvalidStateFor every call to encryptStart() there must be a matching call to encryptEnd().
P6R::eFailAndExceptionThe encryption calculation failed. Exception record provides detailed error info.