Botan 3.4.0
Crypto and TLS for C&
ec_h2c.h
Go to the documentation of this file.
1/*
2* (C) 2019,2020,2021 Jack Lloyd
3*
4* Botan is released under the Simplified BSD License (see license.txt)
5*/
6
7#ifndef BOTAN_ECC_HASH_TO_CURVE_H_
8#define BOTAN_ECC_HASH_TO_CURVE_H_
9
10#include <botan/ec_point.h>
11#include <botan/types.h>
12#include <span>
13#include <string_view>
14
15namespace Botan {
16
17class EC_Group;
18
19/**
20* Hash an input onto an elliptic curve point using the
21* methods from RFC 9380
22*
23* This method requires that the ECC group have (a*b) != 0
24* which excludes certain groups including secp256k1
25*/
26EC_Point hash_to_curve_sswu(const EC_Group& group,
27 std::string_view hash_fn,
28 std::span<const uint8_t> input,
29 std::span<const uint8_t> domain_sep,
30 bool random_oracle);
31
32} // namespace Botan
33
34#endif
EC_Point hash_to_curve_sswu(const EC_Group &group, std::string_view hash_fn, std::span< const uint8_t > input, std::span< const uint8_t > domain_sep, bool random_oracle)
Definition ec_h2c.cpp:119