8#include <botan/internal/workfactor.h>
10#include <botan/assert.h>
22size_t nfs_workfactor(
size_t bits,
double log2_k) {
24 const double log_p =
static_cast<double>(bits) / std::numbers::log2e;
26 const double log_log_p = std::log(log_p);
29 const double est = 1.92 * std::pow(log_p * log_log_p * log_log_p, 1.0 / 3.0);
32 return static_cast<size_t>(log2_k + std::numbers::log2e * est);
44 const double log2_k = -5.6438;
45 return nfs_workfactor(bits, log2_k);
77 }
else if(p_bits <= 1024) {
84 }
else if(p_bits <= 2048) {
86 }
else if(p_bits <= 3072) {
88 }
else if(p_bits <= 4096) {
90 }
else if(p_bits <= 6144) {
92 }
else if(p_bits <= 8192) {
#define BOTAN_ARG_CHECK(expr, msg)
size_t ecp_work_factor(size_t bits)
size_t dl_exponent_size(size_t p_bits)
size_t dl_work_factor(size_t bits)
size_t if_work_factor(size_t bits)