37 #ifndef VIRGIL_CRYPTO_VIRGIL_KDF_H 38 #define VIRGIL_CRYPTO_VIRGIL_KDF_H 40 #include "../VirgilByteArray.h" 44 namespace virgil {
namespace crypto {
inline namespace primitive {
77 return self_->doDerive(keyMaterial, salt, info, size);
91 virtual ~Concept() noexcept =
default;
95 struct Model : Concept {
97 explicit Model(Impl impl) : impl_(std::move(impl)) {}
103 return impl_.derive(keyMaterial, salt, info, size);
111 std::shared_ptr<const Concept> self_;
116 #endif //VIRGIL_CRYPTO_VIRGIL_KDF_H VirgilOperationKDF(Impl impl)
Captures implementation object.
Definition: VirgilOperationKDF.h:63
Definition: VirgilHash.h:265
static VirgilOperationKDF getDefault()
Return default implementation.
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
VirgilByteArray derive(const VirgilByteArray &keyMaterial, const VirgilByteArray &salt, const VirgilByteArray &info, size_t size) const
Derive key from the given key material and additional options.
Definition: VirgilOperationKDF.h:74
Define proxy interface for the Key Derivation Function functionality.
Definition: VirgilOperationKDF.h:51