• Skip to content
  • Skip to link menu
KDE 4.4 API Reference
  • KDE API Reference
  • KDE Support
  • Sitemap
  • Contact Us
 

qca

QCA::KeyDerivationFunction

QCA::KeyDerivationFunction Class Reference
[QCA user API]

General superclass for key derivation algorithms. More...

#include <QtCrypto>

Inheritance diagram for QCA::KeyDerivationFunction:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 KeyDerivationFunction (const KeyDerivationFunction &from)
 ~KeyDerivationFunction ()
SymmetricKey makeKey (const SecureArray &secret, const InitializationVector &salt, unsigned int keyLength, unsigned int iterationCount)
KeyDerivationFunction & operator= (const KeyDerivationFunction &from)

Static Public Member Functions

static QString withAlgorithm (const QString &kdfType, const QString &algType)

Protected Member Functions

 KeyDerivationFunction (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.

Definition at line 894 of file qca_basic.h.


Constructor & Destructor Documentation

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

Standard copy constructor.

Parameters:
from the KeyDerivationFunction to copy from

Definition at line 522 of file qca_basic.cpp.

QCA::KeyDerivationFunction::~KeyDerivationFunction (  ) 

Definition at line 527 of file qca_basic.cpp.

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.

Definition at line 517 of file qca_basic.cpp.


Member Function Documentation

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

Definition at line 537 of file qca_basic.cpp.

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

Reimplemented from QCA::Algorithm.

Definition at line 531 of file qca_basic.cpp.

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

Definition at line 542 of file qca_basic.cpp.


The documentation for this class was generated from the following files:
  • qca_basic.h
  • qca_basic.cpp

qca

Skip menu "qca"
  • Main Page
  • Modules
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

KDE Support

Skip menu "KDE Support"
  • akonadi
  • Decibel
  • grantlee
  • kdewin
  • phonon
  •     Backend
  • polkit-qt
  • qca
  • qimageblitz
  • soprano
  • strigi
  •     searchclient
  •     streamanalyzer
  •     streams
Generated for KDE Support by doxygen 1.5.9-20090814
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal