Botan 2.19.5 Crypto and TLS for C&

workfactor.h
Go to the documentation of this file.
1/*
2* Public Key Work Factor Functions
3* (C) 1999-2007 Jack Lloyd
4*
5* Botan is released under the Simplified BSD License (see license.txt)
6*/
7
8#ifndef BOTAN_WORKFACTOR_H_
9#define BOTAN_WORKFACTOR_H_
10
11#include <botan/types.h>
12 BOTAN_FUTURE_INTERNAL_HEADER(workfactor.h)
13
14namespace Botan {
15
16/**
17* Estimate work factor for discrete logarithm
18* @param prime_group_size size of the group in bits
19* @return estimated security level for this group
20*/
21 BOTAN_PUBLIC_API(2,0) size_t dl_work_factor(size_t prime_group_size);
22
23/**
24* Return the appropriate exponent size to use for a particular prime
25* group. This is twice the size of the estimated cost of breaking the
26* key using an index calculus attack; the assumption is that if an
27* arbitrary discrete log on a group of size bits would take about 2^n
28* effort, and thus using an exponent of size 2^(2*n) implies that all
29* available attacks are about as easy (as e.g Pollard's kangaroo
30* algorithm can compute the DL in sqrt(x) operations) while minimizing
31* the exponent size for performance reasons.
32*/
33 BOTAN_PUBLIC_API(2,0) size_t dl_exponent_size(size_t prime_group_size);
34
35/**
36* Estimate work factor for integer factorization
37* @param n_bits size of modulus in bits
38* @return estimated security level for this modulus
39*/
40 BOTAN_PUBLIC_API(2,0) size_t if_work_factor(size_t n_bits);
41
42/**
43* Estimate work factor for EC discrete logarithm
44* @param prime_group_size size of the group in bits
45* @return estimated security level for this group
46*/
47 BOTAN_PUBLIC_API(2,0) size_t ecp_work_factor(size_t prime_group_size);
48
49}
50
51#endif
BOTAN_PUBLIC_API
#define BOTAN_PUBLIC_API(maj, min)
Definition: compiler.h:31
BOTAN_FUTURE_INTERNAL_HEADER
#define BOTAN_FUTURE_INTERNAL_HEADER(hdr)
Definition: compiler.h:136
Botan
Definition: alg_id.cpp:13
Botan::ecp_work_factor
size_t ecp_work_factor(size_t bits)
Definition: workfactor.cpp:14
Botan::dl_work_factor
size_t dl_work_factor(size_t bits)
Definition: workfactor.cpp:46
Botan::dl_exponent_size
size_t dl_exponent_size(size_t bits)
Definition: workfactor.cpp:52
Botan::if_work_factor
size_t if_work_factor(size_t bits)
Definition: workfactor.cpp:38