8#ifndef BOTAN_RFC5054_SRP6_H_
9#define BOTAN_RFC5054_SRP6_H_
11#include <botan/bigint.h>
12#include <botan/symkey.h>
18class RandomNumberGenerator;
32std::pair<BigInt,SymmetricKey>
34 const
std::
string& password,
35 const
std::
string& group_id,
36 const
std::
string& hash_id,
37 const
std::vector<uint8_t>& salt,
39 RandomNumberGenerator& rng);
57 const
std::
string& password,
58 const DL_Group& group,
59 const
std::
string& hash_id,
60 const
std::vector<uint8_t>& salt,
63 RandomNumberGenerator& rng);
75 const
std::
string& password,
76 const
std::vector<uint8_t>& salt,
77 const
std::
string& group_id,
78 const
std::
string& hash_id);
90 const
std::
string& password,
91 const
std::vector<uint8_t>& salt,
92 const DL_Group& group,
93 const
std::
string& hash_id);
119 const std::string& group_id,
120 const std::string& hash_id,
136 const std::string& hash_id,
148 std::string m_hash_id;
149 BigInt m_B, m_b, m_v, m_S, m_p;
150 size_t m_p_bytes = 0;
int(* final)(unsigned char *, CTX *)
#define BOTAN_PUBLIC_API(maj, min)
BigInt generate_srp6_verifier(const std::string &identifier, const std::string &password, const std::vector< uint8_t > &salt, const std::string &group_id, const std::string &hash_id)
std::pair< BigInt, SymmetricKey > srp6_client_agree(const std::string &identifier, const std::string &password, const std::string &group_id, const std::string &hash_id, const std::vector< uint8_t > &salt, const BigInt &B, RandomNumberGenerator &rng)
std::string srp6_group_identifier(const BigInt &N, const BigInt &g)