aboutsummaryrefslogtreecommitdiffstats
path: root/checks
Commit message (Collapse)AuthorAgeFilesLines
* 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)
* Fix remaining -Wmissing-declarations warnings in self-test/benchmark codelloyd2008-06-204-135/+129
|
* Fix more -Wmissing-declaration warningslloyd2008-06-184-10/+22
|
* Fix -Wmissing-declarations warninglloyd2008-06-161-40/+43
|
* Fix some -Wmissing-declarations warningslloyd2008-06-128-9/+43
|
* X509_CA::{new_crl,update_crl} take a RandomNumberGenerator referencelloyd2008-06-111-2/+2
|
* X509::create_cert_req and X509::create_self_signed_cert take an RNG reflloyd2008-06-111-3/+9
|
* Modify X509_CA::make_cert and X509_CA::sign_request to take a RNG referencelloyd2008-06-111-7/+8
| | | | argument in favor of referencing the global PRNG argument
* Change PK_Signer::signature to take a RandomNumberGenerator referencelloyd2008-06-102-21/+5
| | | | instead of always using the global PRNG.
* PK_Encryptor::encrypt now takes a RandomNumberGenerator reference, insteadlloyd2008-06-102-14/+7
| | | | of using the global RNG object.
* Make the contents of Botan_types namespace be just using declarations,lloyd2008-06-071-1/+1
| | | | instead of introducing new typedefs.
* Add a full set of tests for the ANSI X9.31 PRNG, using data takenlloyd2008-06-078-53/+2158
| | | | | | | | from the NIST CAVS dataset, taken on June 7 2008 from http://csrc.nist.gov/groups/STM/cavp/standards.html AES-128, AES-192, AES-256, and 2 and 3-key TripleDES variants are all tested.
* Make the two parameters of Randpool (which underlying block cipher and MAClloyd2008-05-252-5/+13
| | | | to use) explicit arguments to the constructor instead of being hardcoded.
* Avoid using the global RNG in check_key, instead pass a reference.lloyd2008-05-241-10/+10
| | | | Update the examples
* Previously random_integer and friends used the global PRNG object to getlloyd2008-05-245-18/+28
| | | | | | | | | | | | | random bits. Now they take a reference to a RandomNumberGenerator object. This was applied several times out, so now the constructors to private key objects also take a RandomNumberGenerator& argument. This is also true for a number of randomized algorithms (Miller-Rabin, for instance). You can get a reference to the global PRNG with global_state().prng_reference() This is a provisional thing: and warning: it is not thread safe! If this is a problem instead keep per-thread PRNGs and pass them were needed.
* propagate from branch 'net.randombit.botan' (head ↵lloyd2008-04-216-20/+20
|\ | | | | | | | | | | 51f9ee5180a5cacdfff31504266e883b7bb0eb00) to branch 'net.randombit.botan.remove-libstate' (head 636b767b9686261418b1cb45a6271edeef87501b)
| * propagate from branch 'net.randombit.botan' (head ↵lloyd2008-04-106-20/+20
| |\ | | | | | | | | | | | | | | | 6afe2db1f710f75bc27e189bb8bdb23613ce1ca3) to branch 'net.randombit.botan.remove-libstate' (head e40f0dbdfd847024c30fa0092c2acefc19a550b8)
| | * Remove the Global_RNG namespace, along with rng.h and rng.cpp. This waslloyd2008-04-076-20/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | essentially a facade for the RNG object living in the global library state. Rewrite all callers to directly invoke the global state object: this makes it more clear what functions are actually accessing mutable state outside of the normal reference graph (and thus, which functions will have to be altered in order to remove this dependency). Other facades remain in place for the configuration object and the memory allocator factory.
* | | Update Fixed_Output_RNG (used for testing) to implement is_seededlloyd2008-04-211-0/+2
|/ /
* / Change the interface of X509_CA::sign_request as follows:lloyd2008-04-101-2/+7
|/ | | | | | | | | | | - The allow_ca policy value is no longer checked. Callers should check if the request is for a CA cert and treat it accordingly; this makes it simpler to to case-by-case decisions (expecially among multiple threads) - Instead of a single time value, a u32bit representing the number of seconds from now the certificate should expire, the start and end times are passed explicitly as two X509_Time values.
* Fix pk_bench.cpp compilation (remove a stray try statement)lloyd2008-01-171-3/+2
|
* merge of '3d9e9476c5b2a2ee125eee7e0dd10bfe460d0546'lloyd2007-12-2418-342/+364
|\ | | | | | | and '9fe0310805932b889bdfa17c9213f2b97d47ab6a'
| * Replace C-style casts with static_cast (found by GCC's -Wold-style-cast)lloyd2007-11-172-6/+5
| |
| * Add base64 encoding and decoding to the set of benchmarked filterslloyd2007-11-161-0/+3
| |
| * Revert the change that renamed append() to push_back(). As pointed outlloyd2007-11-151-1/+1
| | | | | | | | | | | | by Joel Low on the mailing list, the STL container types have only a single version of push_back(), along with variations of insert() for handling range-based appending.
| * Rename MemoryRegion::append to push_backlloyd2007-11-141-1/+1
| | | | | | | | Change all callers in the library and self-test code.
| * Prevent lines > 80 columnslloyd2007-11-111-1/+1
| |
| * Wrap lines in pk_bench and passhash to keep them under 80 columns.lloyd2007-10-191-3/+4
| |
| * Remove several uses of old style C casts in favor of C++98's static_cast and lloyd2007-10-193-7/+14
| | | | | | | | reinterpret_cast
| * Increase the (arbitrary) upper bound on how long the benchmarks can run tolloyd2007-09-181-1/+1
| | | | | | | | 5 minutes (300 seconds).
| * Add CBC-MAC(AES) tests that use longer inputslloyd2007-09-171-1/+85
| |
| * Check in an initial implementation of CBC-MAC.lloyd2007-09-161-136/+136
| | | | | | | | | | | | | | The test vectors were generated by Crypto++ 5.5 on a Linux/x86-64 machine. Test vectors for CBC-MAC(DES) all pass, for inputs up to 63 bytes. For CBC-MAC(AES-128), all test vectors with inputs over 10 bytes fail to verify against what Crypto++ produces. Unknown at this time where the bug lies.
| * Cleanup the public key benchmark code: avoid macros, use PEM/PKCSlloyd2007-09-1311-190/+119
| | | | | | | | | | | | | | | | | | #8 format to store Rabin-Williams keys, inline small functions that are only called once into their caller. Reduces overall length of the file from 458 to 367 lines. Rename all the key files in keys/ to use a .pem suffix since they are all now in PEM format (the RSA keys had been for a long time but were never renamed).
| * Remove code checking the BOTAN_NO_ macros for if particular public keylloyd2007-09-132-69/+9
| | | | | | | | | | algorithms exist. They haven't been used since the 'minimal' module was removed in Botan 1.3.14
| * Comment out the CBC-MAC test vectors for now since they cause warningslloyd2007-09-131-136/+136
| | | | | | | | about unknown algorithm names.
* | Remove the BOTAN_NO_ macroslloyd2007-09-132-69/+9
| |
* | Comment out the CBC-MAC test vectors since the algorithm has not beenlloyd2007-09-071-136/+136
|/ | | | implemented yet and warnings result when running the validation suite.