aboutsummaryrefslogtreecommitdiffstats
path: root/checks
Commit message (Collapse)AuthorAgeFilesLines
* Expose use of global state in some of the lookup functions, includinglloyd2008-09-291-2/+3
| | | | get_cipher
* Compliation fixeslloyd2008-09-282-7/+6
|
* Modularize the public key algorithms, though currently a great deal oflloyd2008-09-283-52/+165
| | | | | | the underlying implementation goop remains in the core library instead of being shunted off, due to various dependencies it has (most of which it shouldn't).
* Allow test suite to build even if RNG or DLIES is missinglloyd2008-09-282-4/+22
|
* Create an x509 module containing all of the X509 certificate and CAlloyd2008-09-281-37/+50
| | | | code as well as the code for handling PKCS #10 requests.
* Modularize hashes and checksumslloyd2008-09-281-1/+1
|
* Modularize the Adler32 checksum in checksums/adler32lloyd2008-09-281-6/+6
| | | | | | | | | Add a new option --disable-modules which allows for disabling any set of modules that normally would be autoloaded. Rename the Botan feature test macros from BOTAN_EXT_BLAH to BOTAN_HAS_BLAH, which will be much more sensible especially when everything is done in this fashion (eg, BOTAN_HAS_BLOWFISH or BOTAN_HAS_RSA, etc)
* Add back from Ajisai 0.5.0 the implementations of the SSLv3 MAC and PRFlloyd2008-09-271-0/+240
| | | | | | | | | | | and the TLS v1.0 PRF. These were removed from Botan in v1.4.5. Initially I had felt that since these protocols were specific to SSL/TLS they should be placed in Ajisai (an SSL/TLS library based on Botan). However upon further reflection I have realized it is quite possible that other alternate implementations of SSL/TLS based on Botan would be quite desirable, and so to make that (a very slightly bit) easier I am adding back the SSL/TLS functions to Botan, so other SSL/TLS libs can use them directly.
* Use --init arg, was disabled at some point earlierlloyd2008-09-161-1/+1
|
* Time RSA key generation againlloyd2008-09-151-1/+5
|
* Clean up creation of RNG objectslloyd2008-09-151-9/+8
|
* Explicit cast from double to int using static_castlloyd2008-09-151-1/+1
|
* Oops disable part of previous, was for testinglloyd2008-09-141-1/+7
|
* Only randomize inputs every 100 runs to minimize overhead (makes profiling ↵lloyd2008-09-141-31/+40
| | | | easier)
* Split RSA and RW benchmarks. Benchmark RSA encryption and signatures.lloyd2008-09-141-16/+87
|
* Don't allow zero second benchmarkslloyd2008-09-141-1/+1
|
* Increase default benchmark time to 5s... 1.5 seconds (old value) is toolloyd2008-09-141-2/+2
| | | | | low, can be easily thrown off by random background activity, especially on uniprocessor machines
* Padding changes in the PK benchmarks:lloyd2008-09-121-3/+3
| | | | | | RSA: EMSA4(SHA-1) -> EMSA1(SHA-1) RW: EMSA4(SHA-1) -> EMSA2(SHA-1) ELG: Raw -> EME1(SHA-1)
* In the benchmarks, replace Lion(MD5,WiderWake4+1-BE,65536) with1.7.11lloyd2008-09-111-4/+8
| | | | | Lion(SHA-256,Turing,8192) and replace Luby-Rackoff(SHA-1) with Luby-Rackoff(SHA-512)
* Handle configuration of what kind of clock to use for benchmarking.lloyd2008-09-111-4/+39
| | | | | | Linux defaults to clock_gettime, FreeBSD defaults to gettimeofday, everything else defaults to clock (though it is easy to a timer on with -DUSE_<CLOCK_NAME>=1, eg -DUSE_GETTIMEOFDAY=1 or -DUSE_TIMES=1
* Add implementation of Salsa20 stream cipherlloyd2008-09-092-0/+281
|
* Fix --bench-typelloyd2008-09-091-10/+17
|
* Add --test to OptionParser listlloyd2008-09-081-1/+1
|
* Last checkin would crash, because the destructor for the rng would notlloyd2008-09-081-60/+55
| | | | | | | | run until after the block ended, which was after set_global_state(0) had run, causing crashes in the destructors that attempted to free memory. Restructure the argument handling, it is significantly easier to understand now. Only create the rng where it is needed.
* Run test_types every time prior to initialization, instead of just duringlloyd2008-09-081-58/+66
| | | | | | | the test suite. Instead of exiting, just carry on; the full test suite will check if the problem is real or if std::numeric_limits is just wonky.
* Disable extensive testing during benchmark key generation: throws off profilerlloyd2008-09-071-0/+3
|
* Reduce how often DSA and DH keys are generated during benchmarkslloyd2008-09-071-2/+2
|
* Tweak timer outputlloyd2008-09-071-2/+2
|
* Flush stdout after every new resultlloyd2008-09-071-1/+1
|
* Choice of clock_gettime, gettimeofday, times, and clock for benchmark timingslloyd2008-09-052-8/+47
|
* Use the Timer class for all benchmarkinglloyd2008-09-059-131/+91
|
* New DH benchmark, much more reflective of real usage as well.lloyd2008-09-051-114/+64
|
* Delete dead code. New shared benchmark framework for RSA/RW. RSA benchmarklloyd2008-09-021-250/+155
| | | | now uses signing instead of encryption.
* Inline some methods of Timerlloyd2008-08-3112-258/+26
| | | | Randomly generate the RW keys as well, removing all need for the keys/ dir
* Rewrite the RSA and DSA benchmarks to be much more readable and flexible,lloyd2008-08-311-51/+158
| | | | also now reporting key generation and (for DSA) parameter generation times.
* Add a simple timer classlloyd2008-08-312-0/+138
|
* Benchmark change: Skip RSA 1536, DH 1536. Add DSA 2048/256 and 3072/256, RSA ↵lloyd2008-08-301-6/+16
| | | | 8192, DH 8192
* Add the block cipher Noekeon (http://gro.noekeon.org/). Only "indirect mode"lloyd2008-07-112-1/+13
| | | | keying is supported (see section 2.3 of the specification for details)
* Add interfaces for add_entropy_source and add_entropy tolloyd2008-06-281-10/+8
| | | | | | | | | | | RandomNumberGenerator, and make ANSI_X931_PRNG's implementations just forward the arguments to the underlying RNG. This allows seeding the RNG even if no entropy modules are loaded into the library. Also it allows actually adding user-specified data; to do it otherwise would require creating the RNG objects yourself and retaining a pointer to the Randpool, which is pretty bogus. Move Null_RNG to rng.h
* Default to using clock(), not rdtsc1.7.7lloyd2008-06-281-2/+2
|
* Delete the self-test global RNG: just create one in main() and pass itlloyd2008-06-286-57/+56
| | | | where it is needed.
* Remove most of the direct references to the global_rng() calllloyd2008-06-287-114/+137
|
* Change make_rng to be a static member of RandomNumberGeneratorlloyd2008-06-281-1/+1
|
* New structure for entropy sources + RNGs. The entropy sources are owned bylloyd2008-06-272-22/+15
| | | | | | | Randpool, it will query them as needed (or if asked to do so). New function make_rng() that creates an RNG (X9.31 backed by a Randpool) and seeds it. Remove the entropy source related code from the Modules/Builtin_Modules classes.
* Remove uses of global PRNG from self-test and benchmark code. Assumeslloyd2008-06-279-39/+59
| | | | access to /dev/random (will be cleaned up shortly)
* Remove load checking, as it requires an RNG (at least at the moment).lloyd2008-06-272-24/+34
| | | | | | | | | Probably some variation of it will be added back in later, at least to do basic checks like that primes are really odd (and we can do basic primality checks, etc, even with an RNG). Alternative: call check_key() manually on public keys you load with an RNG object.
* Similiar combining transform for the ElGamal, DSA, and NR private keylloyd2008-06-203-14/+17
| | | | constructors.
* Consolidate the two DH_PrivateKey constructors into a single one takinglloyd2008-06-202-14/+20
| | | | | a RNG reference, a group, and an (optional) private key. The public key is now always rederived from the private.
* Use RNG& argument for PKCS8::encrypt_key and PKCS8::PEM_encodelloyd2008-06-201-5/+6
|
* Convert pkcs8_decoder() and x509_decoder() to take a RandomNumberGenerator&lloyd2008-06-203-6/+12
| | | | | | | | reference, along with PKCS8::load_key get_pbe no longer calls new_params() on the newly instantiated instance, which is not backwards compatible (you have to either call new_params yourself, or explicitly set the iteration count, salt, etc)