Virgil Security Crypto library
2.4.6
|
This is the main entry for the all Perfect Forward Secrecy (PFS) Modules. More...
#include <VirgilPFS.h>
Public Member Functions | |
VirgilPFS () | |
Configures PFS module with default underlying algorithms. More... | |
VirgilPFSSession | startInitiatorSession (const VirgilPFSInitiatorPrivateInfo &initiatorPrivateInfo, const VirgilPFSResponderPublicInfo &responderPublicInfo, const VirgilByteArray &additionalData=VirgilByteArray()) |
Start session from the Initiator side. More... | |
VirgilPFSSession | startResponderSession (const VirgilPFSResponderPrivateInfo &responderPrivateInfo, const VirgilPFSInitiatorPublicInfo &initiatorPublicInfo, const VirgilByteArray &additionalData=VirgilByteArray()) |
Start session from the Responder side. More... | |
VirgilPFSEncryptedMessage | encrypt (const VirgilByteArray &data) |
Encrypt given data. More... | |
VirgilByteArray | decrypt (const VirgilPFSEncryptedMessage &encryptedMessage) const |
Decrypt given message. More... | |
void | setRandom (VirgilOperationRandom random) |
Set custom implementation for algorithm: random. More... | |
void | setDH (VirgilOperationDH dh) |
Set custom implementation for algorithm: Diffie–Hellman. More... | |
void | setKDF (VirgilOperationKDF kdf) |
Set custom implementation for algorithm: Key Dervation Function. More... | |
void | setCipher (VirgilOperationCipher cipher) |
Set custom implementation for algorithm: Symmetric Cipher. More... | |
VirgilPFSSession | getSession () const |
Return current session. More... | |
void | setSession (VirgilPFSSession session) |
Set new session. More... | |
This is the main entry for the all Perfect Forward Secrecy (PFS) Modules.
virgil::crypto::pfs::VirgilPFS::VirgilPFS | ( | ) |
Configures PFS module with default underlying algorithms.
Each underlying algorithm can be changed with correspond setter.
VirgilByteArray virgil::crypto::pfs::VirgilPFS::decrypt | ( | const VirgilPFSEncryptedMessage & | encryptedMessage | ) | const |
Decrypt given message.
encryptedMessage | - message to be decrypted. |
VirgilPFSEncryptedMessage virgil::crypto::pfs::VirgilPFS::encrypt | ( | const VirgilByteArray & | data | ) |
Encrypt given data.
data | - data to be encrypted. |
VirgilPFSSession virgil::crypto::pfs::VirgilPFS::getSession | ( | ) | const |
Return current session.
void virgil::crypto::pfs::VirgilPFS::setCipher | ( | VirgilOperationCipher | cipher | ) |
Set custom implementation for algorithm: Symmetric Cipher.
cipher | - new algorithm implementation. |
void virgil::crypto::pfs::VirgilPFS::setDH | ( | VirgilOperationDH | dh | ) |
Set custom implementation for algorithm: Diffie–Hellman.
dh | - new algorithm implementation. |
void virgil::crypto::pfs::VirgilPFS::setKDF | ( | VirgilOperationKDF | kdf | ) |
Set custom implementation for algorithm: Key Dervation Function.
kdf | - new algorithm implementation. |
void virgil::crypto::pfs::VirgilPFS::setRandom | ( | VirgilOperationRandom | random | ) |
Set custom implementation for algorithm: random.
random | - new algorithm implementation. |
void virgil::crypto::pfs::VirgilPFS::setSession | ( | VirgilPFSSession | session | ) |
Set new session.
session | - new session. |
VirgilPFSSession virgil::crypto::pfs::VirgilPFS::startInitiatorSession | ( | const VirgilPFSInitiatorPrivateInfo & | initiatorPrivateInfo, |
const VirgilPFSResponderPublicInfo & | responderPublicInfo, | ||
const VirgilByteArray & | additionalData = VirgilByteArray() |
||
) |
Start session from the Initiator side.
initiatorPrivateInfo | - initiator private keys and related information. |
responderPublicInfo | - responder public keys and related information. |
additionalData | - any identifying information about Initiator and/or Responder. |
VirgilPFSSession virgil::crypto::pfs::VirgilPFS::startResponderSession | ( | const VirgilPFSResponderPrivateInfo & | responderPrivateInfo, |
const VirgilPFSInitiatorPublicInfo & | initiatorPublicInfo, | ||
const VirgilByteArray & | additionalData = VirgilByteArray() |
||
) |
Start session from the Responder side.
responderPrivateInfo | - responder private keys and related information. |
initiatorPublicInfo | - initiator public keys and related information. |
additionalData | - any identifying information about Initiator and/or Responder. |