8#include <botan/workfactor.h>
21size_t nfs_workfactor(
size_t bits,
double log2_k)
24 const double log2_e = 1.44269504088896340736;
25 const double log_p = bits / log2_e;
27 const double log_log_p = std::log(log_p);
30 const double est = 1.92 * std::pow(log_p * log_log_p * log_log_p, 1.0/3.0);
33 return static_cast<size_t>(log2_k + log2_e * est);
42 const double log2_k = -5.6438;
43 return nfs_workfactor(bits, log2_k);
60 const size_t min_workfactor = 64;
61 const double log2_k = 0;
63 return 2 * std::max<size_t>(min_workfactor, nfs_workfactor(bits, log2_k));
size_t ecp_work_factor(size_t bits)
size_t dl_work_factor(size_t bits)
size_t dl_exponent_size(size_t bits)
size_t if_work_factor(size_t bits)