73 static DL_Group DL_Group_from_PEM(std::string_view pem);
122 template <
typename Alloc>
124 DL_Group(ber.data(), ber.size(), format) {}
130 const BigInt& get_p()
const;
136 const BigInt& get_q()
const;
142 const BigInt& get_g()
const;
158 bool verify_public_element(
const BigInt& y)
const;
166 bool verify_private_element(
const BigInt& x)
const;
173 bool verify_element_pair(
const BigInt& y,
const BigInt& x)
const;
258 BigInt power_g_p(
const BigInt& x,
size_t max_x_bits)
const;
288 std::shared_ptr<const Montgomery_Params> monty_params_p()
const;
294 size_t p_bits()
const;
300 size_t p_bytes()
const;
307 size_t q_bits()
const;
314 size_t q_bytes()
const;
331 size_t exponent_bits()
const;
339 size_t estimated_strength()
const;
348 void BER_decode(
const std::vector<uint8_t>& ber,
DL_Group_Format format);
355 static std::shared_ptr<DL_Group_Data> DL_group_info(std::string_view
name);
358 static std::shared_ptr<DL_Group_Data> load_DL_group_info(
const char* p_str,
const char* q_str,
const char* g_str);
360 static std::shared_ptr<DL_Group_Data> load_DL_group_info(
const char* p_str,
const char* g_str);
362 static std::shared_ptr<DL_Group_Data> BER_decode_DL_group(
const uint8_t data[],
367 const DL_Group_Data& data()
const;
368 std::shared_ptr<DL_Group_Data> m_data;