1#ifndef SOURCEMETA_CORE_CRYPTO_ECDH_H_
2#define SOURCEMETA_CORE_CRYPTO_ECDH_H_
4#ifndef SOURCEMETA_CORE_CRYPTO_EXPORT
5#include <sourcemeta/core/crypto_export.h>
8#include <sourcemeta/core/crypto_sign.h>
9#include <sourcemeta/core/crypto_verify.h>
16namespace sourcemeta::core {
34 -> std::optional<std::string>;
54 const std::string_view shared_secret,
const std::string_view algorithm_id,
55 const std::string_view party_u_info,
const std::string_view party_v_info,
56 const std::size_t derived_key_bytes) -> std::optional<std::string>;
auto SOURCEMETA_CORE_CRYPTO_EXPORT kdf_concat(const std::string_view shared_secret, const std::string_view algorithm_id, const std::string_view party_u_info, const std::string_view party_v_info, const std::size_t derived_key_bytes) -> std::optional< std::string >
auto SOURCEMETA_CORE_CRYPTO_EXPORT ecdh_derive(const PrivateKey &private_key, const PublicKey &public_key) -> std::optional< std::string >