Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Remove support for provider identifiers from SCAN_Name - it turns out this | lloyd | 2008-11-12 | 12 | -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 code | lloyd | 2008-11-11 | 2 | -18/+31 |
| | |||||
* | Remove some uses of lookup.h from CMS code | lloyd | 2008-11-11 | 2 | -4/+9 |
| | |||||
* | Mention an idea for wall clock sync in Hardware_Timer | lloyd | 2008-11-11 | 1 | -0/+6 |
| | |||||
* | Process engines in order of addition instead of backwards | lloyd | 2008-11-11 | 1 | -3/+5 |
| | |||||
* | Change self tests to not use lookup (instead passes_self_tests takes an | lloyd | 2008-11-11 | 2 | -101/+121 |
| | | | | Algorithm_Factory) | ||||
* | Add constructors to MAC_Filter taking a MAC object pointer instead of | lloyd | 2008-11-11 | 1 | -0/+31 |
| | | | | a name. | ||||
* | Drop use of entropy estimation in Randpool for the same reason as HMAC_RNG. | lloyd | 2008-11-11 | 5 | -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 toplevel | lloyd | 2008-11-11 | 27 | -0/+0 |
| | |||||
* | Rename timers.h to timer.h | lloyd | 2008-11-11 | 9 | -9/+9 |
| | |||||
* | Remove pk_lookup - half of it (look_pk.{cpp,h}) depended on libstate directly, | lloyd | 2008-11-11 | 17 | -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 to | lloyd | 2008-11-11 | 1 | -0/+1 |
| | | | | | be able to get the global_state so as to get a reference to the Algorithm_Factory | ||||
* | Wrap at 80 columns | lloyd | 2008-11-11 | 5 | -7/+18 |
| | |||||
* | Add a runtime benchmarking system (for ciphers/hash/MACs) | lloyd | 2008-11-11 | 3 | -0/+232 |
| | |||||
* | Make a change in how providers are requiested in Algorithm_Factory to | lloyd | 2008-11-11 | 1 | -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 engines | lloyd | 2008-11-11 | 51 | -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 ciphers | lloyd | 2008-11-11 | 3 | -129/+124 |
| | |||||
* | Throw an exception if SCAN name is malformed or empty | lloyd | 2008-11-11 | 1 | -0/+3 |
| | |||||
* | Fix algo_cache to track aliases, all tests pass | lloyd | 2008-11-11 | 2 | -31/+27 |
| | |||||
* | Remove support for multiple providers in SCAN_Name, mostly because I | lloyd | 2008-11-11 | 2 | -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 replace | lloyd | 2008-11-11 | 4 | -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 public | lloyd | 2008-11-11 | 1 | -15/+17 |
| | |||||
* | Remove needless include of libstate.h from init.h | lloyd | 2008-11-11 | 1 | -1/+2 |
| | |||||
* | Split asm_engine into three engines (ia32, amd64, sse2). This allows | lloyd | 2008-11-11 | 14 | -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, | lloyd | 2008-11-11 | 5 | -30/+49 |
| | | | | this allows provider preferences to be passed down to sub-algorithms. | ||||
* | Switch to Algorithm_Factory in PBES2 | lloyd | 2008-11-11 | 3 | -114/+129 |
| | |||||
* | Remove global state dependency from pbes1 | lloyd | 2008-11-11 | 3 | -38/+94 |
| | |||||
* | Bubble up use of global algo factory out of DSA parameter gen to DL_Group | lloyd | 2008-11-11 | 3 | -6/+14 |
| | |||||
* | Update Library_State for new Algorithm_Factory constructor | lloyd | 2008-11-11 | 1 | -1/+1 |
| | |||||
* | Remove pk testing policies (now static) | lloyd | 2008-11-11 | 1 | -4/+0 |
| | |||||
* | Remove a global_state() dependency on Engine without breaking Monotone | lloyd | 2008-11-11 | 4 | -15/+19 |
| | | | | via two-stage initialization. | ||||
* | Make the level of key consistency checking performed be a build constant | lloyd | 2008-11-11 | 2 | -19/+8 |
| | | | | instead of runtime configurable. | ||||
* | Add a function to query algorithm providers | lloyd | 2008-11-11 | 2 | -0/+27 |
| | |||||
* | Fix destructor | lloyd | 2008-11-11 | 1 | -1/+1 |
| | |||||
* | After finding myself typing global_state().algorithm_factory() instead | lloyd | 2008-11-11 | 2 | -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 LibraryInitializer | lloyd | 2008-11-11 | 2 | -3/+3 |
| | | | | Set default thread safety to false | ||||
* | Move Algorithm_Factory from libstate (which it did not depend on) to ↵ | lloyd | 2008-11-11 | 4 | -3/+16 |
| | | | | algo_factory/ | ||||
* | Drop look_add.h and the freestanding add_algorithm functions | lloyd | 2008-11-11 | 3 | -66/+0 |
| | |||||
* | Change LibraryInitializer back to accepting a std::string for backwards | lloyd | 2008-11-11 | 3 | -5/+35 |
| | | | | compatability. | ||||
* | Fix leak in Luby-Rackoff lookup (got new object instead of prototype as ↵ | lloyd | 2008-11-11 | 1 | -2/+1 |
| | | | | intented) | ||||
* | Remove unused include of <memory> | lloyd | 2008-11-11 | 1 | -1/+0 |
| | |||||
* | New function name in SCAN_Name | lloyd | 2008-11-11 | 1 | -1/+1 |
| | |||||
* | Remove lookup.h use from DLIES, PK key agreement, DSA param gen, get_enc.cpp | lloyd | 2008-11-11 | 11 | -60/+87 |
| | |||||
* | Remove lookup dep from basic pubkey classes | lloyd | 2008-11-10 | 4 | -47/+32 |
| | |||||
* | Add back Library_State::add_engine for Monotone | lloyd | 2008-11-10 | 2 | -0/+10 |
| | |||||
* | Shorten SCAN_Name's argument arg in function names | lloyd | 2008-11-10 | 8 | -40/+40 |
| | |||||
* | Move get_bc_pad to def_engine/def_mode.cpp | lloyd | 2008-11-10 | 5 | -85/+66 |
| | | | | Compilation fix in arc4_openssl.cpp | ||||
* | Add constructor to StreamCipher_Filter taking StreamCipher* | lloyd | 2008-11-10 | 2 | -0/+15 |
| | |||||
* | Make cipher mode padder non-const in ECB and CBC | lloyd | 2008-11-10 | 3 | -14/+14 |
| | |||||
* | Drop all options except thread safety. Also remove InitializerOptions, etc | lloyd | 2008-11-10 | 6 | -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. |