11 #ifndef P6SYMMETRIC_H__
12 #define P6SYMMETRIC_H__ 1
24 #define P6CRYPTOIVLEN 16
344 #define IF_p6ISymmetricCrypto {0xD504336D,0xFA03,0x4B15,{0xB7,0x47,0xE1,0xE2,0x33,0xF5,0x9A,0x0A}}
347 #define COMP_p6SymmetricCrypto {0xAD6FDDF7,0xDB55,0x470E,{0xA0,0x57,0xE0,0x44,0x9D,0x34,0x2C,0x92}}
virtual P6R::P6ERR decryptStart(const P6UCHAR *pIV, P6INT32 cIV)=0
The decryptStart(), decryptContinue(), and decryptEnd() methods comprise a streaming decryption inter...
P6UINT32 P6SYMETRICFLAGS
P6SYMETRICFLAGS.
Cryptography component definitions.
This interface provides key metadata infrormation and key access.
virtual P6R::P6ERR getAESCounter(P6UCHAR *pBuffer, P6UINT32 cBuffer, P6UINT32 *pWritten)=0
Retrieves the current AES counter value.
virtual P6R::P6ERR encryptEnd(P6CHAR *pOutData, P6UINT32 *pOutSize)=0
The encryptStart(), encryptContinue(), and encryptEnd() methods comprise a streaming encryption inter...
virtual P6R::P6ERR encryptContinue(const P6CHAR *pInData, P6UINT32 inSize, P6CHAR *pOutData, P6UINT32 *pOutSize)=0
The encryptStart(), encryptContinue(), and encryptEnd() methods comprise a streaming encryption inter...
virtual P6R::P6ERR decryptContinue(const P6CHAR *pInData, P6UINT32 inSize, P6CHAR *pOutData, P6UINT32 *pOutSize)=0
The decryptStart(), decryptContinue(), and decryptEnd() methods comprise a streaming decryption inter...
const P6SYMETRICFLAGS P6SYM_NOPADDING
virtual P6R::P6ERR setKey(p6ICryptoKey *pKey)=0
This method is used to specify which key to use for encryption and/or decryption. ...
virtual P6R::P6ERR initialize(P6SYMETRICFLAGS flags, P6CRYPTOCIPHER mode)=0
This method initlizes the component for use and must be called prior to calling any other method...
P6CRYPTOCIPHER
Cipher Type.
Where to get the data to process, either a file or generic buffer.
The base interface all [p6]COM components must derive from and implement.
virtual P6R::P6ERR setAESCounter(const P6UCHAR *pBuffer, P6UINT32 *pcBuffer, P6AESCOUNTERINC pfn)=0
Sets a new AES counter value.
Where to put the data processed, either a file or generic buffer.
virtual P6R::P6ERR encrypt(P6CRYPTODATASOURCE *pInData, P6CRYPTODATASINK *pOutData, const P6UCHAR *pIV, P6INT32 cIV)=0
This method is used to encrypt data using the cipher the component was initialized with...
virtual P6R::P6ERR encryptStart(const P6UCHAR *pIV, P6INT32 cIV)=0
The encryptStart(), encryptContinue(), and encryptEnd() methods comprise a streaming encryption inter...
This interface provides symmetric key encryption/decryption using AES, Blowfish, CAST5 DES and varian...
virtual P6R::P6ERR decrypt(P6CRYPTODATASOURCE *pInData, P6CRYPTODATASINK *pOutData, const P6UCHAR *pIV, P6INT32 cIV)=0
This method is used to decrypt data using the cipher the component was initialized with...
const P6SYMETRICFLAGS P6SYM_TRACEON
virtual P6R::P6ERR decryptEnd(P6CHAR *pOutData, P6UINT32 *pOutSize)=0
The decryptStart(), decryptContinue(), and decryptEnd() methods comprise a streaming decryption inter...
P6VOID(* P6AESCOUNTERINC)(P6UCHAR *pCounter, P6UINT32 counterLength)
P6AESCOUNTERINC.
const P6SYMETRICFLAGS P6SYM_NOFLAGS
char P6CHAR
Narrow character type.
P6R Cryptographic key interface definitions.