Name Description Size
blinding.cpp 1488
blinding.h Blinding Function Object. 2123
cecpq1
curve25519
dh
dl_algo
dl_group
dlies
dsa
ec_group
ecc_key
ecdh
ecdsa
ecgdsa
ecies
eckcdsa
ed25519
elgamal
gost_3410
info.txt 308
keypair
mce
mceies
newhope
pbes2
pem
pk_algs.cpp 11787
pk_algs.h Create a new key For ECC keys, algo_params specifies EC group (eg, "secp256r1") For DH/DSA/ElGamal keys, algo_params is DL group (eg, "modp/ietf/2048") For RSA, algo_params is integer keylength For McEliece, algo_params is n,t If algo_params is left empty, suitable default parameters are chosen. 1364
pk_keys.cpp Default OID access 4379
pk_keys.h The two types of signature format supported by Botan. 11387
pk_ops.cpp 5675
pk_ops.h Ordinary applications should never need to include or use this header. It is exposed only for specialized applications which want to implement new versions of public key crypto without merging them as changes to the library. One actual example of such usage is an application which creates RSA signatures using a custom TPM library. Unless you're doing something like that, you don't need anything here. Instead use pubkey.h which wraps these types safely and provides a stable application-oriented API. 4448
pk_ops_fwd.h 399
pk_ops_impl.h Get the maximum message size in bits supported by this public key. @return maximum message in bits 7335
pkcs8.cpp Get info from an EncryptedPrivateKeyInfo 14532
pkcs8.h PKCS #8 General Exception 10942
pubkey.cpp These values are chosen by the application and for TLS are constants, so this early failure via assert is fine since we know 0,1 < 48 If there is a protocol that has content checks on the key where the expected offsets are controllable by the attacker this could still leak. Alternately could always reduce the offset modulo the length? 12705
pubkey.h Public Key Encryptor This is the primary interface for public key encryption 27455
rfc6979
rsa
sm2
workfactor.cpp This uses a slightly tweaked version of the standard work factor function above. It assumes k is 1 (thus overestimating the strength of the prime group by 5-6 bits), and always returns at least 128 bits (this only matters for very small primes). 1619
workfactor.h Estimate work factor for discrete logarithm @param prime_group_size size of the group in bits @return estimated security level for this group 1569
x509_key.cpp PEM encode a X.509 public key 2209
x509_key.h The two types of X509 encoding supported by Botan. This enum is not used anymore, and will be removed in a future major release. 1827
xmss