37 #ifndef VIRGIL_CRYPTO_KDF_H 38 #define VIRGIL_CRYPTO_KDF_H 43 #include "../VirgilByteArray.h" 44 #include "asn1/VirgilAsn1Compatible.h" 46 namespace virgil {
namespace crypto {
namespace foundation {
98 std::string
name()
const;
153 void checkState()
const;
158 std::unique_ptr<Impl> impl_;
Algorithm
Enumerates possible Key Derivation Function algorithms.
Definition: VirgilKDF.h:57
void asn1Read(asn1::VirgilAsn1Reader &asn1Reader) override
Read object state from the reader.
This class provides methods for reading ASN.1 data structure.
Definition: VirgilAsn1Reader.h:53
std::string name() const
Returns name of the key derivation function.
Provides key derivation function algorithms.
Definition: VirgilKDF.h:52
This class provides interface that allow to save and restore object state in the ASN.1 structure.
Definition: VirgilAsn1Compatible.h:59
size_t asn1Write(asn1::VirgilAsn1Writer &asn1Writer, size_t childWrittenBytes=0) const override
Write object state to the writer.
Definition: VirgilHash.h:265
This class provides methods for writing ASN.1 data structure.
Definition: VirgilAsn1Writer.h:54
KDF Algorithm: KDF1 (ISO-18033-2)
string to_string(virgil::crypto::foundation::VirgilKDF::Algorithm alg)
Returns string representation of the KDF algorithm.
Root namespace for all Virgil Security libraries.
Definition: VirgilAsn1Compatible.h:46
std::vector< unsigned char > VirgilByteArray
This type represents a sequence of bytes.
Definition: VirgilByteArray.h:50
VirgilKDF()
Create object with undefined algorithm.
KDF Algorithm: KDF2 (ISO-18033-2)
virgil::crypto::VirgilByteArray derive(const virgil::crypto::VirgilByteArray &in, size_t outSize)
Derive key from the given key material.