QCA::CipherContext Class Referenceabstract
QCA provider API

`#include <QtCrypto>`

Collaboration diagram for QCA::CipherContext:
[legend]

## Public Member Functions

virtual int | blockSize () const =0
| CipherContext (Provider *p, const QString &type)
virtual bool | final (SecureArray *out)=0
virtual KeyLength | keyLength () const =0
virtual void | setup (Direction dir, const SymmetricKey &key, const InitializationVector &iv, const AuthTag &tag)=0
virtual AuthTag | tag () const =0
virtual bool | update (const SecureArray &in, SecureArray *out)=0
Public Member Functions inherited from QCA::Provider::Context
virtual Context * | clone () const =0
Provider * | provider () const
bool | sameProvider (const Context *c) const
QString | type () const

## Additional Inherited Members

Protected Member Functions inherited from QCA::BasicContext
| BasicContext (const BasicContext &from)
| BasicContext (Provider *parent, const QString &type)
Protected Member Functions inherited from QCA::Provider::Context
| Context (const Context &from)
| Context (Provider *parent, const QString &type)

## Detailed Description

Cipher provider.

Note
  This class is part of the provider plugin interface and should not be used directly by applications. You probably want Cipher instead.

## Constructor & Destructor Documentation

## CipherContext()

QCA::CipherContext::CipherContext | ( | Provider * | p,
|  | const QString & | type )

inline

Standard constructor.

Parameters

  p | the provider associated with this context
  type | the name of the type of cipher provided by this context

Note
  type includes the name of the cipher (e.g. "aes256"), the operating mode (e.g. "cbc" or "ofb") and the padding type (e.g. "pkcs7") if any.

References QCA::BasicContext::BasicContext(), and QCA::Provider::Context::type().

## Member Function Documentation

## setup()

virtual void QCA::CipherContext::setup | ( | Direction | dir,
|  | const SymmetricKey & | key,
|  | const InitializationVector & | iv,
|  | const AuthTag & | tag )

pure virtual

Set up the object for encrypt/decrypt.

Parameters

  dir | the direction for the cipher (encryption/decryption)
  key | the symmetric key to use for the cipher
  iv | the initialization vector to use for the cipher (not used in ECB mode)
  tag | the AuthTag to use (only for GCM and CCM modes)

References tag().

## keyLength()

virtual KeyLength QCA::CipherContext::keyLength | ( |  | ) | const

pure virtual

Returns the KeyLength for this cipher.

## blockSize()

virtual int QCA::CipherContext::blockSize | ( |  | ) | const

pure virtual

Returns the block size for this cipher.

## tag()

virtual AuthTag QCA::CipherContext::tag | ( |  | ) | const

pure virtual

Returns the authentication tag for this cipher.

Referenced by setup().

## update()

virtual bool QCA::CipherContext::update | ( | const SecureArray & | in,
|  | SecureArray * | out )

pure virtual

Process a chunk of data.

Returns true if successful.

Parameters

  in | the input data to process
  out | pointer to an array that should store the result

## final()

virtual bool QCA::CipherContext::final | ( | SecureArray * | out | ) |

pure virtual

Finish the cipher processing.

Returns true if successful.

Parameters

  out | pointer to an array that should store the result

The documentation for this class was generated from the following file:

- qcaprovider.h