AusweisApp2
KeyDerivationFunction.h
gehe zur Dokumentation dieser Datei
1 
7 #pragma once
8 
9 #include "SecurityProtocol.h"
10 
11 #include <QByteArray>
12 #include <QCryptographicHash>
13 
14 namespace governikus
15 {
16 
18 {
19  private:
20  QCryptographicHash::Algorithm mHashAlgorithm;
21  int mKeySize;
22  [[nodiscard]] QByteArray deriveKey(const QByteArray& pK, const QByteArray& pNonce, quint32 pC) const;
23 
24  public:
30  explicit KeyDerivationFunction(const SecurityProtocol& pSecurityProtocol);
32 
36  [[nodiscard]] bool isInitialized() const;
37 
43  QByteArray enc(const QByteArray& pSecret, const QByteArray& pNonce = QByteArray()) const;
44 
50  QByteArray mac(const QByteArray& pSecret, const QByteArray& pNonce = QByteArray()) const;
51 
57  QByteArray pi(const QByteArray& pSecret) const;
58 
59 };
60 
61 } // namespace governikus
Definition: KeyDerivationFunction.h:18
bool isInitialized() const
Returns true, if initialization succeeded, i.e.
Definition: KeyDerivationFunction.cpp:28
QByteArray mac(const QByteArray &pSecret, const QByteArray &pNonce=QByteArray()) const
Derive the MAC key.
Definition: KeyDerivationFunction.cpp:40
QByteArray pi(const QByteArray &pSecret) const
Derive the password key.
Definition: KeyDerivationFunction.cpp:46
KeyDerivationFunction(const SecurityProtocol &pSecurityProtocol)
Creates a new instance with derivation function algorithm determined by parameter.
Definition: KeyDerivationFunction.cpp:17
QByteArray enc(const QByteArray &pSecret, const QByteArray &pNonce=QByteArray()) const
Derive the encryption key.
Definition: KeyDerivationFunction.cpp:34
A simple template renderer.
Definition: ActivationContext.h:15