8 #include <botan/internal/core_engine.h>     9 #include <botan/scan_name.h>    10 #include <botan/algo_factory.h>    12 #if defined(BOTAN_HAS_AES)    13   #include <botan/aes.h>    16 #if defined(BOTAN_HAS_BLOWFISH)    17   #include <botan/blowfish.h>    20 #if defined(BOTAN_HAS_CAMELLIA)    21   #include <botan/camellia.h>    24 #if defined(BOTAN_HAS_CAST)    25   #include <botan/cast128.h>    26   #include <botan/cast256.h>    29 #if defined(BOTAN_HAS_CASCADE)    30   #include <botan/cascade.h>    33 #if defined(BOTAN_HAS_DES)    34   #include <botan/des.h>    35   #include <botan/desx.h>    38 #if defined(BOTAN_HAS_GOST_28147_89)    39   #include <botan/gost_28147.h>    42 #if defined(BOTAN_HAS_IDEA)    43   #include <botan/idea.h>    46 #if defined(BOTAN_HAS_KASUMI)    47   #include <botan/kasumi.h>    50 #if defined(BOTAN_HAS_LION)    51   #include <botan/lion.h>    54 #if defined(BOTAN_HAS_LUBY_RACKOFF)    55   #include <botan/lubyrack.h>    58 #if defined(BOTAN_HAS_MARS)    59   #include <botan/mars.h>    62 #if defined(BOTAN_HAS_MISTY1)    63   #include <botan/misty1.h>    66 #if defined(BOTAN_HAS_NOEKEON)    67   #include <botan/noekeon.h>    70 #if defined(BOTAN_HAS_RC2)    71   #include <botan/rc2.h>    74 #if defined(BOTAN_HAS_RC5)    75   #include <botan/rc5.h>    78 #if defined(BOTAN_HAS_RC6)    79   #include <botan/rc6.h>    82 #if defined(BOTAN_HAS_SAFER)    83   #include <botan/safer_sk.h>    86 #if defined(BOTAN_HAS_SEED)    87   #include <botan/seed.h>    90 #if defined(BOTAN_HAS_SERPENT)    91   #include <botan/serpent.h>    94 #if defined(BOTAN_HAS_SKIPJACK)    95   #include <botan/skipjack.h>    98 #if defined(BOTAN_HAS_SQUARE)    99   #include <botan/square.h>   102 #if defined(BOTAN_HAS_TEA)   103   #include <botan/tea.h>   106 #if defined(BOTAN_HAS_TWOFISH)   107   #include <botan/twofish.h>   110 #if defined(BOTAN_HAS_XTEA)   111   #include <botan/xtea.h>   123 #if defined(BOTAN_HAS_AES)   132 #if defined(BOTAN_HAS_BLOWFISH)   137 #if defined(BOTAN_HAS_CAMELLIA)   138    if(request.
algo_name() == 
"Camellia-128")
   140    if(request.
algo_name() == 
"Camellia-192")
   142    if(request.
algo_name() == 
"Camellia-256")
   146 #if defined(BOTAN_HAS_CAST)   153 #if defined(BOTAN_HAS_DES)   162 #if defined(BOTAN_HAS_GOST_28147_89)   163    if(request.
algo_name() == 
"GOST-28147-89")
   167 #if defined(BOTAN_HAS_IDEA)   172 #if defined(BOTAN_HAS_KASUMI)   177 #if defined(BOTAN_HAS_MARS)   182 #if defined(BOTAN_HAS_MISTY1)   187 #if defined(BOTAN_HAS_NOEKEON)   192 #if defined(BOTAN_HAS_RC2)   197 #if defined(BOTAN_HAS_RC5)   202 #if defined(BOTAN_HAS_RC6)   207 #if defined(BOTAN_HAS_SAFER)   212 #if defined(BOTAN_HAS_SEED)   217 #if defined(BOTAN_HAS_SERPENT)   222 #if defined(BOTAN_HAS_SKIPJACK)   227 #if defined(BOTAN_HAS_SQUARE)   232 #if defined(BOTAN_HAS_TEA)   237 #if defined(BOTAN_HAS_TWOFISH)   242 #if defined(BOTAN_HAS_XTEA)   247 #if defined(BOTAN_HAS_LUBY_RACKOFF)   257 #if defined(BOTAN_HAS_CASCADE)   268 #if defined(BOTAN_HAS_LION)   279       if(!hash || !stream_cipher)
   282       return new Lion(hash->
clone(), stream_cipher->
clone(), block_size);
 
size_t arg_as_integer(size_t i, size_t def_value) const
virtual BlockCipher * clone() const =0
const BlockCipher * prototype_block_cipher(const std::string &algo_spec, const std::string &provider="")
virtual HashFunction * clone() const =0
const HashFunction * prototype_hash_function(const std::string &algo_spec, const std::string &provider="")
std::string arg(size_t i) const
virtual StreamCipher * clone() const =0
bool arg_count_between(size_t lower, size_t upper) const
BlockCipher * find_block_cipher(const SCAN_Name &, Algorithm_Factory &) const
std::string algo_name() const
const StreamCipher * prototype_stream_cipher(const std::string &algo_spec, const std::string &provider="")