Qt Cryptographic Architecture: QCA::KeyDerivationFunction Class Reference

Qt Cryptographic Architecture

Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
QCA::KeyDerivationFunction Class Reference
QCA user API

`#include <QtCrypto>`

Collaboration diagram for QCA::KeyDerivationFunction:
[legend]

## Public Member Functions
| KeyDerivationFunction (const KeyDerivationFunction &from)
SymmetricKey | makeKey (const SecureArray &secret, const InitializationVector &salt, unsigned int keyLength, unsigned int iterationCount)
SymmetricKey | makeKey (const SecureArray &secret, const InitializationVector &salt, unsigned int keyLength, int msecInterval, unsigned int *iterationCount)
KeyDerivationFunction & | operator= (const KeyDerivationFunction &from)
Public Member Functions inherited from QCA::Algorithm
| Algorithm (const Algorithm &from)
void | change (Provider::Context *c)
void | change (const QString &type, const QString &provider)
Provider::Context * | context ()
const Provider::Context * | context () const
Algorithm & | operator= (const Algorithm &from)
Provider * | provider () const
Provider::Context * | takeContext ()
QString | type () const

## Static Public Member Functions
static QString | withAlgorithm (const QString &kdfType, const QString &algType)

## Protected Member Functions
| KeyDerivationFunction (const QString &type, const QString &provider)
Protected Member Functions inherited from QCA::Algorithm
| Algorithm ()
| Algorithm (const QString &type, const QString &provider)

## Detailed Description

General superclass for key derivation algorithms.

KeyDerivationFunction is a superclass for the various key derivation function algorithms within QCA. You should not need to use it directly unless you are adding another key derivation capability to QCA - you should be using a sub-class. PBKDF2 using SHA1 is recommended for new applications.

## Constructor & Destructor Documentation

## ◆ KeyDerivationFunction() [1/2]

QCA::KeyDerivationFunction::KeyDerivationFunction | ( | const KeyDerivationFunction & | from | ) |

Standard copy constructor.

Parameters

  from | the KeyDerivationFunction to copy from

## ◆ KeyDerivationFunction() [2/2]

QCA::KeyDerivationFunction::KeyDerivationFunction | ( | const QString & | type,
|  | const QString & | provider
| ) |  |
| protected

Special constructor for subclass initialisation.

Parameters

  type | the algorithm to create
  provider | the name of the provider to create the key derivation function in.

## Member Function Documentation

## ◆ operator=()

KeyDerivationFunction& QCA::KeyDerivationFunction::operator= | ( | const KeyDerivationFunction & | from | ) |

Assignment operator.

Copies the state (including key) from one KeyDerivationFunction to another

Parameters

  from | the KeyDerivationFunction to assign from

## ◆ makeKey() [1/2]

SymmetricKey QCA::KeyDerivationFunction::makeKey | ( | const SecureArray & | secret,
|  | const InitializationVector & | salt,
|  | unsigned int | keyLength,
|  | unsigned int | iterationCount
| ) |  |

Generate the key from a specified secret and salt value.

Note
  key length is ignored for some functions

Parameters

  secret | the secret (password or passphrase)
  salt | the salt to use
  keyLength | the length of key to return
  iterationCount | the number of iterations to perform

Returns
  the derived key

## ◆ makeKey() [2/2]

SymmetricKey QCA::KeyDerivationFunction::makeKey | ( | const SecureArray & | secret,
|  | const InitializationVector & | salt,
|  | unsigned int | keyLength,
|  | int | msecInterval,
|  | unsigned int * | iterationCount
| ) |  |

Generate the key from a specified secret and salt value.

Note
  key length is ignored for some functions

Parameters

  secret | the secret (password or passphrase)
  salt | the salt to use
  keyLength | the length of key to return
  msecInterval | the maximum time to compute the key, in milliseconds
  iterationCount | a pointer to store the number of iteration done for the specified time

Returns
  the derived key

## ◆ withAlgorithm()

static QString QCA::KeyDerivationFunction::withAlgorithm | ( | const QString & | kdfType,
|  | const QString & | algType
| ) |  |
| static

Construct the name of the algorithm.

You can use this to build a standard name string. You probably only need this method if you are creating a new subclass.

Parameters

  kdfType | the type of key derivation function
  algType | the name of the algorithm to use with the key derivation function

Returns
  the name of the KDF/algorithm pair

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

- qca_basic.h