aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Remove support for provider identifiers from SCAN_Name - it turns out thislloyd2008-11-1212-211/+270
| | | | | | | | | | | | was not the right place to keep track of this information. Also modify all Algorithm_Factory constructor functions to take instead of a SCAN_Name a pair of std::strings - the SCAN name and an optional provider name. If a provider is specified, either that provider will be used or the request will fail. Otherwise, the library will attempt best effort, based on user-set algorithm implementation settings (combine with benchmark.h for choosing the fastest implementation at runtime) or if not set, a static ordering (preset in static_provider_weight in prov_weight.cpp, though it would be nice to make this easier to toggle).
* Remove last uses of lookup.h in CMS codelloyd2008-11-112-18/+31
|
* Remove some uses of lookup.h from CMS codelloyd2008-11-112-4/+9
|
* Mention an idea for wall clock sync in Hardware_Timerlloyd2008-11-111-0/+6
|
* Process engines in order of addition instead of backwardslloyd2008-11-111-3/+5
|
* Change self tests to not use lookup (instead passes_self_tests takes anlloyd2008-11-112-101/+121
| | | | Algorithm_Factory)
* Add constructors to MAC_Filter taking a MAC object pointer instead oflloyd2008-11-111-0/+31
| | | | a name.
* Drop use of entropy estimation in Randpool for the same reason as HMAC_RNG.lloyd2008-11-115-147/+20
| | | | | | As with HMAC_RNG, instead assume one bit of conditional entropy per byte of polled material. Since they are no longer used, drop the entropy estimation routines entirely.
* Move utils/{timer,mutex} to toplevellloyd2008-11-1127-0/+0
|
* Rename timers.h to timer.hlloyd2008-11-119-9/+9
|
* Remove pk_lookup - half of it (look_pk.{cpp,h}) depended on libstate directly,lloyd2008-11-1117-35/+11
| | | | | the other half was relied upon by pubkey. Move the contents into those two modules. Update deps.
* Include libstate.h in botan.h, since it is pretty vital at this point tolloyd2008-11-111-0/+1
| | | | | be able to get the global_state so as to get a reference to the Algorithm_Factory
* Wrap at 80 columnslloyd2008-11-115-7/+18
|
* Add a runtime benchmarking system (for ciphers/hash/MACs)lloyd2008-11-113-0/+232
|
* Make a change in how providers are requiested in Algorithm_Factory tolloyd2008-11-111-8/+24
| | | | | | | | | | | | | | | the engines. Unfortunately right now Botan doesn't understand that a construction like HMAC, while the basic HMAC class lives only in core, can use any of a variety of implementations as the underlying algorithm. The previous version got this completely wrong (basically the first time a particular HMAC was requested, one hash provider would be chosen at random). Now instead we always use the same subprovider. This means HMAC(SHA-1) won't see a speedup even if there is an asm version available (similarly, CMAC(AES) wouldn't see a speedup with OpenSSL's AES or an engine that provided AES using VIA's or Intel's extensions). Certainly a major deficiency, but I haven't worked out how to fix it yet.
* Move most of the remaining libstate code to pk_engine.cpp, move engineslloyd2008-11-1151-284/+128
| | | | | back to the toplevel since most othe dependencies have been removed now (except get_cipher which still needs changes)
* Use cache in Algorithm_Factory for cipherslloyd2008-11-113-129/+124
|
* Throw an exception if SCAN name is malformed or emptylloyd2008-11-111-0/+3
|
* Fix algo_cache to track aliases, all tests passlloyd2008-11-112-31/+27
|
* Remove support for multiple providers in SCAN_Name, mostly because Illoyd2008-11-112-32/+19
| | | | couldn't really figure out how the semantics should work.
* Add a new cache at the level of Algorithm_Factory. Intent is to replacelloyd2008-11-114-1/+149
| | | | | | | the caches included in the Engines, allowing faster search/query along and making the Engine implementations mostly or entirely stateless, also removing the need for a two-phase initialization there. Stil buggy + incomplete.
* Make Engine::find_XYZ publiclloyd2008-11-111-15/+17
|
* Remove needless include of libstate.h from init.hlloyd2008-11-111-1/+2
|
* Split asm_engine into three engines (ia32, amd64, sse2). This allowslloyd2008-11-1114-71/+202
| | | | them to be individually requested as providers on lookup.
* Make SCAN_Name::arg return a new SCAN_Name that has the same providers list,lloyd2008-11-115-30/+49
| | | | this allows provider preferences to be passed down to sub-algorithms.
* Switch to Algorithm_Factory in PBES2lloyd2008-11-113-114/+129
|
* Remove global state dependency from pbes1lloyd2008-11-113-38/+94
|
* Bubble up use of global algo factory out of DSA parameter gen to DL_Grouplloyd2008-11-113-6/+14
|
* Update Library_State for new Algorithm_Factory constructorlloyd2008-11-111-1/+1
|
* Remove pk testing policies (now static)lloyd2008-11-111-4/+0
|
* Remove a global_state() dependency on Engine without breaking Monotonelloyd2008-11-114-15/+19
| | | | via two-stage initialization.
* Make the level of key consistency checking performed be a build constantlloyd2008-11-112-19/+8
| | | | instead of runtime configurable.
* Add a function to query algorithm providerslloyd2008-11-112-0/+27
|
* Fix destructorlloyd2008-11-111-1/+1
|
* After finding myself typing global_state().algorithm_factory() insteadlloyd2008-11-112-10/+11
| | | | | of algo_factory() several times, I decided to rename the functions. algorithm_factory() just forwards to algo_factory as an inline.
* Add back default empty arguments to LibraryInitializerlloyd2008-11-112-3/+3
| | | | Set default thread safety to false
* Move Algorithm_Factory from libstate (which it did not depend on) to ↵lloyd2008-11-114-3/+16
| | | | algo_factory/
* Drop look_add.h and the freestanding add_algorithm functionslloyd2008-11-113-66/+0
|
* Change LibraryInitializer back to accepting a std::string for backwardslloyd2008-11-113-5/+35
| | | | compatability.
* Fix leak in Luby-Rackoff lookup (got new object instead of prototype as ↵lloyd2008-11-111-2/+1
| | | | intented)
* Remove unused include of <memory>lloyd2008-11-111-1/+0
|
* New function name in SCAN_Namelloyd2008-11-111-1/+1
|
* Remove lookup.h use from DLIES, PK key agreement, DSA param gen, get_enc.cpplloyd2008-11-1111-60/+87
|
* Remove lookup dep from basic pubkey classeslloyd2008-11-104-47/+32
|
* Add back Library_State::add_engine for Monotonelloyd2008-11-102-0/+10
|
* Shorten SCAN_Name's argument arg in function nameslloyd2008-11-108-40/+40
|
* Move get_bc_pad to def_engine/def_mode.cpplloyd2008-11-105-85/+66
| | | | Compilation fix in arc4_openssl.cpp
* Add constructor to StreamCipher_Filter taking StreamCipher*lloyd2008-11-102-0/+15
|
* Make cipher mode padder non-const in ECB and CBClloyd2008-11-103-14/+14
|
* Drop all options except thread safety. Also remove InitializerOptions, etclloyd2008-11-106-229/+30
| | | | | | | | | | | | | | | and reduce all the arguments to just a bool specifying threads. selftests: off (if desired, run passes_self_test in selftest.h) fips140: Just ran the self tests, totally bogus option. use_engine: On by default (that is, if OpenSSL or asm code is compiled in, it's used by default). One can get better control over this using the provider feature of SCAN_Name (though this doesn't handle cases like nested algorithms yet). secure_memory: On by default.