Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | 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. | ||||
* | Remove Modules class from the initializer code - it just wasn't that useful | lloyd | 2008-11-10 | 7 | -229/+77 |
| | | | | as an abstraction. Check #ifdef's for engines and such directly in libstate.cpp | ||||
* | Move x86 Serpent to the asm engine module. | lloyd | 2008-11-10 | 8 | -73/+55 |
| | | | | Move OpenSSL's RC4 back into a single file again. | ||||
* | Use Algorithm_Factory instead of lookup in Default_Engine block cipher | lloyd | 2008-11-10 | 3 | -13/+10 |
| | | | | and mac tables | ||||
* | Move block and stream ciphers also into Algorithm_Factory | lloyd | 2008-11-10 | 12 | -210/+293 |
| | |||||
* | Make SCAN_Name::arg_count_between const | lloyd | 2008-11-10 | 1 | -1/+1 |
| | |||||
* | Move MACs also to Algorithm_Factory | lloyd | 2008-11-10 | 7 | -75/+139 |
| | |||||
* | Split PK stuff from engine.cpp to pk_engine.cpp | lloyd | 2008-11-10 | 3 | -173/+189 |
| | |||||
* | Move add_algorithm for hashes also to Algorithm_Factory | lloyd | 2008-11-10 | 3 | -22/+27 |
| | |||||
* | Remove printfs | lloyd | 2008-11-10 | 1 | -5/+0 |
| | |||||
* | Split the assembly implementations of the hash functions into asm_engine. | lloyd | 2008-11-10 | 6 | -39/+125 |
| | | | | | | This still is not an ideal split, since for SHA-1 we have both SSE2 and x86/x86-64 asm. Currently we continue to punt to SSE2 if enabled, otherwise asm, since the SSE2 seems to be the fastest thing going in my tests so far. | ||||
* | Have Algorithm_Factory::make_hash_function throw an exception if it can't | lloyd | 2008-11-10 | 6 | -14/+27 |
| | | | | | | find an object to clone. Add a new constructor to Hash_Filter taking a HashFunction* | ||||
* | Use Algorithm_Factory and SCAN_Name for all hash lookups. Modify engines | lloyd | 2008-11-10 | 11 | -76/+129 |
| | | | | accordingly. | ||||
* | Fix parsing of nested + aliased names like TLS.Digest.0 in SCAN_Name | lloyd | 2008-11-10 | 1 | -3/+31 |
| | |||||
* | In SCAN_Name, keep track of the original inputs and make them accessible | lloyd | 2008-11-10 | 2 | -0/+6 |
| | |||||
* | Add a class Algorithm_Factory which encapsulates the Engine classes (and | lloyd | 2008-11-10 | 7 | -85/+160 |
| | | | | which will eventually encapsulate the lookup logic as well) | ||||
* | Reduce /dev/random poll times: 5ms for fast, 20 for slow | lloyd | 2008-11-10 | 1 | -2/+2 |
| | |||||
* | Several changes to HMAC_RNG, many on the basis of the paper | lloyd | 2008-11-10 | 1 | -27/+43 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Boaz Barak, Shai Halevi: A model and architecture for pseudo-random generation with applications to /dev/random. ACM Conference on Computer and Communications Security 2005. which I was referred to by Hugo Krawczyk. Changes include: Remove the entropy estimation. This is a major point of Barak and Halevi's paper: the entropy we want to estimate is the condtional entropy of the collected data from the point of view of an unknown attacker. Obviously this cannot be computed! Instead HMAC_RNG simply counts each byte of sampled data as one bit of estimated entropy. Increase the reseed threshold from 2^14 to 2^20 outputs, and change the fast poll during generation from once every 1024 outputs to once every 65536 outputs (though the fast poll might not trigger that often, if output lengths are very large - however this doesn't really matter much, and with the X9.31 wrapper it does kick off exactly every 2^16 outputs). The paper also has some good arguments why it is better to reseed rarely, making sure you have collected a large amount of (hopefully) unguessable state. Remove a second HMAC PRF operation which was only being done to destroy the previous K value. Considering it has a short lifetime, seems excessive (and really hurt performance). | ||||
* | The device reader constructors were being called too soon. Instead | lloyd | 2008-11-10 | 2 | -19/+40 |
| | | | | close the fds in the entropy source destructor. | ||||
* | Split pk_pad.h into eme.h and emsa.h | lloyd | 2008-11-10 | 13 | -35/+54 |
| |