8#ifndef BOTAN_RFC5054_SRP6_H_
9#define BOTAN_RFC5054_SRP6_H_
11#include <botan/bigint.h>
12#include <botan/symkey.h>
13#include <botan/dl_group.h>
18class RandomNumberGenerator;
32std::pair<BigInt,SymmetricKey>
34 std::string_view password,
35 std::string_view group_id,
36 std::string_view hash_id,
37 const
std::vector<uint8_t>& salt,
39 RandomNumberGenerator& rng);
57 std::string_view password,
58 const DL_Group& group,
59 std::string_view hash_id,
60 const
std::vector<uint8_t>& salt,
63 RandomNumberGenerator& rng);
75 std::string_view password,
76 const
std::vector<uint8_t>& salt,
77 std::string_view group_id,
78 std::string_view hash_id);
90 std::string_view password,
91 const
std::vector<uint8_t>& salt,
92 const DL_Group& group,
93 std::string_view hash_id);
119 std::string_view group_id,
120 std::string_view hash_id,
136 std::string_view hash_id,
149 std::string m_hash_id;
150 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)