8#ifndef BOTAN_RFC5054_SRP6_H_
9#define BOTAN_RFC5054_SRP6_H_
11#include <botan/bigint.h>
12#include <botan/dl_group.h>
13#include <botan/symkey.h>
18class RandomNumberGenerator;
33 std::string_view password,
34 std::string_view group_id,
35 std::string_view hash_id,
36 const std::vector<uint8_t>& salt,
38 RandomNumberGenerator& rng);
54 std::string_view password,
55 const DL_Group& group,
56 std::string_view hash_id,
57 const std::vector<uint8_t>& salt,
60 RandomNumberGenerator& rng);
71 std::string_view password,
72 const std::vector<uint8_t>& salt,
73 std::string_view group_id,
74 std::string_view hash_id);
85 std::string_view password,
86 const std::vector<uint8_t>& salt,
87 const DL_Group& group,
88 std::string_view hash_id);
137 std::string m_hash_id;
138 BigInt m_B, m_b, m_v, m_S;
int(* final)(unsigned char *, CTX *)
#define BOTAN_PUBLIC_API(maj, min)
std::pair< BigInt, SymmetricKey > srp6_client_agree(std::string_view identifier, std::string_view password, std::string_view group_id, std::string_view hash_id, const std::vector< uint8_t > &salt, const BigInt &B, RandomNumberGenerator &rng)
BigInt srp6_generate_verifier(std::string_view identifier, std::string_view password, const std::vector< uint8_t > &salt, std::string_view group_id, std::string_view hash_id)
std::string srp6_group_identifier(const BigInt &N, const BigInt &g)